Добрый день. Такой вопрос.
Модуль: Расчеты с поставщиками; 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;
}
............
Что делать? получается открытые операции, сопоставление по которым было отменено Выбранной датой невозможно сопоставить????