Иногда возникает проблема с задвоением документов пришедших по клиент-банку. Ошибка так просто не повторяется поэтому в кворум писать смысла особого нет. В принципе мы сам то ее нашли и поправили, так что если кому интересно то поделюсь.
есть такая процедурина func.prc и в ней есть не корректный код, а именно
if getint('MH_MMAIL_TIP_ACC')=2{
PayDocM3.DbAcc := RPad(PayDocM3.DbAcc,10,' ');
PayDocM3.KrAcc := RPad(PayDocM3.KrAcc,10,' ');
};
CommonCheckOperation(MailPayOrOperation,PayDocM3.DocCode);
SetInOperation(MailPayOrOperation,PayDocM3.DocCode,PayDocM3.DocStatus);
и самое не приятное что результат работы функции CommonCheckOperation не обрабатывается. Исправляем это дело следующим образом
if getint('MH_MMAIL_TIP_ACC')=2{
PayDocM3.DbAcc := RPad(PayDocM3.DbAcc,10,' ');
PayDocM3.KrAcc := RPad(PayDocM3.KrAcc,10,' ');
};
if CommonCheckOperation(MailPayOrOperation,PayDocM3.DocCode)> 0 exit;
SetInOperation(MailPayOrOperation,PayDocM3.DocCode,PayDocM3.DocStatus);
и проблема с задвоением документов исчезает. Такое дело в процедуре встречается несколько раз.
есть такая процедурина func.prc и в ней есть не корректный код, а именно
if getint('MH_MMAIL_TIP_ACC')=2{
PayDocM3.DbAcc := RPad(PayDocM3.DbAcc,10,' ');
PayDocM3.KrAcc := RPad(PayDocM3.KrAcc,10,' ');
};
CommonCheckOperation(MailPayOrOperation,PayDocM3.DocCode);
SetInOperation(MailPayOrOperation,PayDocM3.DocCode,PayDocM3.DocStatus);
и самое не приятное что результат работы функции CommonCheckOperation не обрабатывается. Исправляем это дело следующим образом
if getint('MH_MMAIL_TIP_ACC')=2{
PayDocM3.DbAcc := RPad(PayDocM3.DbAcc,10,' ');
PayDocM3.KrAcc := RPad(PayDocM3.KrAcc,10,' ');
};
if CommonCheckOperation(MailPayOrOperation,PayDocM3.DocCode)> 0 exit;
SetInOperation(MailPayOrOperation,PayDocM3.DocCode,PayDocM3.DocStatus);
и проблема с задвоением документов исчезает. Такое дело в процедуре встречается несколько раз.
Комментарий