Такая вот интересная вещь:
Есть код создающий в цикле шапку закупки и строки, потом снова на след итерации шапку и строки
X++:
while -
{
if()
{
//salesTable = null; только это спасает
salesTable.clear();
.....
if (salesTable.validateWrite())
salesTable.insert();
}
....
}
на втором прохождении цикла заказ не создается, тк выдается ошибка Заказ не может быть изменен. ( @sys2650 )
Происходит из-за того, что несмотря на salesTabel.clear(), кот очищает поля и Recid(я это вижу в дебаггере) , потом в salesTableType->validateWrite вызов salesTable.orig() возвращает буфер, созданный на предыдущей итерации , т.е clear() не очищает orig()
reread перед clear не помогает, initValue после него - тоже
Ест-но, помогает только salesTable = null перед salesTable.clear(); но обычно же так не пишем
Тут как-то спрашиали зачем табличным буферам null присваивают. Может, чтоб вот таких сюрпризов избегать?
AX2012 R2