Цитата:
Сообщение от
pitersky
Если вы знаете маркируемый лот InventTransId и маркирующий InventRefTransId, то можно просто использовать
X++:
InventTrans::updateMarking(InventTransId, InventRefTransId, Qty)
Количество берите как минимум из двух проводок со знаком проводки по InventTransId. На выходе получите маркировку лотов и смаркированное количество.
Разумеется, оба лота должны быть несмаркированными ранее
Не совсем так.
Предложенный вами способ пропишет ссылку на лот только в одной из проводок, а надо в обе.
Тогда уж лучше сделать как тут :
\Classes\InventUpd_Estimated\updateReservation
X++:
markNow = InventTrans::updateMarking(movement.inventRefTransId(), movement.transId(), -reservQty);
InventTrans::updateMarking(movement.transId(), movement.inventRefTransId(), markNow);
Тогда обе проводки промаркируются и будут "смотреть" друг на друга. Но если совсем строго все писать то и этот способ не годится. Если в лоте проводки расщеплены на несколько, то при таком подходе неверно могут пары подобраться.