21.04.2011, 10:25 | #1 |
Участник
|
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] Убрал min(toDate, #BeforeTransitionStartDate), заменив просто на toDate AX 2009 RU5 |
|
22.04.2011, 00:08 | #2 |
Microsoft Dynamics
|
Ошибки здесь никакой нет, этот метод предназначен для обработки фактур, зарегистрированных до начала переходного периода НДС (т.е. до 01.01.2006) по методу налогообложения "по оплате". См. также методы initRecordSortedList(), initOnDelivery() в этом же классе. Кстати, в RU-6 была "оптимизирована" значительная часть кода по обработке НДС, утратившая актуальность.
__________________
You should use Bing before asking dumb questions. |
|
|
За это сообщение автора поблагодарили: jonny (3). |
22.04.2011, 07:44 | #3 |
Участник
|
Ага, надо было не так категорично писать.
Книга формируется в первый раз, в этом случае в диалоге поле "Начальная дата" пустая и в итоге выполнение кода идет только в метод initOnPayment() Где-то на форуме мелькало что первую книгу надо обрабатывать за предыдущий отчетный период, тогда Где можно подробнее про это почитать? |
|
22.04.2011, 10:38 | #4 |
Участник
|
Цитата:
Сообщение от Jabberwocky
Ошибки здесь никакой нет, этот метод предназначен для обработки фактур, зарегистрированных до начала переходного периода НДС (т.е. до 01.01.2006) по методу налогообложения "по оплате". См. также методы initRecordSortedList(), initOnDelivery() в этом же классе. Кстати, в RU-6 была "оптимизирована" значительная часть кода по обработке НДС, утратившая актуальность.
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 |
Banned
|
Поддерживаю. Какова вероятность того, что вернут расчет по оплате? Крайне низка:
- государству это не выгодно - обработка данных усложняется - уводит только дальше от - декларативно приветствуемых - европейских стандартов. Все эти живые трупы в приложении только усложняют отладку. |
|
|
|