Цитата:
Сообщение от
Ivanhoe
А как повторить то?
на рабочем проекте я получил ситуацию, когда флажок "цена найдена" был взведён, а переданный буфер оказался пустым. повторять конкретно на том классе сейчас у меня времени нет, но суть примерно такова:
X++:
static void tmxTestCustTable(Args _args)
{
PriceDiscTable priceTable;
PriceDiscTable foundPriceTable;
PriceDiscTable foundPriceTableData;
int maxCust = 5;
int i = 1;
while select priceTable
{
info(strFmt("in loop %1: %2", i, priceTable.RecId));
if(i == 2)
{
foundPriceTable = priceTable;
foundPriceTableData = priceTable.data();
info("<-- let's say this is what we were looking for...");
}
if(i>maxCust)
{
break;
}
else
{
i++;
}
}
info("---------------------------------------");
info(strFmt("priceTable buffer after %1", priceTable.RecId));
info(strFmt("found reference after %1", foundPriceTable.RecId));
info(strFmt("found buffer after %1", foundPriceTableData.RecId));
}
результат
X++:
Message (10:19:22 am)
in loop 1: 5637351352
in loop 2: 5637349038
<-- let's say this is what we were looking for...
in loop 3: 5637349039
in loop 4: 5637344655
in loop 5: 5637339598
in loop 6: 5637331591
---------------------------------------
priceTable buffer after 5637331591
found reference after 5637331591
found buffer after 5637349038
соответственно, если буфер по дороге где-то обнуляется, то искомые данные митькой звали.