Перейти к основному содержанию
`Ctrl`+`K`

# Ручное распределение позиции акта по проводкам закупки

Используется для ручного распределения количества из позиции приходного акта по нескольким проводкам закупки. Для каждой проводки рассчитывается доступный объем и фиксируется привязка к объекту потребности.

Место применения: `Сервис > Инструменты > Выполнить 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();