Показать сообщение отдельно
Старый 10.05.2007, 17:30   #14  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
А вообще-то, никакой загадки нет.
Если посмотреть дальше по коду, то увидим вызов
\Data Dictionary\Tables\InventTrans\Methods\viewCacheInventTransId
в котором выборка по inventTransId засовывается в кэш (return new RecordViewCache(inventTrans); ).
Так что, второй запрос просто делает выборку не в таблице, а в кэше (почему это происходит с включенным в запрос Voucher могу только гадать).

Для обхода такого негативного влияния кэширования просто вставьте такой код
X++:
    while (purchParmLine)
    {
        inventMovement = null;
Надеюсь, остальные ваши проблемы с InventTrans так же пропадут

PS Или вызывайте код по работе с InventTrans после
X++:
 inventMovement = InventMovement::construct(purchLine);
__________________
Axapta v.3.0 sp5 kr2

Последний раз редактировалось AndyD; 10.05.2007 в 17:33.
За это сообщение автора поблагодарили: belugin (6), kashperuk (3).