Показать сообщение отдельно
Старый 06.10.2010, 11:06   #1  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Не работает корректировка налога в стандартной AX2009
Попробуйте создать Заказ на продажу, в котором будет 2 номенклатуры т.е. 2 строки, облагаемые налогом. Затем перейдите в Настройка->Налог и откорректируйте общий налог на какую-нибудь сумму. Нажмите кнопку "Применить". Закройте форму корректировки налога. И посмотрите Запрос->Итоги или опять откройте форму корректировки налога и там и там Налог будет уже другой.

В классе TaxRegulation в методе saveTaxRegulation вместо

X++:
        if (taxWorkRegulation)
        {
            taxWorkRegulation.HeadingTableId                = headingTableId;
            taxWorkRegulation.HeadingRecId                  = headingRecId;
            taxWorkRegulation.TaxCode                       = tmpTaxWorkTrans.TaxCode;
            taxWorkRegulation.vatDueDate_W                  = _dateOfVatRegister;
            taxWorkRegulation.VatExchRate_W                 = _exchRateSales;
            taxWorkRegulation.TaxDirection                  = tmpTaxWorkTrans.TaxDirection;
            taxWorkRegulation.ManualInsertedTax             = tmpTaxWorkTrans.ManualInsertedTax;
            taxWorkRegulation.TaxRegulationAmountCur        = tmpTaxWorkTrans.SourceRegulateAmountCur;
            taxWorkRegulation.SourceBaseAmountCurRegulated  = tmpTaxWorkTrans.SourceBaseAmountCurRegulated;
            taxWorkRegulation.SourceRegulateAmount_W        = tmpTaxWorkTrans.SourceRegulateAmount_W;
            taxWorkRegulation.SourceBaseAmountRegulated_W   = tmpTaxWorkTrans.SourceBaseAmountRegulated_W;
            taxWorkRegulation.update();
        }
поставил
X++:
        if (taxWorkRegulation)
        {
            taxWorkRegulation.HeadingTableId                = headingTableId;
            taxWorkRegulation.HeadingRecId                  = headingRecId;
            taxWorkRegulation.TaxCode                       = tmpTaxWorkTrans.TaxCode;
            taxWorkRegulation.vatDueDate_W                  = _dateOfVatRegister;
            taxWorkRegulation.VatExchRate_W                 = _exchRateSales;
            taxWorkRegulation.TaxDirection                  = tmpTaxWorkTrans.TaxDirection;
            taxWorkRegulation.ManualInsertedTax             = tmpTaxWorkTrans.ManualInsertedTax;
            // kos 3 - 2009
            taxWorkRegulation.TaxRegulationAmountCur        += tmpTaxWorkTrans.SourceRegulateAmountCur;
            // kos 3 - 2009
            taxWorkRegulation.SourceBaseAmountCurRegulated  = tmpTaxWorkTrans.SourceBaseAmountCurRegulated;
            taxWorkRegulation.SourceRegulateAmount_W        = tmpTaxWorkTrans.SourceRegulateAmount_W;
            taxWorkRegulation.SourceBaseAmountRegulated_W   = tmpTaxWorkTrans.SourceBaseAmountRegulated_W;
            taxWorkRegulation.update();
        }
и заработало правильно.
За это сообщение автора поблагодарили: EVGL (3), M.Ruslan (1), raz (5), Кирен (1), Logger (1).