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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 21.04.2011, 10:25   #1  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
BookDataCalc_Sales_Ru, метод initOnPayment ошибка
Сабж, в методе, отвечающем за выборку фактур, попадающем в книгу продаж во втором цикле, в котором происходит выборка, в частности, предоплат от клиентов - ошибка:
X++:
    while select fJour
        where (fJour.Module             == FactureModule_RU::Cust                         &&
              (fJour.FactureType        == FactureType_RU::AmoutDifference                ||
               fJour.FactureType        == FactureType_RU::ExchAdj                        ||
               fJour.FactureType        == FactureType_RU::AdvanceAdjustment              ||
               fJour.FactureType        == FactureType_RU::VATAdjustment                  ||
               fJour.FactureType        == FactureType_RU::Prepayment)                    &&
              (fJour.InventProfileType  != InventProfileType_RU::CommissionPrincipalAgent &&
               fJour.InventProfileType  != InventProfileType_RU::CommissionAgent          &&
               fJour.InventProfileType  != InventProfileType_RU::Bailee))                 ||

              (fJour.FactureType == FactureType_RU::TaxCorrection               &&
              (fJour.Module      == FactureModule_RU::TaxCorrectionSales        ||
               fJour.Module      == FactureModule_RU::TaxCorrectionSales_Vend)) &&

         [B]    ((fJour.FactureDate >= fromDate                                    &&
               fJour.FactureDate <= min(toDate, #BeforeTransitionStartDate))    ||
              (fJour.ReverseDate                                                &&
               fJour.ReverseDate >= fromDate                                    &&
               fJour.ReverseDate <= min(toDate, #BeforeTransitionStartDate)))[/B]
Получается условие, что дата фактуры должна быть меньше 31\12\2005
Убрал min(toDate, #BeforeTransitionStartDate), заменив просто на toDate


AX 2009 RU5
Старый 22.04.2011, 00:08   #2  
Jabberwocky is offline
Jabberwocky
Microsoft Dynamics
Аватар для Jabberwocky
Сотрудники Microsoft Dynamics
 
274 / 307 (11) ++++++
Регистрация: 02.09.2005
Адрес: Москва
Ошибки здесь никакой нет, этот метод предназначен для обработки фактур, зарегистрированных до начала переходного периода НДС (т.е. до 01.01.2006) по методу налогообложения "по оплате". См. также методы initRecordSortedList(), initOnDelivery() в этом же классе. Кстати, в RU-6 была "оптимизирована" значительная часть кода по обработке НДС, утратившая актуальность.
__________________
You should use Bing before asking dumb questions.
За это сообщение автора поблагодарили: jonny (3).
Старый 22.04.2011, 07:44   #3  
jonny is offline
jonny
Участник
Аватар для jonny
Самостоятельные клиенты AX
 
217 / 124 (5) +++++
Регистрация: 10.02.2006
Адрес: СПб-Екб-?
Ага, надо было не так категорично писать.
Книга формируется в первый раз, в этом случае в диалоге поле "Начальная дата" пустая и в итоге выполнение кода идет только в метод initOnPayment()
Где-то на форуме мелькало что первую книгу надо обрабатывать за предыдущий отчетный период, тогда
Где можно подробнее про это почитать?
Старый 22.04.2011, 10:38   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от Jabberwocky Посмотреть сообщение
Ошибки здесь никакой нет, этот метод предназначен для обработки фактур, зарегистрированных до начала переходного периода НДС (т.е. до 01.01.2006) по методу налогообложения "по оплате". См. также методы initRecordSortedList(), initOnDelivery() в этом же классе. Кстати, в RU-6 была "оптимизирована" значительная часть кода по обработке НДС, утратившая актуальность.
В RU-6 в методе BookDataCalc_Sales_RU.initRecordSortedList() вызов данного метода происходит так

X++:
    if (fromDate < #TransitionStartDate)
    {
        switch (bookTable.Policy)
        {
            case CustTaxation_RU::OnDelivery :
                this.initOnDelivery();
                break;

            case CustTaxation_RU::OnPayment  :
                this.initOnPayment();
                break;
        }
    }
    else
    {
        this.initOnDelivery();
        this.initOnPayment();
    }

Тут непонятно, зачем вообще был сделан вызов метода this.initOnPayment() в ветке else? Ведь очевидно же, что и fromDate, и toDate будут больше, чем #BeforeTransitionStartDate. Как следствие, выборки не вернут ничего и не будет никакой обработки в методе initOnPayment().

В общем-то, это правильно. Ведь после 01.01.2006 расчета НДС по оплате больше не выполняется. Только по отгрузке. Вопрос только в том, зачем вообще надо было делать этот вызов? Задел на будущее?
За это сообщение автора поблагодарили: EVGL (3).
Старый 24.04.2011, 16:52   #5  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Поддерживаю. Какова вероятность того, что вернут расчет по оплате? Крайне низка:
- государству это не выгодно
- обработка данных усложняется
- уводит только дальше от - декларативно приветствуемых - европейских стандартов.

Все эти живые трупы в приложении только усложняют отладку.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка времени выполнения в ComExcelDocument_RU.findRange() Toto DAX: Программирование 47 26.04.2018 10:45
axforum blogs: Формат адресов. AddressMap_RU Blog bot DAX Blogs 0 08.02.2011 12:11
Ax2009 RU5: класс CustVendAutoSettlement_Cust_RU, метод description() Damn DAX: Программирование 4 18.12.2010 15:42
DynamicsAxSCM: Sales and purchase prices in relation to the item price setup in Microsoft Dynamics AX 2009 Blog bot DAX Blogs 0 11.02.2010 09:05
Вопрос по классу SalesPurchReport_RU Кирилл DAX: Программирование 4 27.02.2004 13:28

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

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

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