Добрый день.
Недавно столкнулись с расхождением суммы между проводкой модуля и проводкой ГК в валюте учета при разноске накладной по поставщику, содержащей несколько строк.
Валюта операции - рубли. Валюта учета - доллары.
Идентичная ошибка описана на англоязычных форумах, для решения проблемы предлагается установить KB 3102194.
https://community.dynamics.com/ax/f/...liation-report
К сожалению, после установки KB проблема осталась.
После небольшого расследования выяснилось, что новая функциональность отключена в коде для региона RU.
X++:
if (this.canPerformSummaryRoundingAdjustment(sourceDocument))
{
this.recordSubledgerJourAccEntriesForRounding(sourceDocument, accountingEvent);
}
else
{
this.recordSubledgerJournalAccountEntries(sourceDocument, accountingEvent);
}
X++:
private boolean canPerformSummaryRoundingAdjustment(SourceDocument _sourceDocument)
{
SubledgerJourSummaryRoundingAdjuster summaryRoundingAdjuster;
boolean canPerformSummaryRoundingAdjustment;
if (this.isExcludedFromDetailOrSummaryRounding())
{
canPerformSummaryRoundingAdjustment = false;
}
else
{
summaryRoundingAdjuster = SubledgerJourSummaryRoundingAdjuster::newFromDocument(_sourceDocument);
canPerformSummaryRoundingAdjustment = summaryRoundingAdjuster.canPerformAdjustment();
}
return canPerformSummaryRoundingAdjustment;
}
X++:
private boolean isExcludedFromDetailOrSummaryRounding()
{
return (hasInterCompany || SysCountryRegionCode::isLegalEntityInCountryRegion([ #isoRU, #isoCZ, #isoHU, #isoPL, #isoBR, #isoMX ]));
}
Пока что для себя пробую включить данный функционал для региона RU...
Правильный ли это подход? Может быть есть дополнительное обновление, которое уже это сделало или есть другие способы решить данную проблему?