программное создание документа

Автор URI, 14.05.10, 13:15:14

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

URI

Прошу помочь начинающему. В среде ЛОЦМАНА V10 формируется некий отчет (запрос SQL + VBA)
Продолжаю действия в среде VBA: требуется  создать документ  по отчету (например Ведомость ... и т.п.) , привязанный к головной сборочной единице  (должен появиться в дереве сборочной единицы). Пользуюсь функциями API для этой цели. Не понятна последовательнось шагов: заблокировать-ли головной объект, какой функцией вставить документ и т.д. Пытаюсь делать CheckOut , затем InsertObject - ругается, что инсерт можно делать только в режиме редактирования????
Прошу подсказать, какие действия (функции) надо использовать и в какой последовательности

Maxagg

Вы немного ошиблись, есть подраздел для лоцмана

посмотрите ConnectToCheckOut, думаю поможет

URI

Прошу прощения.
Я забыл написать , что после CheckOut я так же выполнил ConnnectToCheckOut
Ругается- действия на инсерт можно делать в режиме редактирования!
Параметры входные (напр. название чекаута передаю...)

Maxxx

А может выложите кусок кода - тогда сразу будет видно что не так.

URI

Set PLM = CreateObject("LoodsmanServerApplication.MainSystem")
PLM.ConnectToDB "Demo", v, v1
v3 = PLM.CheckOut("Сборочная единица", "078.505.9.0100.00", "1", 0, v, v1)
PLM.ConnectToDB "Demo", v, v1
PLM.ConnectToCheckOut CStr(v3), "Demo", v, v1
PLM.InsertObject "Сборочная единица", "078.505.9.0100.00", "1", "Перечень материалов", "078.505.9.0100.00", "32", "Документы", "Утвержден", True, v, v1
PLM.SaveChanges CStr(v3), "Demo", v, v1
PLM.DisconnectCheckOut CStr(v3), "Demo", v, v1
PLM.CheckIn CStr(v3), "Demo", v, v1
Вроде отработало, но изменений не вижу. Может что-то с параметрами?

Maxagg

#5
пробуй NewObject и UpLink

URI

 Попробовал перед вставкой объекта предварительно его создать (по вашему совету):
IDверсии=PLM.NewObject ("Перечень материалов","Утвержден","078.505.9.0100.00",0,v,v1)
Объект создался. Но дальше - вставить его не получается. Не могу разобраться , какое значение параметра НомерВерсииПотомка следует передать методу Insert. Он (InsertObject) ругается

объект "078.505.9.0100.00+ то значение, которое я передаю" не существует и не может быть исп. до сохранения.  Может надо его сохранить предварительно до инсерта?  В качестве НомераВерсииПотомка передавал
возвращаемое методом NewObject значение

Maxxx

При создании и вставке нового объекта, в качестве версии нового объекта необходимо передавать в параметрах #32.

А в способе который предложил Максимилиан - сперва создаем новый объект командой NewObject, а затем подвязываем его к родителю командой UpLink.