feat: внешняя обработка «Просмотр реестров платежей» 1.0.0 — чтение XML-реестров к платёжным поручениям и печать реестра

This commit is contained in:
15 changed files with 2462 additions and 0 deletions
+67
View File
@@ -0,0 +1,67 @@
# Просмотр реестров платежей
Внешняя обработка 1С:Предприятия для просмотра и печати XML-файлов реестров к платёжным поручениям на общую сумму с реестром (формат `ProcessRegPayOrder`, поставка форматов `PPRegister`, вид обмена «Обмен с ОФК (ПП с реестром)»).
Обработка внешняя: конфигурацию не меняет, с поддержки не снимает, ставится как файл `.epf`.
## Зачем
Организации получают из СУФД файлы реестров, в которых перечислены распоряжения плательщиков. Читать XML неудобно, а грузить кассовые поступления и разбирать назначения платежей ради просмотра — избыточно. Обработка показывает содержимое файлов в таблице и печатает реестр.
## Возможности
- выбор каталога с файлами `*.xml` — кнопкой «Выбрать каталог» или в поле каталога;
- обработка всех файлов каталога за один проход, строки всех реестров в одной таблице;
- контроль целостности: сумма строк сверяется с суммой платёжного поручения из файла, расхождение выводится предупреждением;
- мягкая обработка ошибок: файл, который не удалось прочитать, пропускается, остальные обрабатываются;
- печать: заголовок «Реестр платежей», таблица с рамками и строка «ИТОГО» по сумме.
## Колонки
| Колонка | Источник в XML |
|---|---|
| Файл | имя файла |
| № ПП | `NOM_PP` |
| № распоряжения | `NOM_PAY_DOC` |
| Дата распоряжения | `DATE_PAY_DOC`, при пустом — `DATE_REESTR_PP` |
| Плательщик | `NAME_PLAT` до разделителя `//`, при пустом — `FIO_PLAT` |
| Счёт плательщика | `NOM_LS_PLAT` |
| Сумма | `SUM_REESTR_PP` (в файле в копейках, выводится в рублях) |
| Назначение платежа | `PURPOSE` целиком |
| Статус | `PAYSTATUS` |
## Требования
- платформа 1С:Предприятие 8.5.1 (под ней собран проект);
- любая конфигурация — обработка внешняя, объекты конфигурации не используются;
- файлы реестров в формате `ProcessRegPayOrder`.
## Как запустить
1. `1С:Предприятие` → **Файл → Открыть…** → `bin/ПросмотрРеестровПлатежей.epf`.
2. Нажать «Выбрать каталог» и указать папку с файлами реестров.
3. Нажать «Сформировать» — строки появятся в таблице.
4. Нажать «Печать реестра» — сформируется печатная форма.
## Как открыть и собрать в EDT
1. **File → Import → General → Existing Projects into Workspace**, выбрать корневую папку репозитория. Проект называется `ПросмотрРеестровПлатежей`.
2. Сборка: **Проект → Очистить**, затем **Проект → Собрать**. Результат — `bin/ПросмотрРеестровПлатежей.epf`. Отдельного экспорта `.epf` в EDT не требуется.
## Устройство
Вся логика — в модуле формы обработки (`src/ExternalDataProcessors/ПросмотрРеестровПлатежей/Forms/Форма/Module.bsl`); модуль объекта не используется.
- клиентские обработчики: выбор каталога, «Сформировать», «Печать реестра»;
- серверные (`&НаСервере` / `&НаСервереБезКонтекста`): чтение каталога (`НайтиФайлы`), разбор XML потоком (`ЧтениеXML`), заполнение таблицы формы, формирование табличного документа;
- суммы из файла приходят в копейках и делятся на 100; даты разбираются из формата `ГГГГ-ММ-ДД`.
## Ограничения
- назначение платежа выводится целиком и не разбирается на реквизиты (лицевой счёт ребёнка, группа, период): у разных организаций свободный текст, разбор по запятым даёт мусор;
- электронная подпись файлов не проверяется: подписанные контейнеры нужно предварительно расшифровать;
- обрабатываются только файлы формата «платёжное поручение на общую сумму с реестром»; прочие файлы пропускаются с сообщением.
## Версия
1.0.0