Заполнение бизнес-единицы по этапу договора#
Заполняет бизнес-единицу приходного акта по выбранному этапу договора.
Скрипт используется в точке расширения API Script Stm_ActInApi.setidContractStage. В этой точке расширения параметр value содержит идентификатор выбранного этапа договора, а параметр rop — объект приходного акта, для которого выполняется изменение.
Скрипт получает бизнес-единицу из этапа договора. Если на этапе бизнес-единица не указана, скрипт пытается получить ее из родительского договора. Найденное значение записывается в приходный акт.
Место применения: Обозреватель проектов > нужный API-класс > точка расширения API
Тип: JEXL-скрипт
if (isNotNull(value)) {
// Загрузка этапа договора по значению, переданному в точку расширения
const ropStage = Cnt_ContractApi.load(value);
var ropContract = null;
// Загрузка родительского договора, если он указан на этапе
if (isNotNull(ropStage.idParentContract)) {
ropContract = Cnt_ContractApi.load(ropStage.idParentContract);
}
var idvBisObj = null;
// Получение бизнес-единицы из этапа договора
if (isNotNull(ropStage.idBisObj)) {
idvBisObj = ropStage.idBisObj;
}
// Если на этапе бизнес-единица не заполнена, получение значения из родительского договора
if (isNotNull(ropContract) && isNull(idvBisObj) && isNotNull(ropContract.idBisObj)) {
idvBisObj = ropContract.idBisObj;
}
// Заполнение бизнес-единицы в приходном акте
if (isNotNull(idvBisObj)) {
Stm_ActInApi.setidBisObj(rop, idvBisObj);
}
}