AX 4.0 SP2 FP1
При закрытии производственных заказов спорадически возникала некорректная сумма закрытия в журнале, которая вызывала некорректную сумму разноски в Главную книгу по одному плечу фин. проводки.
Выяснили, что поводом для такого бага являются взаимные блокировки в базе. Т.е. при отправке алгоритма на второй круг после блокировки - сумма закрытия кратно увеличивалась.
Было решено добавлением инициализации курсора в метод \Classes\ProdUpdHistoricalCost\initProdTableJour():
X++:
void initProdTableJour(Voucher _voucher)
{
InventQty qtyGood;
InventQty qtyError;
;
// добавленный код -->
prodTableJour.clear();
// <--
prodTableJour.initFromProdTable(prodTable);
//далее оригинальный код....
}
Пытались решить этот вопрос официальным путем через поддержку МС, но после года переписки запрос так и был закрыт без исправления. В результате, пришлось бороться с ним своими силами.
На девятке не тестировал, но по результатам беглого просмотра кода там эта бага, похоже, тоже имеется.