Показать сообщение отдельно
Старый 04.12.2010, 23:34   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,971 / 3268 (116) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от 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);
Тогда обе проводки промаркируются и будут "смотреть" друг на друга. Но если совсем строго все писать то и этот способ не годится. Если в лоте проводки расщеплены на несколько, то при таком подходе неверно могут пары подобраться.
За это сообщение автора поблагодарили: raniel (1).