Party API PartyDocImport
-
- Активный участник
- Сообщения: 239
- Зарегистрирован: 13 янв 2005, 14:30
- Используемое ПО: Lotsia PDM PLUS LT
- Откуда: Украина, Донецк
- Контактная информация:
Ничего секретного нет. Конец id это филиал плюс рабочее место.Александр писал(а): Кстати вы затронули очень интересный вопрос по формированию id что тщательно всеми скрывается по каким то таинственным соображениям.
А последний порядковый номер идентификаторов содержится в таблице cd_Sequence правда возникает вопрос кокой из SeqID нужно наращивать? Ответ прост - включил тарсировку базы и посмотрел SeqID который тебе нужен. Вот и все...
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
мне это было интересно с точки зрения своих хп, не являясь специалистом в SQL я просто забрал из верхнего адресного пространства 10.000 id и работаю с ними в своих массивах (при этом однозначно уверен что случайно не собъю какой либо из счетчиков id самой Лоции)
вообще гак они генерят id - их личное дело
но вот если бы ты мне сказал какую хп Лоции и с какими параметрами вызывать под это дело, для определенного вида объекта(типа связи и т.п.), я бы был тебе во век благодарен
ps
вообще мне не нравится что их счетчики оставляют дыры при уничтожении объектов, но с другой стороны мы с Лоцией подсчитали что id шников на все про все нам хватит минимум на 18446744073709,551616 лет работы
вот саму бы их функцию попользовать - но ведь не отдают же
вообще гак они генерят id - их личное дело
но вот если бы ты мне сказал какую хп Лоции и с какими параметрами вызывать под это дело, для определенного вида объекта(типа связи и т.п.), я бы был тебе во век благодарен

ps
вообще мне не нравится что их счетчики оставляют дыры при уничтожении объектов, но с другой стороны мы с Лоцией подсчитали что id шников на все про все нам хватит минимум на 18446744073709,551616 лет работы
вот саму бы их функцию попользовать - но ведь не отдают же

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
-
- Активный участник
- Сообщения: 239
- Зарегистрирован: 13 янв 2005, 14:30
- Используемое ПО: Lotsia PDM PLUS LT
- Откуда: Украина, Донецк
- Контактная информация:
Могу да-же круче груповое заполнение идентификаторов
при условии что таблица содержит поле с порядковым номером ind1
30 - филиал
6 - рабочее место
declare @con1 int
select @con1=count(*)+1 from #tmp_val_str_new
declare @P1 numeric(28,10)
exec archiv2.lsdbo.cd_upSequence 2004, 30006, @con1, @P1 output, 'N'
select @con1=@con1-1
select @p1=@P1-@con1
update #tmp_val_str_new set id=(@P1+ind1)*100000+30006
при условии что таблица содержит поле с порядковым номером ind1
30 - филиал
6 - рабочее место
declare @con1 int
select @con1=count(*)+1 from #tmp_val_str_new
declare @P1 numeric(28,10)
exec archiv2.lsdbo.cd_upSequence 2004, 30006, @con1, @P1 output, 'N'
select @con1=@con1-1
select @p1=@P1-@con1
update #tmp_val_str_new set id=(@P1+ind1)*100000+30006
-
- Активный участник
- Сообщения: 239
- Зарегистрирован: 13 янв 2005, 14:30
- Используемое ПО: Lotsia PDM PLUS LT
- Откуда: Украина, Донецк
- Контактная информация:
2004 - это SeqID для значений атрибутов
2002 - для таблицы Attrib_value
и т.д. Я думаю SQL профилиром все умеют пользоваться.
Во временной таблице храним аналог таблицы LSDBO.Value_String но с учетом что должна быть колонка ind1 которая автоинкрементится и получаются порядковые номера.
после генерации id просто копируем таблицу в базу и у нас набор новых значений атрибута(ов)
Вопросы?
2002 - для таблицы Attrib_value
и т.д. Я думаю SQL профилиром все умеют пользоваться.
Во временной таблице храним аналог таблицы LSDBO.Value_String но с учетом что должна быть колонка ind1 которая автоинкрементится и получаются порядковые номера.
после генерации id просто копируем таблицу в базу и у нас набор новых значений атрибута(ов)
Вопросы?
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
знаешь и еще один момент, не знаешь ли ты точного соответствия номера счетчика типу объекта там связи или еще чему
т.е. например 2002-строковые значения атрибутов ну и т.д.
и для SeqID какие номера и для чего
и в каких комбинациях они работают между собой?
и второй момент - сколько разрядов вообще идет на филиал и по какой формуле считается хвост? № филиала+рабочее место??
т.е. например 2002-строковые значения атрибутов ну и т.д.
и для SeqID какие номера и для чего
и в каких комбинациях они работают между собой?
и второй момент - сколько разрядов вообще идет на филиал и по какой формуле считается хвост? № филиала+рабочее место??
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
ладно и последний вопрос, как я понял для получения достаточно cd_upSequence и номера счетчика, а что такое SeqID нужно ли мне для генерации id что-то знать о этой структуре или процедуре- или это какая то служебная вешь или все таки с ней тоже нужно работать?
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
-
- Новый участник
- Сообщения: 1
- Зарегистрирован: 01 окт 2009, 14:14
- Используемое ПО: Lotsia PDM PLUS LT
Re: Party API PartyDocImport
Если у кого-нибудь все-таки получилось использовать PartyDocImport в VBA, опубликуйте пожалуйста пример, как это должно выглядеть.