|
Поле ИД в таблицах 1С
|
|||
---|---|---|---|
#18+
В ДБФ таблицы поле ИД имеет значения 1 2 3 2FS.... Как бы перевести 2FS в обычное числовое? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2008, 10:24 |
|
Поле ИД в таблицах 1С
|
|||
---|---|---|---|
#18+
Кури n-ричные системы счисления. В 1С по-моему n=32. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2008, 10:51 |
|
Поле ИД в таблицах 1С
|
|||
---|---|---|---|
#18+
СисойВ 1С по-моему n=32. Хуже - n=36 10 цыфр + 26 английских букв ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2008, 11:07 |
|
Поле ИД в таблицах 1С
|
|||
---|---|---|---|
#18+
блин я так и подумал, но были сомнения :) а у кого нить неть готового кода? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2008, 11:24 |
|
Поле ИД в таблицах 1С
|
|||
---|---|---|---|
#18+
GimTonikблин я так и подумал, но были сомнения :) а у кого нить неть готового кода? Есть в 1С, недокументированные ф-ии _IdToStr и _StrToId ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2008, 11:46 |
|
Поле ИД в таблицах 1С
|
|||
---|---|---|---|
#18+
Reder GimTonikблин я так и подумал, но были сомнения :) а у кого нить неть готового кода? Есть в 1С, недокументированные ф-ии _IdToStr и _StrToId Неее, я беру ДБФ файл, и в дельфях с ним работаю, вот думаю как бы ИД 1С преобразовать в числовое значение ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2008, 11:55 |
|
Поле ИД в таблицах 1С
|
|||
---|---|---|---|
#18+
GimTonik Reder GimTonikблин я так и подумал, но были сомнения :) а у кого нить неть готового кода? Есть в 1С, недокументированные ф-ии _IdToStr и _StrToId Неее, я беру ДБФ файл, и в дельфях с ним работаю, вот думаю как бы ИД 1С преобразовать в числовое значение В таком случае 1 раз написать функцию перевода из 10-ричного формата в 36-ричный думаю нетрудно. Подсказываю формат 36-ричный потому что в английском языке 26 букв. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2008, 12:04 |
|
Поле ИД в таблицах 1С
|
|||
---|---|---|---|
#18+
ВСЕМ спасибо нашел function _IdToStr(i: Integer): String; var s: String; var ost: Integer; var c: char; const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; begin if i>=2147483647 then Raise Exception.Create('Ожидается число < 2147483647'); if i<0 then Raise Exception.Create('Ожидается значение >=0'); s:=''; repeat ost:=i mod 36; i:=i div 36; c:=chars[ost+1]; s:=c+s; until i=0; while Length(s)<6 do begin s:=' '+s; end; Result:=s; end; /////////////////////////////////////////////////////////////////////// function _StrToId(s: String): Integer; var c: char; i: Integer; p: Integer; const chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; begin Result:=0; s:=trim(s); if Length(s)>6 then Raise Exception.Create('Ожидается строка не длиннее 6 символов: '+s); for i:=1 to Length(s) do begin c:=s ; p:=pos(c, chars)-1; if p<0 then Raise Exception.Create('Ожидается символ '+chars); Result:=Result*36; Result:=Result+p; end; if Result<0 then Raise Exception.Create('На входе слишком большое значение: '+s); end; ... |
|||
:
Нравится:
Не нравится:
|
|||
04.02.2008, 12:18 |
|
|
start [/forum/topic.php?fid=28&fpage=174&tid=1525012]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 11ms |
total: | 146ms |
0 / 0 |