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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.06.2011, 15:58   #18  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,448 / 1792 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
А делали ли вы коррекцию налога?

Не знаю, может не в тему, но буквально сегодня разбирался с функционалом коррекции налога. Проблема у меня была в том что при печати счёта на оплату по накладной с произвольным текстом выводился неоткорректированный налог. Надо сказать что этот функционал коррекции, как-то странно работает с суммой в основной валюте. Исследуя обработку счёта на оплату обычных накладных (не накладных с произвольным текстом), я обнаружил такой код в классе FormLetter
X++:
TmpTaxWorkTrans tmpTaxWorkTrans(recId headingRecId)
{
    TmpTaxWorkTrans tmpTaxWorkTrans;
    // <GEEU>
    CurrencyCode    companyCurrency = CompanyInfo::find().CurrencyCode;
    // </GEEU>

    ttsbegin;

    while select journalTmpTaxWorkTrans
          where journalTmpTaxWorkTrans.HeadingRecId == headingRecId
    {
        tmpTaxWorkTrans.clear();
        tmpTaxWorkTrans.data(journalTmpTaxWorkTrans);
        // <GEEU>

        if (! tmpTaxWorkTrans.TaxAutogenerated)
        {
            if (tmpTaxWorkTrans.SourceCurrencyCode == companyCurrency)
            {
                tmpTaxWorkTrans.TaxAmount = tmpTaxWorkTrans.taxAmountCur();
            }
            else
            {
                tmpTaxWorkTrans.TaxAmount = Currency::mstAmount(tmpTaxWorkTrans.taxAmountCur(),
                                                                tmpTaxWorkTrans.SourceCurrencyCode,
                                                                tmpTaxWorkTrans.TransDate,
                                                                tmpTaxWorkTrans.euroTriangulation ?  UnknownNoYes::Unknown : UnknownNoYes::No,
                                                                this.exchRate_W(),
                                                                this.exchRateSec_W());
            }
        }

        // </GEEU>
        tmpTaxWorkTrans.insert();
    }

    ttscommit;

    return tmpTaxWorkTrans;
}
Как я понял, сдесь локализаторы вычисляют значение суммы в основной валюте через соответствующую сумму в иностранной валюте

Так вот в случае обработки счёта на оплату по накладной с произвольным текстом, работает совершенно другой класс. А именно CustPostInvoice4Paym_RU. Там текст соответствующего метода выглядит так
X++:
TmpTaxWorkTrans tmpTaxWorkTrans(recId headingRecId)
{
    TmpTaxWorkTrans tmpTaxWorkTrans;
    ;

    ttsbegin;
    while select journalTmpTaxWorkTrans
          where journalTmpTaxWorkTrans.HeadingRecId == headingRecId
    {
        tmpTaxWorkTrans.clear();
        tmpTaxWorkTrans.data(journalTmpTaxWorkTrans);
        tmpTaxWorkTrans.insert();
    }
    ttscommit;
    return tmpTaxWorkTrans;
}
Т.е. никакие суммы не меняются. Может кто-то из знающих сможет это как-то прокомментировать?

P.S.: Версия системы у меня AX2009 без каких-либо ролапов (возможно в каких-то из вышедших этот момент уже и исправлен).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Массовое создание СФ. Почему берет номера из списка удаленных СФ? mazzy DAX: Функционал 6 21.03.2011 22:35
Вопрос по НДС vazerdim DAX: Функционал 8 15.12.2010 21:25
Судьба НДС по конкретному ОС внутри счета-фактуры Gustav DAX: Функционал 9 06.04.2006 14:58
Ошибка при обработке входящего НДС RAM DAX: Функционал 14 08.09.2004 18:24
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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