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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.07.2013, 21:28   #1  
db is offline
db
Роман Долгополов (RDOL)
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
 
393 / 692 (24) +++++++
Регистрация: 01.04.2004
Адрес: Москва
Если кому еще интересно, то проблема проявляется если по любым причинам (не обязательно отсутствие пересекающихся кодов) сумма налога получается равной 0.
Исправленный метод \Classes\CustVendPrepaymentHandling_W\postVATAmount

X++:
private void postVATAmount()
{
    LedgerBondClient_RU      ledgerBondClient;
    TaxLedgerJournal         tax;
    TaxAmount                taxAmount;
    LedgerVoucherTransObject ledgerVoucherTransObject;
    TaxWorkRegulation        taxWorkRegulation;
    TmpTaxWorkTrans          tmpTaxWorkTrans;
    ;

    ledgerVoucherObject.parmCorrection(custVendTrans.Correct);
    ledgerBondClient = ledgerVoucherObject.ledgerBondClient_RU();

    while select ledgerJournalTrans
        where ledgerJournalTrans.TaxGroup        &&
              ledgerJournalTrans.TaxItemGroup    &&
             (ledgerJournalTrans.AmountCurCredit ||
              ledgerJournalTrans.AmountCurDebit)
    {
        update_recordset taxWorkRegulation
            setting HeadingRecId = newCustVendTrans.RecId
            where taxWorkRegulation.HeadingRecId == ledgerJournalTrans.RecId;

        ledgerJournalTrans.RecId      = 0;
        ledgerJournalTrans.JournalNum = '';

        if (ledgerBondClient)
        {
            ledgerBondClient.addNewLogObject();
        }

        tax = TaxLedgerJournal::construct(TaxJournalCall::Journal,
                                          ledgerJournalTrans,
                                          null,
                                          ledgerVoucher,
                                          newCustVendTrans.RecId,
                                          UnknownNoYes::Yes);

        taxAmount = tax.calcAndPost();

        if(taxAmount)
        {
            tmpTaxWorkTrans = tax.tmpTaxWorkTrans();
            while select tmpTaxWorkTrans
            {
                tmpTaxWorkTrans.TransDate       = transDate;
                tmpTaxWorkTrans.update();

                tax.saveAndPost(exchRate, exchRateSecond, tmpTaxWorkTrans);
            }

            ledgerVoucherTransObject = LedgerVoucherTransObject::newCreateTrans(ledgerVoucherObject,
                                                                                this.ledgerPostingTypePayment(),
                                                                                this.vatPrepaymentsAccount(newCustVendTrans),
                                                                                newCustVendTrans.Dimension,
                                                                                newCustVendTrans.CurrencyCode,
                                                                                -taxAmount,
                                                                                newCustVendTrans.TableId,
                                                                                newCustVendTrans.RecId,
                                                                                0,
                                                                                exchRate,
                                                                                exchRateSecond);

            ledgerVoucher.addTrans(ledgerVoucherTransObject);

            if (ledgerBondClient)
            {
                ledgerBondClient.bondLastVRef2CurrentLog();
                ledgerBondClient.removeCurrentLogObject();
            }
        }
    }
}
2009 SP1 RU8
Теги
баг, корреспонденция, ошибка, преобразование в предоплату

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Отсутствие корреспонденции при наличии округления KiselevSA DAX: Функционал 27 19.04.2013 03:40
Преобразование оплаты в предоплату, затем назад - странные проводки Raven Melancholic DAX: Администрирование 7 29.05.2009 12:43
Отсутствие корреспонденции andrewK DAX: Функционал 8 23.09.2008 19:01
Доп. проводки при корреспонденции DmitryS DAX: Программирование 2 05.12.2007 13:21
Проводки без корреспонденции Yury DAX: Функционал 3 08.05.2003 11:10

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

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

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