Ручное распределение позиции акта по проводкам закупки#
Используется для ручного распределения количества из позиции приходного акта по нескольким проводкам закупки. Для каждой проводки рассчитывается доступный объем и фиксируется привязка к объекту потребности.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Внимание
В текущем виде скрипт содержит захардкоженные ID. Перед использованием замените их на актуальные значения.
Тип: JEXL-скрипт
const ropActDet = Stm_ActInDetApi.load(136129L);
var nQty = ropActDet.nQty;
const ropPT1 = Prs_PurchTransApi.load(301653L);
const nQty1 = nQty.min(ropPT1.nQty);
Stmprs_ActInPkg.setObjNeedDetQtyBase(ropActDet.idDoc, ropActDet.gid, nQty1, ropPT1.idNeedObj, ropActDet.idMsr, ropPT1.id);
nQty = nQty - nQty1;
Btk_InfoLogPkg.info(nQty.toString());
const ropPT2 = Prs_PurchTransApi.load(476615L);
const nQty2 = nQty.min(ropPT2.nQty);
Stmprs_ActInPkg.setObjNeedDetQtyBase(ropActDet.idDoc, ropActDet.gid, nQty2, ropPT2.idNeedObj, ropActDet.idMsr, ropPT2.id);
nQty = nQty - nQty2;
Btk_InfoLogPkg.info(nQty.toString());
const ropPT3 = Prs_PurchTransApi.load(476623L);
const nQty3 = nQty.min(ropPT.nQty);
Stmprs_ActInPkg.setObjNeedDetQtyBase(ropActDet.idDoc, ropActDet.gid, nQty3, ropPT3.idNeedObj, ropActDet.idMsr, ropPT3.id);
nQty = nQty - nQty3;
Btk_InfoLogPkg.info(nQty.toString());
const ropPT4 = Prs_PurchTransApi.load(301666L);
const nQty4 = nQty.min(ropPT4.nQty);
Stmprs_ActInPkg.setObjNeedDetQtyBase(ropActDet.idDoc, ropActDet.gid, nQty4, ropPT4.idNeedObj, ropActDet.idMsr, ropPT4.id);
nQty = nQty - nQty4;
Btk_InfoLogPkg.info(nQty.toString());
session.commit();