XMl-выгрузка из 1С и отсылка по расписанию отчетов для партнера
Задачи
База Бухгалтерия предприятия 3.0.192.25 и выше. Компания является представителем партнера.
Партнеру необходимо периодически получать отчет о движении товара за период и об остатках на конкретную дату. Выгружать движения и остатки следует в виде xml, структура которых определена партнером. Так же оба отчета по движению и остаткам архивировать с паролем и отсылать на почту партнера.
Решения
Была разработана дополнительная обработка с возможностью запуска по расписанию или ручной выгрузкой отчетов.
Основные настройки:
- Адрес почты куда отправлять.
- Код объекта - код объекта для заполнения соответствующего атрибута xml, код выдается партнером.
- Признак архивирования, пароль на архивацию, а так же галочки выгружать движения и выгружать остатки.
Данные параметры используются в зависимости от того какой вариант ответа нужно отослать. Если выгружается только движения или только остатки, то можно отключить архивирование и отсылать непосредственно xml.
Для попадания в отчеты в настройках реализованы отборы товара по номенклатурной группе товара партнера и выбор складов.
Так же для удобства и легкой возможности изменения предусмотрены различные параметры:
Вычисление периода и даты остатков по формулам в зависимости от текущей даты, для облегчения настройки автоматической отправки.
Вычисление периода происходит двумя способами:
1. Предыдущие <N> дней и указывается количество дней за которые до текущей даты нужно взять движения.
2. Формулы.
В формулах могут использоваться как некоторые переменные (ТекущаяДата, ДатаНачала, ДатаОкончания), так и стандартные функции работы с датами 1С.
Например:
- Дата начала периода = НачалоМесяца(НачалоМесяца(ТекущаяДата) - 1) - вычисляется начало предыдущего месяца от текущей даты.
- Дата окончания периода = КонецМесяца(ДатаНачала) - вычисляется конец месяца от даты начала периода, т.е. в данном случае период равен предыдущему месяцу.
- Дата остатков = ДатаОкончания - т.е. остатки берутся на конец периода.
- Дата остатков всегда вычисляется по формуле.
Поскольку партнером не были заданы правила формирования имен файлов сделаны шаблоны имен файлов для самих xml файлов отчета и остатков и для архива, для возможности без редактирования кода настроить как необходимо формирование имен файлов.
В шаблонах можно использовать конструкции замены.
- {Период} - интервал дат периода через дефис "-".
- {ТекущаяДата} - дата отправки отчета.
- {ПериодНачало} - соответственно дата начала периода.
- {ПериодКонец} - соответственно дата окончания периода.
Как именно будет выглядеть дата в именах файлов зависит от шаблона форматирования даты.
Результат:
- Автоматизация отправки данных партнеру
- Расписание и гибкие настройки отправки
- Партнер вовремя получает необходимые ему данные для дальнейшей обработки
- Настройки отбора товара по номенклатурной группе и складам, что позволяет при изменениях в учете товара партнера сформировывать отчеты по нужным данным