Механизм трансформации: как мы ускорили обмен данных в 1С на порядок

Системный архитектор ALP Group Вячеслав Крайнов и методолог ALP Group Николай Хайрутдинов делятся личным опытом создания решения по трансформации данных между областями данных для крупного корпоративного заказчика.

Механизм трансформации: как мы ускорили обмен данных в 1С на порядок

Стартовая черта

Мы работаем в команде по разработке кастомной автоматизированной системы коммерческого учета для масштабного промышленного холдинга, состоящего из целого ряда дочерних обществ. Когда-то всё начиналось с типового решения «1С:Управление торговлей 10.3», но сегодня это собственная сложносочиненная система автоматизации учета с рядом уникальных доработок.

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

Напрашивается вопрос: как предприятиям оперативно обмениваться необходимой информацией в учетной системе, когда их области данных «отсечены» друг от друга? В типовых решениях 1С для возможности отгрузки товаров другой организации обычно используется механизм «Интеркампани». Однако нам он не подходил, поскольку, строго говоря, мы не передаем товары от одной организации другой. Процесс в нашем случае намного сложнее: одна организация является собственником товара, другая — хранителем и отпускает по заявкам товар со склада, данные по фактическому отпуску переходят обратно для оформления реализации, а третья организация создает у себя документы поступления товара и осуществляет розничную торговлю.

Как не перебивать все эти данные вручную, сократить время обработки и консолидировать учет?

Спринт

В рамках решения данной задачи мы предложили создать механизм трансформации (передачи) данных между областями на основе типового решения 1С «Конвертация данных». Магия в том, что мы применили это решение не для стандартной передачи файлов через веб-сервер в другую базу данных, а оптимизировали его для загрузки и выгрузки данных внутри одной базы.

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

Правила трансформации. Источник: ALP Group
Правила трансформации. Источник: ALP Group

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

Настройки трансформации. Источник: ALP Group
Настройки трансформации. Источник: ALP Group

Поскольку передаваемые данные могут быть разного размера — документы от 3–4 до 1 000 строк в табличной части — то был реализован балансировщик нагрузки, который определяет вес документа и распределяет документы по потокам таким образом, чтобы трансформация «тяжелого» документа не блокировала трансформацию «легких» документов.

Настройка балансировки. Источник: ALP Group
Настройка балансировки. Источник: ALP Group

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

Победный финиш

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

33
11
Начать дискуссию