Выполнение отгрузки без мастер-документа#
Позволяет выполнить отгрузку Wms_Shipping без изменения состояния мастер-документа.
Скрипт используется в ситуации, когда из-за сбоя в модуле WMS состояние мастер-документа уже стало Выполнен, а состояние заявки на отгрузку Wms_ShipOrd и самой отгрузки Wms_Shipping осталось Исполняется. В таком случае обычное переключение состояния может быть недоступно.
Скрипт временно отвязывает заявку на отгрузку от мастер-документа, выполняет отгрузку и заявку на отгрузку, а затем возвращает связь с мастер-документом. За счет этого удается завершить отгрузку без попытки повторно изменить состояние мастер-документа.
Место применения: Сервис > Инструменты > Выполнить JEXL-скрипт
Тип: JEXL-скрипт
// id отгрузки, которую необходимо выполнить
var shipIdToBeDone = {вставить id отгрузки, которую нужно выполнить}L;
// загрузка отгрузки и связанной заявки на отгрузку
var ropShip = Wms_ShippingApi.load(shipIdToBeDone);
var ropOrd = Wms_ShipOrdApi.loadByGid(ropShip.gidSource);
// сохранение ссылки на мастер-документ
var src = ropOrd.gidSource;
var ropInternalWarrant = Stk_InternalWarrantApi.loadByGid(src);
// временное отключение связи с мастер-документом
Wms_ShipOrdApi.setgidSource(ropOrd, null);
// перевод отгрузки в выполненное состояние
Wms_ShippingApi.setidState(ropShip, Wms_ShippingApi.idgStateDone());
// восстановление связи с мастер-документом
Wms_ShipOrdApi.setgidSource(ropOrd, src);
// перевод мастер-документа в выполненное состояние
Stk_InternalWarrantApi.setidStateOut(ropInternalWarrant, Stk_InternalWarrantApi.idStDone());
Stk_InternalWarrantApi.setidStateIn(ropInternalWarrant, Stk_InternalWarrantApi.idStDone());