04.02.2020, 09:46 | #5 |
Участник
|
Из ГК конечно данные берутся, вроде это известная ошибка стандарта, когда у вас преобразование сделано той же датой, что и основная проводка, как то исправлял, для клиентов или для поставщиков.
Там проблема в том, что подбор по проводкам ГК идет по принципу какую первую проводку с типом Сальдо по поставщику\Сальдо по клиенту система определит для ваучера и даты (а номер ваучера то у нас для оплаты и предоплаты одинаковый), тот счет и будет использовать, т.е. либо авансовый, либо нет. Исходный код вот тут RLedgerTurnoverTypeCustVend\getMainAccountNum (метод используется для ОСВ и по клиентам и по поставщикам, учтите этот момент когда\если будете вносить правки) : X++: /// <summary> /// Retrieves the Main account for the transaction. /// </summary> /// <param name="_custVendTrans"> /// The transaction table buffer. /// </param> protected void getMainAccountNum(CustVendTrans _custVendTrans) { GeneralJournalAccountEntry generalJournalAccountEntry; GeneralJournalEntry generalJournalEntry; SubledgerVoucherGeneralJournalEntry subledgerVoucherGeneralJournalEntry; if (_custVendTrans.Voucher != voucher || _custVendTrans.TransDate != accountingDate || _custVendTrans.PostingProfile != postingProfile) { voucher = _custVendTrans.Voucher; accountingDate = _custVendTrans.TransDate; postingProfile = _custVendTrans.PostingProfile; while select * from generalJournalAccountEntry exists join generalJournalEntry where generalJournalEntry.RecId == generalJournalAccountEntry.GeneralJournalEntry && generalJournalEntry.Ledger == Ledger::current() exists join subledgerVoucherGeneralJournalEntry where subledgerVoucherGeneralJournalEntry.GeneralJournalEntry == generalJournalEntry.RecId && subledgerVoucherGeneralJournalEntry.Voucher == voucher && subledgerVoucherGeneralJournalEntry.AccountingDate == accountingDate { if ((_custVendTrans.AmountMST && generalJournalAccountEntry.AccountingCurrencyAmount * _custVendTrans.AmountMST > 0) || (! _custVendTrans.AmountMST && generalJournalAccountEntry.ReportingCurrencyAmount * _custVendTrans.ReportingCurrencyAmount > 0) && _custVendTrans.Correct == generalJournalAccountEntry.IsCorrection) { mainAccountNum = DimensionStorage::getMainAccountNumFromLedgerDimension(generalJournalAccountEntry.LedgerDimension); if (conFind(this.ledgerPostingType(), generalJournalAccountEntry.PostingType)) { break; } } } } }
__________________
Sergey Nefedov |
|
|
За это сообщение автора поблагодарили: Logger (5), mnt_dx (3). |
|
|