Исследование отката платежного поручения
Выносится на обсуждение исследование вопроса возможности редактирования платежного поручения. Пока в Axapta нет такой возможности. При исследовании этого вопроса пришли к мнению, что для редактирования платежного поручения лучше всего пойти по пути генерации ПП, а затем его отката; сначала сгенерить платежку используя стандартный функционал, а затем откатить все изменения, произошедшие в таблицах базы. Далее привожу те изменения, которые необходимо выполнить для отката.
Суть отката состоит в следующем:
1. Изменение статуса откатываемого платежного поручения.
Меняется значение поля PaymentStatus в таблице LedgerJournalTrans с послано на Нет. Это происходит путем вызова метода clicked меню Статус оплаты -> Не используется.
<pre>//Изменяем статус ПП
VendPaymentReconciliationNone.clicked();</pre>
2. Удаление записи из таблицы BankPaymentOrderLog_Ru, соответствующей отчету по ПП.
Перед генерации ПП в таблицу BankPaymentOrderLog_Ru записываются данные, которые затем попадают в отчет "Платежное поручение". Для отката эту срочку необходимо удалить. Из таблицы LedgerJournalTrans берутся значения двух полей: номер журнала - JournalNum и номер уникальный номер платежного поручения - Voucher. По этим полям находится строка в таблице BankPaymentOrderLog_Ru.
<pre>BPOLRT = BankPaymentOrderLog_Ru::find(JournalNumTMP, VoucherTMP);
BPOLRT.doDelete();</pre>
<i>Примечание:</i> В новом Service Pack 2.0 вместо таблицы BankPaymentOrderLog_Ru используется таблица BankPaymentOrderJour_Ru.
3. Удаление значений двух полей (PaymentReference и BankChequeNum) из таблицы LedgerJournalTrans и установка флага LedgerJournalTrans.NoEdit в значение No.
<pre>//Удаляем значения полей
LJT.BankChequeNum = "";
LJT.PaymentReference = "";
LJT.NoEdit = NoYes::No;
LJT.Update();</pre>
Откат сейчас запускается на тестирование.
На форуме есть проект, содержащий необходимую функциональность для редактирования платежного поручения.
<a href="http://www.axforum.info/forums/showthread.php?s=&threadid=208"><font color=red>http://www.axforum.info/forums/showthread.php?s=&threadid=208</font></a>
<p align = right><a href="mailto:anton@happybaby.ru"><i>Антон Скоробогатов</i></a></p>
|