AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.12.2008, 17:48   #1  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
-> Изменение "курсора" в цикле
Всем привет.

Вероятно, конечно, баян, но я не нашёл...
Интуитивно так обычно не делал, но вот недавно наткнулся - решил поделиться.

Если внутри цикла while select (ну и не только наверное) изменить ссылку табличной переменной используемого курсора на что-то другое, то можно "отгрести" забавные результаты.
Проще продемонстрировать, чем объяснить.

Пример Jobа (Номер журнала задайте сами):
X++:
static void ZVV_TestCursorJob(Args _args)
{
    InventTrans inventTrans;

    InventJournalId _InventJournalId = "СЖ008968";
    ;

    while select inventTrans
        where inventtrans.TransType == InventTransType::InventTransfer
           && inventTrans.TransRefId == _InventJournalId
    {
        info(strFmt("%1 %2 %3", inventTrans.InventTransId, inventTrans.ItemId, inventTrans.Qty));
    }

    info(strrep('-',30));

    while select inventTrans
        where inventtrans.TransType == InventTransType::InventTransfer
           && inventTrans.TransRefId == _InventJournalId
    {
        info(strFmt("%1 %2 %3", inventTrans.InventTransId, inventTrans.ItemId, inventTrans.Qty));

        inventTrans = inventTrans::findRecId(inventTrans.RecId);
    }
}
Результат:
Код:
Сообщение (16:45:39)
Л_11776612 25472/001 -10,00
Л_11776612 25472/001 10,00
Л_11776613 25472/001 -10,00
Л_11776613 25472/001 10,00
Л_11776614 25472/001 -20,00
Л_11776614 25472/001 20,00
------------------------------
Л_11776612 25472/001 -10,00
Л_11776612 25472/001 -10,00
Л_11776612 25472/001 -10,00
Л_11776612 25472/001 -10,00
Л_11776612 25472/001 -10,00
Л_11776612 25472/001 -10,00
Найти такой баг в коде наверное не всегда может быть просто и очевидно..

3.0
__________________
Zhirenkov Vitaly
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Программное изменение "Счет на" в заказе Antant DAX: Программирование 12 02.02.2009 10:49
ALEG: Можно ли из "клиентского" решения сделать "тиражное" Blog bot DAX Blogs 0 16.11.2006 23:40
"Сопоставление фактур с оплатами" и "Сопоставление открытых проводок" chel DAX: Функционал 2 16.09.2004 12:03
Журнал переноса->Строки->Поле "Количество" . Нужен "0" по умолчанию вместо ATimTim DAX: Функционал 5 26.06.2004 12:17
"LIKE" и "OR" в "qbds" @x DAX: Программирование 14 20.01.2004 13:20

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:45.