ID элементов 1С в SQL таблицах... хелп... #25832


#0 by Byka
Народ кто нить знает как генериться ID в таблицах справочников в 1сИ КАК СГЕНЕРИТЬ СОБСТВЕННЫЙХелп.!
#1 by Муму после всплытия
прибавляется 1 к последнему................
#2 by mes
0 - была тема поищи в архивах.
#3 by Byka
Естественноа алгорим фйормирования ID ???
#4 by Gloom
_1sp__1SUIDCTL_GetMaxID + 1
#5 by Byka
2Gnomспасибо счас попробуюа пример есть ? работающий
#6 by Byka
2Gnom Sql запрос можно плз на вставку нового элемента в таблицу ...плзТоесть нуна затравить процедуру...
#7 by Gloom
М-да... Так меня ещё не обзывали...
#8 by Byka
Извини плз исправлюсь 2Gloom...у тебя есть ICQне понимаю ... там возвращается не числовое значение а строкаее на ед не увеличить...так как правильно зделать приведи пример плз.
#9 by 101
гы сынок LOL
#10 by Byka
может быть... а ответить можно ...
#11 by 101
10. внутренний айди элемента в адинэсе и есть в строковом представлении
#12 by Byka
Правда ???посмотри таблицу Секля 36 ричное число !!!
#13 by Gloom
Все идентификаторы хранятся в 36 системе счисления.Можно использовать такой алгоритм:Тогда следующий ID: _IdToStr(_StrToId(" 7TZ")+1) = " 7U0"
#14 by Byka
А что за функция IdToStr и _StrToIdгде она заявлена ?не понял можно поподробней...
#15 by Меланхоличный ворон
Нужна две процедуры:а) перевод из 36-ричного в BigIntб) перевод из BigInt в 36-ричное.
#16 by mes
14 это недокументрованные функцыи Одинэса
#17 by tim
ну ведь все уже тебе разжевали. Сложно у яндекса спросить _IdToStr ?Проще пацанов запаривать?
#18 by Byka
Как так IdToStr так он же в строку ... и как + 1?Есть у кого нить такая штука ?
#19 by Byka
(16,17) я не затравливаю я спрашиваюи причем тут не документрированная функция 1С ...Я про SQl спрашиваю, и как то SQl-ю на внутренний не документрированые функции все равно
#20 by mes
18 - так, я все понял. Молодой человек, ни в коем сулчае не лезьте напрямую в таблицы.
#21 by Byka
Почему ? )))
#22 by tim
прислушайся к 20!!
#23 by Byka
Если все делать нормальното все получиться...
#24 by Меланхоличный ворон
Это же элементарно (первые пара лекций по системам исчисления)Только учти, что эти процедуры только для базы, в которой нет и никогда не была поднята УРИБ (для учета УРИБ нужны дополнительные телодвижения по убиранию/добавлению кода базы - последних трех символов)CREATE FUNCTION dbo.ap_ConvertIdToBigInt  (@Id varchar)RETURNS BigInt-- Преобразуем идентификатор 1С (36 - ричный формат числа) в BigIntASBEGIN  DECLARE @SId VarChar,END---------------------------CREATE FUNCTION dbo.ap_ConvertBigIntToID  (@BInt BigInt, @Padd SmallInt = 0)RETURNS VarChar-- Преобразуем число в идентификатор 1С (36 - ричный формат числа)-- Параметр @Padd - задает, длину строки, в которую нужно выровнять полученный ID (реализуем позже)ASBEGIN  DECLARE @CurOst BigInt,      @CurFl BigInt,END---------------------------
#25 by Byka
Лазил не однократно как и многие другие... так что...
#26 by Byka
по пордробней плз... про урибда же если это центр база? ...тело движения обьяснить можно опопдробней )))
#27 by БЖ
20 - А год назад кто-то говорил ему, чтобы не лез в конфигуратор :)
#28 by SnarkHunter
В сад...
#29 by Byka
Врятли это был я... такак год назад получил с....т.
#30 by МуМу
То 0. Не слушай их , плохому научат. Лезь в таблицы и небойся ничего делать. Запускать интересные команды типа drop table и т.п. А самое главное ни в коем случае не делай бэкапы.Настоящие специалисты всегда по живому режут! :)
#31 by Byka
Впринцепе расчленить ID можно.согласен. вообщем одним словом спасибо за алгоритм.будем затачивать.
#32 by БЖ
29, а без с...та разве запрещено конфигуратор запускать?
#33 by Byka
Trunkey TABLEчтоб лог транзакций не писался
#34 by Byka
truncate
#35 by 101
32. скоро будет нельзя , а что ?
#36 by DP
сертификат
#37 by DP
дебил
#38 by Byka
Выравниватель ...RETURN @bbВозвращаемое значение функции должно быть CHAR, а не VARCHARтак как VARCHAR откинет пробелы.:)
#39 by Byka
Естественно если нет УРИБа если естьтогда отсекаем 3 пследних символаувеличиваемдлополняем и прибавляем 3 символа БД.:)
#40 by Byka
:)например1DC100 Получаем 1DC код бд 100 инкремируем 1DF прибавляем 100получаем 1DF100
#41 by SnarkHunter
Ну орел... И увеличил неверно, и вероятный дубль ID создал...
#42 by Byka
Да нет ты знаешь не создал...а подумал о других элементах...(с другим префиксом)
#43 by SnarkHunter
Префикс - это то, что впереди... А когда обмен из ПБ придет время заливать, тогда и увидишь создал дубль ИД или нет...
#44 by Byka
Я так выразился префикс(код бд в формировании ИД !)
#45 by Byka
А то что в переди это UID записи.и префиксов там никаких нет. Query Analyzer или Enterprise Manager на досуге посмотри таблички 1С.
#46 by SnarkHunter
Я тебе и сказал, что префиксов там нет...А таблички в QA и EM на досуге сам смотри, мне они в рабочее время глаза мозолят...
#47 by Byka
:)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С