27.06.2011, 12:33 | #1 |
Участник
|
Отмена сопоставлений
Добрый день. Такой вопрос.
Модуль: Расчеты с поставщиками; 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; } ............ |
|
27.06.2011, 13:09 | #2 |
Участник
|
А сопоставляете Вы тоже выбранной датой? Дата повторного сопоставления должна быть больше чем дата рассопоставления (на дату). Иначе(поскольку при сопоставлении могут генериться проводки) у Вас будет нарастать при повторном сопоставлении сальдо.
То есть у Вас 31.01 счёт задолженности например 62.01 будет два раза закрываться два раза на счёт оплат(например 62.02). А обратная проводка будет только 21.06. |
|
27.06.2011, 13:11 | #3 |
Участник
|
Там не очень хорошо что хотя оно и не сопоставляет - не говорит почему - я как то инфолог туда встраивал какой датой можно проводить сопоставление и почему нельзя сейчас.
|
|
27.06.2011, 13:21 | #4 |
MCTS
|
Странно, 2009, ру6.
воспроизвел ситуацию, все успешно получилось, у вас операции в разных валютах? |
|
27.06.2011, 13:33 | #5 |
Участник
|
Повторное сопоставление Крайней датой (сегодняшнее число, 27.06.2011). Операции в разных валютах. Дебетовая в RUB, кредитовая в USD
|
|
27.06.2011, 13:35 | #6 |
Участник
|
Там есть крыжик:
X++: if (! TaxParameters::find().ReverseSettlementDatePrinciple_W) { return map.pack(); } |
|
27.06.2011, 13:41 | #7 |
Участник
|
ага, флаг установлен в true
Последний раз редактировалось Andrux; 27.06.2011 в 13:44. |
|
27.06.2011, 13:48 | #8 |
Участник
|
Ну а если попробовать выбранной датой - и выбрать сегодня - всё равно не работает?
|
|
27.06.2011, 14:17 | #9 |
Участник
|
пробовал Выбранная дата с любыми значениями, и сегодня, и дату проводки, и дату платежа, и дату отмены сопоставления.
|
|
27.06.2011, 14:18 | #10 |
Участник
|
Проверил - оплата старая 2009 г, инвойс 27.06.
Сопоставил 27.06. Рассопоставил 28.06. Повторно сопоставить 27.06 не дало. Повторно сопоставить 29.06 дало. Крыж в taxParameters включен, всё делал Выбранной датой. Попробуйте поставьте брейкпойнт в calcBalanceOnSelectedDate_W, что в мапе, какая дата туда передастся(в transactionDate). Последний раз редактировалось VORP; 27.06.2011 в 14:20. |
|
27.06.2011, 14:34 | #11 |
Участник
|
как раз дата, которой выполнили отмену сопоставления 21.06.2011
|
|
27.06.2011, 17:40 | #12 |
Участник
|
Закрался косой?
|
|
27.06.2011, 18:00 | #13 |
Участник
|
Сложно сказать, Вам на месте должно быть видней. Я проверил на стандартной RU6 всё отработало нормально. Я бы подебажил calcBalanceOnSelectedDate_W, что оно там делает. Смысл проверки, как я говорил уже, в том чтобы не получилось что на определённую дату проводка сопоставлена дважды(хотя потом один раз аннулируется при рассопоставлении).
|
|
|
Похожие темы | ||||
Тема | Ответов | |||
Реверс сопоставлений | 2 | |||
Отмена закрытия склада. | 2 | |||
Отмена транспортировки палеты со статусом обработки "Начато" | 4 | |||
Отмена проводки | 1 | |||
Как сделать CommandButton Отмена? | 12 |
|