Показать сообщение отдельно
Старый 12.02.2009, 17:22   #1  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от miklenew Посмотреть сообщение
При создании отгрузочной накладной (если включена регистрация. Если не включена, то всё происходит как с обычным документом по строке заказа) не происходит изменение строки и проводки.
А вот и не правильно!

Проводки меняются, там прописываются поля TransChildType и TransChildRefId.
И в случае когда эти поля прописаны, работать с этим "мувментом" можно только с использованием "ChildBuffer".
Резервировать, например - не зря ж там в классах InventUpdate везде условия "понатыканы" типа:
X++:
                      inventTrans.TransChildType        == movement.transChildType()   &&
                      inventTrans.TransChildRefId       == movement.transChildRefId()  &&
По этому, если отталкиваться от InventTrans, то если по движению есть childBuffer, то и "мувмент" надо брать с его использованием, если нет, то не надо. Примерно так:
X++:
movement = InventMovement::construct(inventTrans);
            if (movement.childBuffer().RecId)
            {
                buffer = movement.childBuffer();
                movement = InventMovement::construct(buffer);
            }
Ну и дальше его уже передавать в InventUpdate...

Сорри что старую тему поднял, просто случайно наткнулся...
__________________
Zhirenkov Vitaly