Показать сообщение отдельно
Старый 01.06.2011, 15:25   #1  
Maximin is offline
Maximin
NavAx
NavAx Club
 
415 / 361 (13) ++++++
Регистрация: 09.10.2002
Адрес: Москва
! Некорректное отражение map при пакетной обработке в Ax2009, и налоги в строках накладных/фактур
Проверялось на AX 2009, RU5, RU6, RU7

Существует проблема, при которой Аксапта 2009 не возвращает существование mapping'а для какой-либо таблицы, входящей в map. Это проявляется только в пакетном режиме на сервере (новый режим, появившийся в 2009). При просто выполнении на сервере, такого не происходит.

Подробности:
Есть некий код:
X++:
    treeNode = infolog.getNode(UtilElementType::TableMap,
                               tableid2name(tablenum(VendInvoiceTrans)),
                               tablenum(CustVendInvoiceTrans));
Так вот - если выполнить этот код в пакетном режиме, в переменной treeNode будeт null, если же запустить в интерактивном - там будет экземпляр TreeNode.
Это не было бы так неприятно, если бы вышеприведенный код не был почти 1:1, использующимся в методе Global::mappingExists_RU, из-за чего данный метод при исполнении в пакетном режиме, никогда не возвращает true.
Но и это - не самая крупная проблема.
Настоящие проблемы начинаются, когда при пакетной разноске накладных в методе CustVendInvoiceTrans.initFromTaxWorkTrans_RU в результате некорректной работы метода mappingExists_RU, не заполняются поля TaxAmountMST_W (Сумма налога в валюте), vatAmountMST_RU (Сумма НДС), ExciseAmountMST_RU (Сумма акциза) в строках накладных, и далее, ессно, в строках счетов-фактур по этим накладным. В результате, когда формируем книгу покупок/продаж по этим с/ф, возникают еще одни проблемы.
В прилагаемом классе воспроизведена подобная ситуация. Желающим проверить могу посоветовать запустить его интерактивно, и в пакете, и посмотреть на разницу в выдаваемых сообщениях.
Варианты решения разнообразны, думаю, не стоит их приводить. Еще советовал бы проверить уже существующие обработки, работающие в пакетном режиме, на использование данных методов.
Вложения
Тип файла: xpo Class_TestTreeNode.xpo (3.5 Кб, 443 просмотров)
__________________
Жизнь прекрасна! Если, конечно, правильно подобрать антидепрессанты...
За это сообщение автора поблагодарили: mazzy (5), db (5), lev (3).