Задача 102.104640

Задача :102.104640

2015-08-31 14:23:51
Краткое описание :
Высвобождение ранее распределенных платежей по корректирующим отрицательным ДО
Описание :
Платежное поручение
Что измененно :

Реализовать высвобождение ранее распределенных
платежей по корректирующим отрицательным ДО, с
возможностью выбора пользователем платежей, из которых
производить высвобождение, с указанием сумм для
высвобождения.
Как измененно :

Реализован функционал автоматического
высвобождения ранее распределенных платежей по
корректирующим ДО с отрицательной суммой.

В локальном меню интерфейса редактирования ДО
(закупка/продажа) добавлен пункт - "Высвобождение
платежа". При выполнении этого пункта меню, запускается
автоматическое высвобождение платежей.
Поиск платежей для высвобождение работает по
следующему принципу :
1) В спецификации корректирующего ДО ищем
отрицательные позиции и рассчитываем сколько необходимо
по ним высвободить (складываем все суммы по данной
услуге и если итоговая сумма получается отрицательная,
значит высвобождение необходимо).
2) По отрицательной позиции находим ДО которое
корректируем и находим в нем позицию, которая
корректируется.
3) По найденной позиции ДО ищем соответствующую
позицию в его накладной.
4) Находим платежи в которых данная позиция
накладной оплачена.

Далее происходи непосредственно высвобождение
платежей и работает оно по следующему алгоритму :
1) Сортируем платежи по возрастанию даты оплаты и
начинаем высвобождать с самого раннего платежа, по
каждой позиции спецификации.
2) Если сумма высвобождения меньше платежа, то на
сумму высвобождения создается хозоперация с минусом, на
дату корректирующего ДО, к которой привязано то же ДО,
что и в найденном платеже и производим распределение по
спецификации накладной именно той позиции,
высвобождение по которой делаем. Для баланса суммы
создается свободная хозоперация на сумму равную по
модулю минусовой хозопераций и на дату корректирующего
ДО.
3) Если суммы платежа не хватило, то минусовая и
плюсовая хозоперации создаются на сумму всего платежа,
так же как описано во 2-ом пункте.
4) Затем ищем следующий платеж и продолжаем
высвобождать остаток. И так происходит до тех пор, пока
не будет высвобождена вся сумма по данной позиции
спецификации ДО.
5) Затем переходим к следующей позиции
спецификации ДО и производим высвобождение по описанной
выше схеме.

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

Название продукта Название компонента Тип Последняя версия Дата выхода
L_BASEDOCL_BASEDOCRES9.1.44.02015-08-31 14:23:51
L_BASEDOCL_BASEDOCRES9.1.044.0