Обзор и область применения
Расширение для обмена с консолидированной базой 1С:ЗУП 3.1 — это код разработки под определенные требования проекта. Технически решение готовое, внедрено и уже работает в компании. Решение ориентировано на специалистов 1С, которые могут разобраться в коде, выполнить доработку при необходимости по добавлению объектов обмена (справочники, документы, регистры) и настроек синхронизации данных, оптимизировать программу для конкретной задачи.
История одного проекта
Требования: Получить консолидированную информацию кадровых данных сотрудников, планового ФОТ, фактических начислений и выплат по всей группе компаний (более 20 баз ЗУП). На основании консолидированных данных разработать функционал для ведения управленческого учета (с общей структурой подразделений по всей группе компаний и единственным управленческим сотрудником). Данные в консолидированную базу ЗУП должны поступать в онлайн режиме и быть актуальны с задержкой не более 1 часа.
Варианты решения:
Объединить все базы в одну. Данное решение не подходило под требования, т.к. имелись обособленные компании в группе, которые вели самостоятельный учет.
Разработать консолидированный отчет в одной из баз ЗУП, который бы собирал обобщенные данные из всех баз ЗУП. Данное решение только частично позволяет решить задачу.
Создать отдельную консолидированную базу ЗУП, в которой собираются данные из всех баз группы. На этой базе разработать управленческий учет. Дополнительным условием было то, что в базах ЗУП невозможно было выполнить идентичные настройки кадрового учета, расчета заработной платы, использовать одинаковые настройки для всех видов расчета, графиков работы, и т.д. необходимо было работать с данными «как есть» не изменяя их в консолидированной базе ЗУП
Стратегия
В связи с этим было принято решение реализовать в обмене перенос документов с движениями без проведения их в консолидированной базе ЗУП, а также фиксация и перенос записей независимых регистров сведений.
Для минимизации влияния регистрации данных к обмену в базах ЗУП на скорость записи данных пользователями было реализовано первоначальное добавление данных в очередь обмена с дальнейшей обработкой ее в фоновом задании.
Реализация
Реализация создания консолидированной базы ЗУП состояла из 4 частей:
- Нормализация данных в базах ЗУП;
- Разработка механизма онлайн-обмена между базами ЗУП и консолидированной базой;
- Выполнение полной выгрузки исторических данных из всех баз ЗУП в консолидированную (выгрузка выполнялась через функционал онлайн-обмена с поочередной ручной регистрацией данных к обмену и контролем загрузки в консолидированную базу ЗУП);
- Контроль загрузки исторических данных и работы онлайн-обмена с помощью разработанного отчета по сверке данных и сверке результатов типовых отчетов в базах ЗУП и консолидированной базы.
Данный вариант позволил избежать повторных выгрузок «дельты» новых данных, создание копий баз ЗУП для выгрузки исторических данных что ускорило реализацию. Для пользователей, создание и наполнение консолидированной базы ЗУП осталось не замеченным, а это не маловажно при реализации таких проектов.
Первоначально планировалось использование для обмена правил обмена в формате «Конвертации данных 2.1» и использовать типовую обработку «Универсальный обмен в формате XML». Данный вариант не был использован, т.к. не позволял проследить структуру данных в обмене, что усложняло поиск ошибок, а также требовал периодической доработки правил обмена при добавлении новых реквизитов в объектах при обновлении конфигураций. Функционал транспорта данных был использован ранее разработанный для обмена между другими базами 1С через web, или http сервисы. Формирование структуры для переноса данных было реализовано максимально универсально по метаданным конфигурации т.к. базы ЗУП и консолидации будут идентичные. При расхождении версий конфигураций баз ЗУП и консолидации возможна потеря данных, это необходимо учитывать при сопровождении конфигураций.
Список объектов обмена может корректироваться при необходимости. Сопоставление данных возможно как по ГУИД, так и по значениям ключевых полей объектов. Список объектов, включенных в обмен и настройки сопоставления данных выполнены во внешней обработке правил обмена. Обработка может быть в расширении конфигурации, или храниться отдельно на внешнем ресурсе. При хранении обработки с правилами обмена на внешнем ресурсе позволяет вносить изменения в функционал обмена в одном месте (для всех баз ЗУП и консолидированной базы) и без прерывания работы пользователей.
Результат и сложности реализации:
- одинаковые начисления в разных базах рассчитывались по разным формулам. То есть в консолидированной ЗУП нельзя было использовать единый перечень Начислений и Удержаний. В правилах обмена предусмотрен перенос Начислений и Удержаний из каждой базы ЗУП с указанием данной базы;
- обычно при синхронизации переносились только документы, а все движения воспроизводились в базе-приемнике путем перепроведения. Данный вариант не подходил, т.к. все расчётные данные прошлых периодов должны были остаться неизменными. Поэтому был перенос всех движений документов/регистров «как есть».
- часть записей регистров переносилась некорректно (дубли записей, некорректные данные в записи). Ошибки были выявлены типовыми отчетами. Это происходило из-за различного заполнения данных по одним и тем же физ. лицам в разных базах ЗУП (родственники, документы физ. лиц, стажи). После сверки данных, выполнялась ручная корректировка.
- плановая продолжительность проекта составляла 3,5 месяца 2 сотрудниками: аналитик, разработчик 1С (2 месяца – нормализация данных, анализ данных к обмену, разработка функционала обмена; 1.5 месяца – подключение баз к обмену, выгрузка исторических данных, сверки). Выполнена консолидация данных (76 справочников, 133 документа, 136 независимых регистров сведений) из 22 баз ЗУП с общим количество работающих сотрудников равным 3500.
Технические требования
Тестирование проводилось на типовой конфигурации 1С:ЗУП версии 3.1.34.3
Есть определенные требования по списку объектов обмена, они в решении реализованы. Если клиента данный список устроит, то доработки специалиста 1С не потребуются.
Необходимо будет только установить расширение в базы ЗУП и выполнить настройки для обмена (описание настроек в файле на вкладке Бесплатные файлы)
Код открыт.
Функционал обмена с базой ЗУП консолидация
Первоначальная настройка расширения конфигурации обмена
Добавить расширение СОД_Обмен в конфигурации ЗУП и в конфигурацию консолидированной базы ЗУП. При необходимости добавить на внешний ресурс (доступный из баз 1С ЗУП) файлы внешних обработок отладки системы (СОД_ОбработкаОтладкиСистемы), правил отладки (СОД_ОбработкаОтладкиПравил) сохранив их из расширения конфигурации
Так как при первом запуске конфигураций настройки параметров обмена еще не выполнены, то после установки расширения может потребоваться отключение регистрации данных к обмену. Это можно выполнить в общем модуле СОД_ПодпискиНаСобытия в методах СОД_СправочникОбъект_ПриЗаписи, СОД_ДокументОбъект_ПриЗаписи, СОД_РегистрСведенийНаборЗаписей_ПриЗаписи (снять комментарий в строке с методом «Возврат»)
Остались вопросы?
Для получения дополнительной информации и помощи в настройке модуля под нужды вашего бизнеса — оставьте заявку

Проверено на следующих конфигурациях и релизах:
- Зарплата и управление персоналом, редакция 3.1, релизы 3.1.34.3