Заполнение бизнес-единицы по этапу договора

Заполнение бизнес-единицы по этапу договора#

Заполняет бизнес-единицу приходного акта по выбранному этапу договора.

Скрипт используется в точке расширения 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);
  }
}