Спасибо Logger за публикацию кода.
Итак, ошибка (а скорее это описка) следующая:
в методе WMSOrderTransSplit.run() вместо
WMSOrderTrans.split(splitQty); должно быть
WMSOrderTransCopy.split(splitQty);
Так вот эта описка себя вроде бы как и не проявляет, и я бы не обратил на это внимания, если бы не столкнулся с запуском этого класса в цикле(стояла передо мной такая задача). Так вот, тогда класс отрабатывал корректно только в первый вызов. Исследование показало, что надо разбивать экземпляр WMSOrderTransCopy, а не WMSOrderTrans.
Что касается того, где выполняется класс.
У класса WMSOrderTransSplit есть класс-"близнец" WMSPickingLineCancel. Их архитектура во многом схожа. У WMSPickingLineCancel свойство RunOn стоит в Called from.
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
|