Высвобождение остаточного резервирования#
Снимает резерв типа 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());
}