Показать сообщение отдельно
Старый 20.02.2013, 15:58   #6  
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).