Показать сообщение отдельно
Старый 27.06.2011, 12:33   #1  
Andrux is offline
Andrux
Участник
Axapta Retail User
 
263 / 17 (1) ++
Регистрация: 29.05.2007
Отмена сопоставлений
Добрый день. Такой вопрос.
Модуль: Расчеты с поставщиками; AX 2009, RU5.
Пользователь реверсировал сопоставление двух операций (накладная от 11.01.2011, платеж от 31.01.2011) выбранной датой: 21.06.2011. В результате теперь система не дает провести повторное сопоставление. Разбираюсь с проблемой. Выяснилось. При реверсировании сопоставления Указанной датой в таблице VendSettlement проставляется ссылка на реверсирующую операцию и признак реверсирующей операции (поля ReversedRecId_RU и ReverseTrans_RU).
При сопоставлении в классе CustVendSettle, в методе settleNow создается Map paymentReversedAmounts.
X++:
..........
// Get credit (payment) transaction
        if (!areCreditsDone && (areDebitsDone || specTransCredit.Balance01 == 0))
        {
            areCreditsDone = ( !(this.fetchPayment(_company, _tableId, _recId)));
            // <GEEU>
            paymentReversedAmount = 0;
            // </GEEU>
            if (!areCreditsDone)
            {
                creditTransState = #TransStateFound;
                isCreditTransFullySettled = false;
                specTransRecordsProcessed++;
                // <GEEU>
                paymentReversedAmounts = Map::create(CustVendTransData::construct(custVendTransCredit).mapReversedAmountsCur_RU());
                // </GEEU>
            }
            else
            {
                creditTransState = #TransStateNone;
            }
        }
........
и дальше в томже методе сопоставление прерывается
X++:
............
 if ( !this.checkCurDealCanBeSettled_RU())
            {
                throw error("@GEE30084");
            }
            paymentReversedAmount = this.calcBalanceOnSelectedDate_W(specTransCredit, custVendTransCredit, paymentReversedAmounts, paymentReversedAmount);
            if (! specTransCredit.Balance01)
            {
                continue;
            }
............
Что делать? получается открытые операции, сопоставление по которым было отменено Выбранной датой невозможно сопоставить????