Точнее, один глюк.
Обрабатываю отборочную накладную (PackingSlip) по заказу в другой компании.
X++:
changeCompany('MIN')
{
salesTable = null;
salesTable = SalesTable::find('SalesIdNum', true);
if (salesTable)
{
salesFormLetter = SalesFormLetter::construct(DocumentStatus::PackingSlip);
salesFormLetter.update(salesTable, SystemDateGet(), SalesUpdate::DeliverNow);
}
}
Работает через раз!!!
То есть иногда все проходит нормально - а иногда, выдает сообщение.
"Переход к компании 'MAX'" - то есть к той компании, из которой вызывается обработка. Что-то не получается исправить, и понять причину ошибки.
Поставив бряк в add класса Info увидел, что метод SalesFormLetter.run() вызывается.
НО, в самом верху этого метода есть 2 строки:
X++:
this.progressInit("@SYS25781", progressTotal, #AviFormLetter);
this.progressKill();
Так вот, сообщение начинает выдавать при выполнении метода progressKill();
То есть, создается впечатление, что при обработке он пытается вернуться к пред. компании для выполения этого действия. Хотя progress создается же в компании MIN - на пред. строке.
Кто объяснит или чего-то поправит??