Задача 101.66265

Задача :101.66265

2019-04-04 01:01:21
Краткое описание :
Резервирование во время пересчет резервов
Описание :
Пересчет резервов
Что измененно :

Резервирование во время пересчета резервов

Управление сбытом - Операции - Операции с резервами - Пересчет резервов
На настоящий момент судя по журналам изменения БД данный алгоритм работает так
1. обнуляет все резервы в текущих остатках всех расчетных МЦ
2. Бежит по всем резервам и последовательно добавляет к резервам в остатках найденное
это может длиться несколько минут, а в случае пересчета резервов по всем МЦ - около 2-х часов
в это время МЦ по сути свободны от резерва и пользователи умудряются в это время поставить еще дополнительные резервы. в итоге после пересчета получаем неверные свободные остатки
Предлагается для данного расчета сделать режим пост-расчетной модификации остатков (без обнуления)
1. сначала ищем все резервы, сохраняем их во времянку
2. после всех расчетов записываем обновленную информацию в остатки
и лучше бы считать по 1 разрезу, одной МЦ, а не скопом, чтобы сократить до минимума промежуток времени межу началом расчета и записью в остатки по 1 МЦ в 1 разрезе. пусть это будет в 1,5 раза дольше, но надежнее.
Текущим режим хотелось бы оставить, как как сложно предугадать проблемы, которые могут возникнуть если во время 1 го этапа кто то изменит остатки/резервы
Как измененно :

При пересчете резервов по текущей МЦ ставится семафор на изменение остатков. Обнуление и пересчет резерва по ДО производится последовательно.

Название продукта Название компонента Тип Последняя версия Дата выхода
L_RESERVEL_RESERVERES9.1.32.02019-04-04 01:01:21
L_RESERVEL_RESERVERES9.1.032.0