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

# Высвобождение остаточного резервирования

Снимает резерв типа `Res` в регистре оборотов `Wms_RegTurn` для выполненных позиций отгрузки.

Скрипт используется в ситуации, когда из-за сбоя в модуле WMS резерв типа `Res` в регистре оборотов `Wms_RegTurn` не списался после выполнения позиции отгрузки. Скрипт находит такие позиции и выполняет корректирующее списание резерва.

Место применения: `Сервис > Инструменты > Выполнить JEXL-скрипт`

Тип: JEXL-скрипт

    // поиск выполненных позиций отгрузки, по которым остался ненулевой резерв
    for (s : sql(`select rt.gidsrcobj
       from wms_regturn rt
       join wms_shipdet s
         on s.gid = rt.gidsrcobj
      where stype = 'Res'
        and s.idoperstate = (select id from wms_operstate where norder = 300)
      group by gidsrcobj
      having sum(rt.nqtysm1) <> 0`).asList()) {

      // загрузка позиции отгрузки
      var rop = Wms_ShipDetApi.loadByGid(s.gidsrcobj);

      // повторное проведение движения между состояниями для списания остаточного резерва
      Wms_ShipDetApi.doOutLot(rop, Wms_OperStateApi.idgDone(), Wms_OperStateApi.idgReg());
      Wms_ShipDetApi.doOutLot(rop, Wms_OperStateApi.idgReg(), Wms_OperStateApi.idgDone());
    }