Серверные события: заполнение строкового атрибута

Автор Pavor, 11.04.20, 23:37:34

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

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

Pavor

Есть вроде бы простая задача:
при создании элемента типа "Деталь" в Лоцмане присваивать заданное значение атрибуту "Наименование".
По публикациям на форуме составился вот такой код, он не рабочий, к сожалению (атрибут не заполняется).
Возможно, это из-за того, что в методе UpAttrValue нужно указывать параметр
BSTR stIdUnit,// уникальный идентификатор единицы измерения
Какой параметр нужно указывать для заполнения строкового атрибута? Пробовал несколько вариантов - всё без толку (в коде на месте этого параметра стоит Null).


Хотелось бы еще изучить побольше рабочих примеров (WSC), есть ли какие-то пособия по написанию обработчиков серверных событий?

PS: пишу для Лоцман 2011
function Run(las, params, returnCode, errorMessage, flowDirectionCode)

 pObjType = params(0, 1)
 pObjProduct = params(1, 1)
 pObjVersion = params(2, 1)

if (pObjType="Деталь") then
 las.UpAttrValue pObjType, pObjProduct, pObjVersion, "Наименование", "Деталь апрель", Null, false, returnCode, errorMessage
end if


end function

Chipollino

Во-первых, не работает код потому, что в массив значений params для события "После создания объекта" в нулевой элемент передаётся IdVersion созданного объекта, а не его тип.
Во-вторых, если для атрибута нет измеряемой сущности, то в качестве идентификатора stIdUnit передавайте пустую строку - ""

Вот в таком виде код работает:
Цитироватьfunction Run(las, params, returnCode, errorMessage, flowDirectionCode)

 pObjType = params(1, 1)
 pObjProduct = params(2, 1)
 pObjVersion = params(3, 1)

 if pObjType = "Деталь" then
  las.UpAttrValue pObjType, pObjProduct, pObjVersion, "Наименование", "Деталь апрель", "", false, returnCode, errorMessage
 end if
end function

Pavor

Большое спасибо! Все сработало!

Не подскажете, что можно почитать на тему создания обработчиков серверных событий?

Chipollino

Цитата: Pavor от 22.04.20, 21:58:14Не подскажете, что можно почитать на тему создания обработчиков серверных событий?
Кроме этой справки я не уверен, что ещё что-то есть - ASCON\Loodsman\SDK\AppServer\Серверные события.chm