Показать сообщение отдельно
Старый 31.07.2015, 19:06   #1  
Kabardian is offline
Kabardian
Талантливый разгвоздяй
Аватар для Kabardian
 
424 / 338 (12) ++++++
Регистрация: 14.12.2008
Адрес: Москва
Записей в блоге: 14
AX 2012 R3: Ошибка разноски ошибок округления по журналу операций
AX 2012 R3 CU8 (на R2 баг отсутствует).

В AX 2012 R3 при разноске журнала операций в модуле "Розница" (statement) при разноске ошибок округления при включенной корреспонденции возникает ошибка (точный текст не помню, но что-то вроде "Счет клиента не указан"):
  1. В методе \Classes\RetailStatementPaymentJournal\postPaymentJournalForSales есть такой кусок кода, который инициализирует Корр счет для проводки по разноске ошибок округления:
    X++:
    [ 161]             // <GEERU>
    [ 162]             if (correspondenceEnabled)
    [ 163]             {
    [ 164]                 offsetAccountNum = RetailStatementPaymentJournal::getNativeNonLedgerAccount(invoiceAccount, LedgerJournalACType::Cust);
    [ 165]             }
    [ 166]             // </GEERU>
  2. Проблема в том, что Корр счет инициализируется ПОСЛЕ разноски проводки ГК по расхождениям, вот код разноски расхождений:
    X++:
    [ 144]             totalRoundAmountCur = this.postRoundingDifference(transTable2
    [ 145]                                                               // <GEERU>
    [ 146]                                                               , LedgerJournalACType::Cust
    [ 147]                                                               , offsetAccountNum
    [ 148]                                                               // </GEERU>
    [ 149]                                                               );
В R2 такой ошибки нет, а вот R3 стал жертвой рефакторинга и баг присутствует вплоть до CU8.

Последний раз редактировалось Kabardian; 31.07.2015 в 19:08.