11.08.2014, 18:55 | #1 |
Участник
|
Периодическая переоценка в AX2012 - грубая ошибка или глубоко зарытый смысл?
Коллеги, АХ2012:
Представим себе ситуацию: Есть проводка по поставщику, открытая, по ней начислена нереализованная курсовая разница на 30.06.2014, метод учета курсовой разницы - стандарт. Делаю повторную переоценку на 31.07.2014, система формирует ваучер по переоценке 31.07.2014, в котором сторнирует предыдущую переоценку и начислет новую. И вот в сторно предыдущей переоценке я замечаю какой-то совершенно левый счет (совершенно не тот, по которому была проведена исходная переоценка, которую система и пытается сторнировать). Начинаем выяснять почему и наталкиваемся на вот такой код в классе CustVendExchAdjPostingEngine: X++: if (lastReportingCurrencyAdjustmentEstimation != 0) { previousReportingCurrencyAdjustmentLedgerPostingType = this.getLedgerPostingType( lastReportingCurrencyAdjustmentEstimation, false); if (previousReportingCurrencyAdjustmentLedgerPostingType == LedgerPostingType::ExchRateGain) { select firstOnly LedgerDimension from generalJournalAccountEntry where generalJournalAccountEntry.createdTransactionId == previousCreatedTransactionId && generalJournalAccountEntry.PostingType == LedgerPostingType::ExchRateGain && generalJournalAccountEntry.ReportingCurrencyAmount < 0 exists join generalJournalEntry where generalJournalEntry.RecId == generalJournalAccountEntry.GeneralJournalEntry && generalJournalEntry.AccountingDate == lastExchAdjDate; } else { select firstOnly LedgerDimension from generalJournalAccountEntry where generalJournalAccountEntry.createdTransactionId == previousCreatedTransactionId && generalJournalAccountEntry.PostingType == LedgerPostingType::ExchRateLoss && generalJournalAccountEntry.ReportingCurrencyAmount > 0 exists join generalJournalEntry where generalJournalEntry.RecId == generalJournalAccountEntry.GeneralJournalEntry && generalJournalEntry.AccountingDate == lastExchAdjDate; } previousReportingCurrencyAdjustmentLedgerDimension = generalJournalAccountEntry.LedgerDimension; } Это что? Грубая ошибка или глубокий смысл? Объясните мне, пожалуйста Спасибо! |
|
|
|