Party API PartyDocImport

Здесь обсуждаем систему TDM/PDM/Workflow Lotsia PDM PLUS (PartY PLUS).
Marina
Новый участник
Сообщения: 11
Зарегистрирован: 14 апр 2005, 10:16
Контактная информация:

Сообщение Marina »

Да, спасибо техподдержке и вам. Пример получила, буду разбираться, как освобожусь немного
Юрий
Активный участник
Сообщения: 239
Зарегистрирован: 13 янв 2005, 14:30
Используемое ПО: Lotsia PDM PLUS LT
Откуда: Украина, Донецк
Контактная информация:

Сообщение Юрий »

Александр писал(а): Кстати вы затронули очень интересный вопрос по формированию id что тщательно всеми скрывается по каким то таинственным соображениям.
Ничего секретного нет. Конец id это филиал плюс рабочее место.
А последний порядковый номер идентификаторов содержится в таблице cd_Sequence правда возникает вопрос кокой из SeqID нужно наращивать? Ответ прост - включил тарсировку базы и посмотрел SeqID который тебе нужен. Вот и все...
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

мне это было интересно с точки зрения своих хп, не являясь специалистом в SQL я просто забрал из верхнего адресного пространства 10.000 id и работаю с ними в своих массивах (при этом однозначно уверен что случайно не собъю какой либо из счетчиков id самой Лоции)
вообще гак они генерят id - их личное дело
но вот если бы ты мне сказал какую хп Лоции и с какими параметрами вызывать под это дело, для определенного вида объекта(типа связи и т.п.), я бы был тебе во век благодарен :wink:

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

вот саму бы их функцию попользовать - но ведь не отдают же :wink:

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Юрий
Активный участник
Сообщения: 239
Зарегистрирован: 13 янв 2005, 14:30
Используемое ПО: Lotsia PDM PLUS LT
Откуда: Украина, Донецк
Контактная информация:

Сообщение Юрий »

Есть функция cd_upSequence но она только увеличивает счетчики идешников сами идешники собирает клиент и SecID жестко зашит в программе для объектов связей и тд.
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

Юрий, а пример вызова с параметрами можешь изобразить, например для строкового значения заданного атрибута?? Для нулевого филиала и нулевого рабочего места?? с возвратом полученного id??

Софт - 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
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

отлично :P а можешь дать пару комментариев по общему смыслу, в плане что храним во временной таблице, и ...
что такое 2004? (вообще часто встречается 2004 или там 2002 но я так и понял кто это)

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Юрий
Активный участник
Сообщения: 239
Зарегистрирован: 13 янв 2005, 14:30
Используемое ПО: Lotsia PDM PLUS LT
Откуда: Украина, Донецк
Контактная информация:

Сообщение Юрий »

2004 - это SeqID для значений атрибутов
2002 - для таблицы Attrib_value
и т.д. Я думаю SQL профилиром все умеют пользоваться.

Во временной таблице храним аналог таблицы LSDBO.Value_String но с учетом что должна быть колонка ind1 которая автоинкрементится и получаются порядковые номера.

после генерации id просто копируем таблицу в базу и у нас набор новых значений атрибута(ов)

Вопросы?
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

знаешь и еще один момент, не знаешь ли ты точного соответствия номера счетчика типу объекта там связи или еще чему
т.е. например 2002-строковые значения атрибутов ну и т.д.
и для SeqID какие номера и для чего
и в каких комбинациях они работают между собой?

и второй момент - сколько разрядов вообще идет на филиал и по какой формуле считается хвост? № филиала+рабочее место??

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Юрий
Активный участник
Сообщения: 239
Зарегистрирован: 13 янв 2005, 14:30
Используемое ПО: Lotsia PDM PLUS LT
Откуда: Украина, Донецк
Контактная информация:

Сообщение Юрий »

Соответствия у меня есть в проге но просто влом выбирать из SQL инструкций готовой таблицы нет. Если надо мне я профилиром смотрю.

на филиал 2 на рабочее место 3 формула - филиал*100+рабочее место
Аватара пользователя
Александр
Активный участник
Сообщения: 1652
Зарегистрирован: 24 авг 2006, 08:06
Используемое ПО: Lotsia PDM PLUS
Откуда: 55.745578,37.665825

Сообщение Александр »

ладно и последний вопрос, как я понял для получения достаточно cd_upSequence и номера счетчика, а что такое SeqID нужно ли мне для генерации id что-то знать о этой структуре или процедуре- или это какая то служебная вешь или все таки с ней тоже нужно работать?

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный

Юрий
Активный участник
Сообщения: 239
Зарегистрирован: 13 янв 2005, 14:30
Используемое ПО: Lotsia PDM PLUS LT
Откуда: Украина, Донецк
Контактная информация:

Сообщение Юрий »

SeqID - колонка в таблице cd_Sequence
Его значение и есть 2004, 2002 - это коды групп идентификаторов(счетчиков) Они зашыты в Lotsia жестко и не составляются но в этом я не уверен.
Будем говорить - я зашиваю их жестко чтобы знать какой счетчик наращивать.
Nomad
Новый участник
Сообщения: 1
Зарегистрирован: 01 окт 2009, 14:14
Используемое ПО: Lotsia PDM PLUS LT

Re: Party API PartyDocImport

Сообщение Nomad »

Если у кого-нибудь все-таки получилось использовать PartyDocImport в VBA, опубликуйте пожалуйста пример, как это должно выглядеть.
Ответить