Задача 103.8381

Задача :103.8381

2016-12-16 13:47:14
Краткое описание :
Нумерация платежных поручений происходит некорректно.
Описание :
Платежное поручение
Что измененно :

Нумерация платежных поручений происходит некорректно.
Как измененно :

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

Название продукта Название компонента Тип Последняя версия Дата выхода
F_PLPORF_PLPORRES9.1.70.02016-12-29 17:37:53
F_PLPORF_PLPORRES9.1.070.0