Задача 102.129857

Задача :102.129857

Краткое описание :
Упорядочить нумерацию ПП с реестрами, формируемыми по 2-му и 3-му алгоритму
Описание :
Платежные ведомости
Что измененно :
Помечаю несколько платежных ведомостей. Обрабатываю их через
банк с параметром "одним поручением на одну платежную ведомость".
На закладке "Дополнительная информация" указываю параметры формирования реестра
в банк "Заполнять организацию и банк получателя из лицевого счета сотрудника",
либо "Обрабатывать только спецификации с указанным банком получателя".
В сформированных платежных поручениях нумерация идет с пропуском, например,
000001 и следом за ней 000003 (нет 000002).
Последующие сформированные платежи тоже нумеруются с "пропуском" количества
ранее сформированных платежей.
Как измененно :
Переработаны алгоритмы формирования ПП с реестром 2 и 3 с целью
упорядочения нумерации ПП (без пропусков).

Пропуск номеров в формируемых по алгоритму 2 и 3 ПП с реестром возникал, если
нумерация ПП производится по спецтаблице.

Настройки, при этом, в Галактике должны быть такие:

"Настройки Галактики \ Общие настройки системы \ Автонумерация документов" = 'с
помощью специальной таблицы'.
и/или
"Настройки Галактики \ Бухгалтерский контур \ Формирование номеров \ Нумерация
платежных документов \ Нумерация документов модуля "ФРО"" = 'по настройке
"Автонумерация документов"' или 'с помощью специальной таблицы'.

1. Доработан алгоритм 2

Алгоритм 2 формирования реестра ('Заполнять организацию и банк получателя из
лицевого счета сотрудника') проходил по всем помеченным позициям спецификации
всех помеченных ПВ и формировал единую выборку банков на основании данных
лицевых счетов сотрудников (закладка "Банк") из указанных позиций. Затем на
основании выборки банков формируется столько ПП с реестром, сколько банков в
выборке - каждому банку соответствует свой ПП. Если есть ЛС без банка, по этим
ЛС формируется ПП с реестром по пустому банку.

Сейчас в режиме 'одним поручением на одну платежную ведомость' выборка банков
формируется отдельная для каждой ПВ. Это позволяет при групповой обработке ПВ
избежать пропуска номеров для ПП.

Пропуска номеров возникали из-за многократного дублирования ПП - по одной и той
же ПВ плодилось столько дублей, сколько банков было в общей выборке по всем ПВ:
и для каждого такого дубля наращивался номер в спецтаблице по ПП. Лишние дубли
алгоритм потом "резал" (дубли в ПП не превращались - создание лишнего документа
отменялось из-за несоответствия банка в ЛС или из-за признака обработанности
позиции спецификации), а вот номер в спецтаблице из-за них уже был наращен.

Кроме того, оптимизировалось быстродействие алгоритма 2 в 'одним поручением на
одну платежную ведомость': прогон в каждой ПВ идёт только по банкам из текущей
ПВ, нет лишних прогонов по "чужим" банкам из других помеченных ПВ.

2. Доработан алгоритм 3

Алгоритм 3 формирования реестра ('Обрабатывать только спецификации с указанным
банком получателя') проходит по всем позициям спецификации ПВ и отбирает для
обработки те из них, у которых банк в ЛС совпадает с заданным в параметрах
формирования документа на выдачу банком. Затем формируется одно ПП с реестром
по заданному банку на сумму отобранных таким образом позиций.

В алгоритме 3 (в режимах 'одним поручением на одну платежную ведомость' и
'одним поручением на все платежные ведомости') даже если не было позиций для
включения в ПП (не было позиций с таким банком либо все такие позиции уже были
обработаны), номер в спецтаблице для ПП наращивался.

Устранено. Перед тем как формировать буфер ПП и заполнять его данными, алгоритм
проверяет признаки обработанности позиций и наличие позициий с указанным банком
- и если позиций для включения в ПП с реестром не нашлось, отменяет
формирование ПП с реестром. За счёт того, что буфер ПП, при этом, не
формируется, номер в спецтаблице остаётся прежним и не наращивается.

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