Задача 102.126762

Задача :102.126762

2013-12-08 03:10:42
Краткое описание :
Ошбика удаления платжного документа
Описание :
Платежное поручение
Что измененно :

Произошел неприятный инцидент. Пользователь пытался удалить собственный платежный документ. Вместо этого система удалила совершенно другой документ, у которого были проводки и закрытый статус.
Подробное описание см. во вложении.
Как измененно :

Перед тем как произвести удаление, происходит
проверка существования следующей записи, что бы
определить на какой записи нужно установить текущую
позицию после удаления. Делается это с помощью
операторов GetNext и GetPrev. Однако на платформе
Oracle визуальная предыдущая запись может отличатся от
того что возвращает функция GetPrev. В итоге, в
определенных случаях, данная проверка может сбивать
текущую позицию, что и приводит к удалению совершенно
другого документа.
Вышеописанные манипуляции уже устарели, т.к.
реализованы эти проверки на системном уровне. Поэтому
данный код был удален.

Был еще раз переработан алгоритм удаления:
- добавлена дополнительная (повторная)
перепроверка прав пользователя непосредственно перед
вызовом функции удаления.
- заменен алгоритм перемещения на следующую запись
после удаления (надеюсь более надежный не приводящий к
случайным перемещениям позиций).
- аналогично доработана функция удаления платежей
по пометке.

Название продукта Название компонента Тип Последняя версия Дата выхода
F_PLPORF_PLPORRES9.1.017.0
F_PLPORF_PLPORRES9.1.17.0