AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Функционал
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.08.2014, 18:55   #1  
ksenia is offline
ksenia
Участник
Аватар для ksenia
 
291 / 28 (1) +++
Регистрация: 11.10.2003
Адрес: Москва
Периодическая переоценка в 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;
            }
Т.е. система для определения LedgerDimension, с которым пойдет сторнировка предыдущей нереализованной КР берет первую попавшуюся проводку из всей предыдущей переоценки! Да там может быть какой угодно счет, потому что может встретиться другая валюта с другими настройками счета для курсовой разницы. Почему нет фильтрации по ваучеру предыдущей переоценки?
Это что? Грубая ошибка или глубокий смысл? Объясните мне, пожалуйста
Спасибо!
Старый 07.11.2014, 13:07   #2  
axotnik88 is offline
axotnik88
Участник
 
82 / 18 (1) ++
Регистрация: 05.06.2012
подниму вопрос, но прикол еще далее. бывает Adjustment есть, но в это условие он не заходит, и потом ошибка что не Account number for transaction type Exchange rate gain does not exist.
X++:
 if (_useSettingsFromPreviousAdjustment)
{
    ledgerDimensionMerged = _previousAdjustmentLedgerDimension;
}
useSettingsFromPreviousAdjustment - тру, а вот _previousAdjustmentLedgerDimension то ноль.
Если возможность у кого получить класс CustVendExchAdjPostingEngine с последней версии R2-R3
Старый 07.11.2014, 13:43   #3  
ksenia is offline
ksenia
Участник
Аватар для ksenia
 
291 / 28 (1) +++
Регистрация: 11.10.2003
Адрес: Москва
а, ну это просто в неправильном месте инициализация параметров. На фоне всего остального - так, невинная шутка...
Старый 07.11.2014, 15:16   #4  
axotnik88 is offline
axotnik88
Участник
 
82 / 18 (1) ++
Регистрация: 05.06.2012
Цитата:
Сообщение от ksenia Посмотреть сообщение
а, ну это просто в неправильном месте инициализация параметров. На фоне всего остального - так, невинная шутка...
так получается действительно есть ошибка? как исправляли?
Старый 07.11.2014, 15:38   #5  
ksenia is offline
ksenia
Участник
Аватар для ksenia
 
291 / 28 (1) +++
Регистрация: 11.10.2003
Адрес: Москва
вынесли инициализацию выше, насколько я помню. Надо посмотреть куда конкретно?
За это сообщение автора поблагодарили: axotnik88 (1).
Старый 07.11.2014, 16:16   #6  
axotnik88 is offline
axotnik88
Участник
 
82 / 18 (1) ++
Регистрация: 05.06.2012
Цитата:
Сообщение от ksenia Посмотреть сообщение
вынесли инициализацию выше, насколько я помню. Надо посмотреть куда конкретно?
Если не сложно, можете глянуть?
Старый 07.11.2014, 17:52   #7  
ksenia is offline
ksenia
Участник
Аватар для ksenia
 
291 / 28 (1) +++
Регистрация: 11.10.2003
Адрес: Москва
Ну там парой слов не опишешь, но в общем, сделали новые методы для определения предыдущего значения LedgerDimension для валюты учета и валюты отчетности, вызов их вставили прямо в init
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ax2012 RTM, странная ошибка установки на Win8.0 mazzy DAX: Администрирование 12 27.02.2014 17:01
Ошибка в накладной клиента при суммарной обработке AX2012 Алексей Контев DAX: Функционал 1 08.11.2013 15:52
Я хочу поставить AX2012 R2 с Российским функционалом и с нуля. Ошибка при установке Sarvan DAX: Администрирование 21 28.06.2013 20:24
Переоценка стоимости,амортизации ОС, ошибка? yooshi DAX: Функционал 2 07.07.2005 16:06
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 07:12.