Я пытаюсь определить, когда заказ на продажу загружен для печати, если на нем напечатан билет. Единственное вызванное событие — пользовательское событие BeforeLoad …

/** * The recordType (internal id) corresponds to the "Applied To" record in your script deployment. * @appliedtorecord recordType * * @param {String} type Operation types: create, edit, view, copy, print, email * @param {nlobjForm} form Current form * @param {nlobjRequest} request Request object * @returns {Void} */ function userEventBeforeLoad(type, form, request) { if (type == "print") { // do stuff } } 

Параметр «request», переданный системой, пуст, я попытался извлечь объекты сеанса из контекста сценария, и у меня нет ничего, что могло бы помочь. Я не знаю, пропускаю ли я что-то неочевидное или записанное где-то.

Я знаю, что в системе есть фильтр поиска «printpickticket», но по некоторым причинам он не всегда помечается. Таким образом, заказы, на которых напечатаны билеты, не помечаются, и затем при попытке выполнить действия с заказами, на которых напечатаны билеты, не все заказы извлекаются.

У кого-нибудь есть идеи?

Поле «Печатный комплектующий билет» сбрасывается в «F» при создании выполнения позиции, если в заказе на продажу осталось что-то выполнить. Не уверен, что это ваша проблема, но это единственное, что приходит на ум. Если это так, и вам все еще необходимо выполнить действия с этими частично выполненными заказами, вы можете проверить примечания системы, чтобы узнать, было ли для этого поля установлено значение «T».

В записи Заказа на продажу / Заказа на перемещение, когда пользователь печатает запись с помощью опции Печать комплектования, в журнале «Отпечатано комплектование» в примечаниях системы устанавливается значение «F» — «Т». Надеюсь, что это поможет. Вы можете получить триггер из системы Примечание.