Показать сообщение отдельно
Старый 13.07.2011, 12:54   #1  
Andrux is offline
Andrux
Участник
Axapta Retail User
 
263 / 17 (1) ++
Регистрация: 29.05.2007
Покупка, продажа, перевод валюты
Добрый день! Пытаюсь настроить функционал по учету операций с валютой. Ax2009, RU5.
Хочу сделать продажу валюты.
Делаю как описано в руководстве к RU4: все настроил, создаю строку журнала платежей поставщикам: в счете поставщик, в корр. счете банк, сумма по Дт со знаком "+". Указал тип банковской проводки "Продажа валюты", способ оплаты, к которому привязан этот тип банковской проводки. При разноске журнала, ругается, что
Цитата:
Поле "Поручение на продажу/покупку/перевод валюты: " должно быть заполнено.
Это таблица BankCurrencyTransferLog_RU. Получается, что она создается в момент Импортирования выписки. Т.е., вручную, без банк-клиента невозможно совершить операции по продаже валюты?
Кроме того, при разноске журнала платежей, в классе LedgerJournalTransUpdateVend, в методе postNewVendorVoucher, есть код:
X++:
.....
 // <GEEU>
        if (CompanyInfo::features_W() == CRSEFeatures_W::RU && _ledgerJournalTrans.BankTransType)
        {
            bankAdvancedTransType = BankTransType::find(_ledgerJournalTrans.BankTransType).BankAdvancedTransType_RU;
            if (bankAdvancedTransType != BankAdvancedTransType_RU::None)
            {
                if (_ledgerJournalTrans.AmountCurCredit && ! _ledgerJournalTrans.BankCentralBankPurchaseCur_RU)
                {
                    select firstonly forupdate localLedgerJournalTrans
                        where localLedgerJournalTrans.RecId == _ledgerJournalTrans.RecId;
                    bankCurrencyTransferLog = BankCurrencyTransferLog_RU::initFromLedgerJournalTrans(_ledgerJournalTrans, false);
                    localLedgerJournalTrans.BankCentralBankPurchaseCur_RU = bankCurrencyTransferLog.BankCurrencyTransferId;
                    localLedgerJournalTrans.doUpdate();
                }
                else if (bankAdvancedTransType  == BankAdvancedTransType_RU::CurrTransfer   &&
                         _ledgerJournalTrans.AmountCurDebit)
                {
                    select firstonly forupdate localLedgerJournalTrans
                        where localLedgerJournalTrans.RecId == _ledgerJournalTrans.RecId;
                    bankCurrencyTransferLog = BankCurrencyTransferLog_RU::initFromLedgerJournalTrans(_ledgerJournalTrans, true);
                    localLedgerJournalTrans.BankCentralBankPurchaseCur_RU = bankCurrencyTransferLog.BankCurrencyTransferId;
                    localLedgerJournalTrans.doUpdate();
                }
                else
                {
                    bankCurrencyTransferLog = BankCurrencyTransferLog_RU::find(_ledgerJournalTrans.BankCentralBankPurchaseCur_RU);
                }
                vendVoucher.parmBankCurrencyTransferId_RU(bankCurrencyTransferLog.BankCurrencyTransferId);
            }
        }
        // </GEEU>
.....
получается номер перевода формируется только в том случае, если сумма идет по Кт?