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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.02.2013, 15:58   #1  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
И снова здравствуйте, любители сопоставлений! Оказывается, просто замена дебетовой проводки на кредитовую чинит одно, но ломает другое. Оказывается, нужно там еще передать валюту из ДЕБЕТОВОЙ проводки. Вот так:
X++:
            // </GEEU>
                                                    // BugFix 26.12.12 -->
                                                    //custVendTransDebit,
                                                    custVendTransCredit,
                                                    // BugFix 26.12.12 <--
                                                    this.amount(_settleAmountCurDebit),
                                                    custVendTransSettlement,
                                                    settlementGroupPlaceHolder,
                                                    custVendTransCredit.Dimension,
                                                    custVendTransCredit.PostingProfile,
                                                    LedgerTransTxt::Settlement,
                                                     /* <SYS>
                                                     this.amount(_settleAmountMstDebit));
        }
        else
        {
            CustVendSettle_Vend::postingProfileSettle(ledgerVoucher,
            </SYS> */
                                                    // <GEEU>
                                                    this.amount(closeAmountMST)
                                                    // BugFix 19.02.13 -->
                                                    , 0
                                                    , custVendTransDebit.CurrencyCode);      !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                                                    // BugFix 19.02.13 <--
по аналогии как в
X++:
        if (reversePrepayment)
        {
            CustVendSettle::postingProfileSettle_RU(ledgerVoucher,
                                                    custVendTransDebit,
                                                    this.amount(_settleAmountCurCredit),
                                                    custVendTransSettlement,
                                                    settlementGroupPlaceHolder,
                                                    custVendTransDebit.Dimension,
                                                    custVendTransDebit.PostingProfile,
                                                    LedgerTransTxt::Settlement,
                                                    this.amount(- closeAmountMST),
                                                    0,
                                                    custVendTransCredit.CurrencyCode); !!!!!!!!!!!!!!!   :)

            CustVendSettle::postingProfileSettle_RU(ledgerVoucher,
                                                    custVendTransCredit,
                                                    this.amount(-_settleAmountCurCredit),
                                                    custVendTransSettlement,
                                                    settlementGroupPlaceHolder,
                                                    custVendTransCredit.Dimension,
                                                    custVendTransCredit.PostingProfile,
                                                    LedgerTransTxt::Settlement,
                                                    this.amount(closeAmountMST));
Фишка вот в чем, если сопоставляются две проводки в разных валютах, то Аксапта из Евро(например) с неправильно подсунутой валютой пытается перевести опять в Евро

Последний раз редактировалось Sada; 20.02.2013 в 16:01.
За это сообщение автора поблагодарили: S.Kuskov (1).
Старый 04.02.2015, 18:05   #2  
b_nosoff is offline
b_nosoff
Читатель
Аватар для b_nosoff
MCP
MCBMSS
 
197 / 143 (5) +++++
Регистрация: 01.12.2004
Адрес: Msk
Записей в блоге: 13
\Classes\CustVendSettle\calcCreditToDebitExchRate()

X++:
    // Use the payment date and exchange rates from the invoice company.
    exchangeRateHelper = ExchangeRateHelper::newExchangeDate(Ledger::primaryLedger(CompanyInfo::findDataArea(debitCompany).RecId),
                                                                custVendTransDebit.CurrencyCode,  // Invoice currency
                                                                custVendTransCredit.TransDate); // Payment date
                                                                // <--

AX2012 R2 CU7

UPDATE: Хотя, тут, может быть, все верно - рассчитывается курс на дату платежа, а не накладной. Но неочевидно как-то, похоже на копипасту )
__________________
Axapta non erubescit

Последний раз редактировалось b_nosoff; 04.02.2015 в 19:11.
Теги
ax2009, ax2012, custvendsettle, баг, сопоставление

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
эффективное отображение исполнения кода Evgeniy2020 DAX: Программирование 8 31.07.2008 11:11
как сообщить об ошибках, не прерывая исполнения кода chanchala DAX: Программирование 11 16.07.2008 12:28
проблема с настройкой штрихового кода Nic DAX: Функционал 4 27.12.2004 09:04
Отображение названия вместо кода! demID DAX: Программирование 31 05.10.2004 00:03
Использование штрихового кода (barcode) в Аксапта Pavlo AKA Panok DAX: Функционал 9 17.10.2003 15:13
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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