Цитата:
Сообщение от
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 расчета НДС по оплате больше не выполняется. Только по отгрузке. Вопрос только в том, зачем вообще надо было делать этот вызов? Задел на будущее?