Показать сообщение отдельно
Старый 06.12.2001, 23:28   #1  
Anton Sk. is offline
Anton Sk.
Участник
 
35 / 11 (1) +
Регистрация: 14.11.2002
Исследование отката платежного поручения
Выносится на обсуждение исследование вопроса возможности редактирования платежного поручения. Пока в 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>