Автоматизация обменов в распределённой базе данных средствами VisualBatch

11.06.13

Интеграция - Обмен между базами 1C

Стандартный механизм распределённых баз данных на основе планов обменов не даёт гибкости в доставке XML пакетов. Что делать, если нет связи или FTP недоступен? Как узнать текущее состояние репликации? Как передать XML пакет в IP сеть за NAT маршрутизатор? Попробуем дать ответы на эти вопросы.

Скачать файлы

Наименование Файл Версия Размер
VisualBatch 1.4.msi
.msi 125,58Mb
18
.msi 125,58Mb 18 Скачать

Введение

Реализованные в 1С 8 механизмы работы с распределёнными базами данных на основе объекта «Планы обменов» дают разработчикам полноценный инструмент по настройке репликации данных. В данной статье мы не будем рассматривать вопросы настройки планов обменов, а лишь предложим решение по более качественной и гарантированной доставке пакетов данных.

Так же будем отталкиваться от того, что вы уже по какой-то причине выбрали офлайн решение, возможно из-за медленных каналов связи или для решения задач отказоустойчивости и теперь вам требуется более продвинутый механизм передачи XML пакета между узлами обмена. Рассмотрим, как мы решаем эту задачу у своих клиентов.

Постановка задачи

Есть центральный офис и некоторое количество филиалов. В конфигурациях участвующих в обмене настроены «Планы обмена». Сети офиса и филиалов маршрутизируемы, хосты серверов «видят» друг друга.

Рассмотрим по пунктам, чего не хватает в стандартной реализации и что хочется получить.

Синхронный запуск – Мы настраиваем расписание выполнения обменов только в центральном офисе. Филиалы получают «оповещение» о начале цикла обмена и «сообщают» центру о необходимости забрать пакет. В филиалах нет запуска обменов по расписанию, нет постоянно запущенной программы с интервалом в одну минуту просматривающей FTP папку на предмет появления там нужного файла.

Работа оператора – В штатном режиме обмен выполняется автоматически с заданным интервалом времени. Но если нам необходимо мы можем принудительно начать цикл обмена, как с конкретной точкой, так и со всеми филиалами. При этом оператор обмена может находиться за любым компьютером в сети, причём как в филиале, так и центральном офисе. Для выполнения этого действия достаточно послать «оповещение» о начале обмена.

Обратная связь – Заваливать обслуживающий персонал электронными письмами и SMS сообщениями о каждом шаге системы нет смысла. А вот сообщить о неудаче обязательно нужно. То есть нужна система принятия решений о необходимости оповещения и использующая различные способы достучаться до админа: почта, jabber сообщение, всплывающее окно на его рабочем столе.

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

Работа в качестве Windows службы – Необходимо чтобы на серверах участвующих в обмене всё работало в виде Windows службы, а не запускалось в трэй на рабочем столе одного из пользователей.

Больше транспортов доставки – Если сети офиса и филиалов настроены с использованием доменов Windows, то выкладывать файлы обменов достаточно и в Windows папки совместного доступа. Если этого нет, то используем FTP папку или прикрепление к электронному письму. В случае повышенных требований к безопасности транспорта используем SFTP на основе протокола SSH с использованием пар ключей RSA.

Реализация

Для реализации решения отвечающего указанным требованиям мы предлагаем использовать разработанный нами продукт VisualBatch.

Основная идея

Главным компонентом продукта является приложение, предназначенное для визуального создания и отладки работы диаграмм, состоящих из отдельных команд. Каждая команда выполняет действие схожее с инструкциями пакетных файлов Windows и различных сервисных приложений, применяемых в пакетных файлах. Атомарные команды на диаграмме представлены блоками, имеющими один или несколько входов и один или несколько выходов, в зависимости от задач решаемых командой. Среда визуального создания диаграмм позволяет разместить на диаграмме любое количество блоков и соединить связующими линиями выходы и входы блоков, тем самым настроить условия ветвлений работы диаграммы при её запуске на выполнение (Рис. 1).

 

 Пример конструирования диаграммы в приложении «Дизайнер диаграмм»

Рис. 1. Пример конструирования диаграммы в приложении «Дизайнер диаграмм».

 

Разработанные нами блоки позволяют автоматизировать решение многих административных задач и в частности задачу выполнения обменов для конфигураций 1С.

Удалённое взаимодействие

В комплект поставки продукта входят две Windows службы. Первая – PAUTMessageService, она является реализацией службы очередей сообщений. Более детально о её работе можно прочитать в статье: //infostart.ru/public/128273. Чтобы использовать её возможности при конструировании диаграмм в группе «Удалённое взаимодействие» есть блок позволяющий отправлять сообщения через эту службу и блок ожидания сообщений. Например, с помощью этих блоков диаграмма расположенная в центральном офисе может «слушать» события приходящие из филиалов и принимать решения о дальнейших действиях. На рисунке 2 показаны примеры таких диаграмм. Создайте две такие диаграммы в различных экземплярах дизайнера и запустите сначала диаграмму 2б, а затем 2а.

 

Отправка сообщения

 Рис. 2а. Отправка сообщения.

Ожидание сообщения

Рис. 2б. Ожидание сообщения.

 Диаграмма с рисунка 2а отправит событие с именем «TestMessage» на локальный хост, в свою очередь диаграмма 2б будет ждать этого события в течении десяти минут и выдаст текстовое сообщение в случае успеха или завершит свою работу по таймауту.

Вторая служба называется PAUTCommandService, её работа основана на функционале первой службы. Она предоставляет более высокоуровневый сервис, позволяющий принимать задание на выполнение диаграмм от удалённых хостов, причём диаграмма может быть передана с вызывающего хоста, а затем запущена на выполнение. Для взаимодействия с этой службой разработан блок «Выполнить диаграмму» (Рис. 3).

 

 Пример передачи диаграммы для выполнения на другой хост

Рис. 3. Пример передачи диаграммы для выполнения на другой хост.

 

На примере блока видно, что установлен переключатель «Выполнять на удалённом хосте». При выполнении блока это приведёт к тому, что диаграмма, указанная в поле «Файл диаграммы» будет передана на все хосты указанные в списке «Домен, хост или маска IP адресов».

Создаём необходимые диаграммы

Теперь у нас достаточно теоретической базы для реализации задуманного. Рассмотрим сценарий обменов, продвигаясь от общих понятий до пошагового алгоритма работы диаграмм выполняемых на всех узлах.

                Можно выделить следующих участников процесса (Рис. 4):

  1. Сервер центрального офиса с установленным продуктом VisualBatch;
  2. Стандартный планировщик заданий на сервере центрального офиса;
  3. FTP сервер развёрнутый на сервере центрального офиса;
  4. Некоторое количество филиалов с развернутым продуктом VisualBatch на их серверах;
  5. Набор из диаграмм, хранящихся на сервере центрально офиса и реализующих все необходимые операции по выполнению обмена;
  6. Один из пользователей системы наделённый полномочиями по запуску диаграмм обмена в произвольное время. Для этого на его ПК так же необходимо развернуть VisualBatch.

 

 Компоненты системы обмена

Рис. 4. Компоненты системы обмена.

 

Создаём следующие диаграммы для каждого филиала:

  1. Выполнение выгрузки данных для филиала. Эта диаграмма будет выполняться в центральном офисе;
  2. Выполнение загрузки данных в филиале. Эта диаграмма будет выполняться в филиале;

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

 

Сценарий работы диаграммы выгрузки данных для филиала следующий:

  1. Выполняем заранее подготовленную обработку 1С содержащую единственную строчку кода по формированию XML файла обмена для этого узла;
  2. Берём сформированный файл и, используя выбранный нами транспорт, передаём на сторону филиала;
  3. Посылаем филиалу команду на выполнение диаграммы по загрузке данных. Причём в блоке «Выполнить диаграмму» используем возможность передачи диаграммы на удалённый хост;
  4. Ждём поступления события со стороны филиала. Вариантов три: успех, неудача или истечение времени ожидания;
  5. Если пришло сообщение об успехе – выполняем загрузку файла ответа.

 

Сценарий работы диаграммы по загрузке данных в филиале следующий:

  1. Забираем файл данных;
  2. Выполняем заранее подготовленную обработку 1С по загрузке данных;
  3. Берём сформированный файл ответа и, используя выбранный нами транспорт, передаём на сторону центрального офиса;
  4. Посылаем сообщение в центр о завершении работы.

 

Сценарий работы главной диаграммы таков: перебираем в заранее определённой папке все диаграммы первого этапа и выполняем их.

 

Необходимо отметить следующее:

  1. Решение о необходимости оповещения администратора можно принять на любом этапе выполнения сценариев обмена, большинство блоков умеют возвращать результат «Ошибка»;
  2. За счёт наличия в блоке «Ожидать PAUT сообщения» возможности настроить таймаут ожидания, можно принять решение о том что в филиале возникли не предвиденные проблемы и необходимо вмешательство администратора;
  3. Для предотвращения одновременного запуска нескольких экземпляров диаграмм в рамках одного сервера можно использовать блоки из группы «Объекты синхронизации». Это избавит администратора от возможных проблем.

 

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

 

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

 

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

Дополнительные возможности

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

Если с филиалом нет связи – а обмен делать надо. Пишем диаграммы по копированию определённых файлов на USB накопитель. Эти диаграммы, «знают» какой файл должен уходить в филиал, куда его складывать и как запускать цикл обмена в филиале. Более того все операции с USB накопителем можно сопровождать всплывающими окнами – подсказывающими людям на местах, что сейчас необходимо сделать. Разработанные нами блоки позволяют ожидать подключения конкретного USB накопителя, идентифицируя его по серийному номеру, выполнять корректное отключение устройства. Примеры диаграмм работы с USB накопителями включены в комплект поставки.

Отображение на мониторинге – при большом числе филиалов без мониторинга процесса обмена не обойтись. Мы применяем простую схему – каждый филиал отображается на мониторинге в виде «лампочки». Красный цвет – значит необходимо вмешаться, зелёный – всё в порядке. В VisualBatch входит разработанная нами система мониторинга основанная на отображении Майкрософт Visio документа в качестве схем сети или элементов сетевого взаимодействия.

Отключение активных пользователей – во время выполнения обмена бывает потребность в монопольном доступе к данным конфигурации. В данной версии продукта нет блоков, позволяющих принудительно отключить пользователей на основе механизма заложенного в 1С. Мы предлагаем воспользоваться возможностями нашей службы очередей сообщений PAUTMessageService. Доработайте конфигурации с использованием внешней компоненты разработанной нами, о её возможностях рассказано в статье: //infostart.ru/public/128273.

Хосты за маршрутизаторами с NAT – т.е. сервера участвующие в обмене не могут взаимодействовать, не используя какой-то внешний сервис, как может возникнуть такая ситуация? Может из-за отсутствия правильно настроенной сетевой инфраструктуры, а может это сделано сознательно. Что мы предлагаем? В обеих точках на маршрутизаторах настроить «проброс» порта. Настройки нашей службы передачи сообщений позволяют это учесть и тогда центральная и периферийная точки смогут взаимодействовать не замечая ограничений. Если возможности перенастроить маршрутизаторы нет, есть вариант наладить взаимодействие служб через третий узел, который имеет «белый» IP адрес и может выступать в роли посредника по передачи сообщений между закрытыми сетями.

Использование туннелей – часто бывает, что филиал представлен одиночным ПК. Для такого случая предлагаются блоки по работе с PPTP подключениями, мы можем, без участия пользователя: создать подключение, контролировать его активность и также обмениваться сообщениями и выполнять файловые операции.

Альтернативный транспорт – Так как передаваемый пакет обмена является XML строкой, его можно передать на принимающую сторону через дополнительный параметр поля «Данные для оповещения» блока «Отправить PAUT сообщение». Это позволит вообще отказаться от внешнего инструментария по передачи файлов, хотя при размере XML файла больше 300кб возможны завершения работы блоков по таймауту.

Заключение

Всё сказанное так же относится и к обменам 1С 7.7 на основе УРИБ. Нами разработаны примеры диаграмм и демонстрационные конфигурации, которые выложены на сайте. Более детальную информацию по работе продукта можно получить ознакомившись с его документацией.

 

См. также

SALE! 20%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

Обмен между базами 1C Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) в продаже с 2015 года, постоянно работаем над их развитием | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

45650 36520 руб.

04.08.2015    159730    364    267    

345

SALE! 15%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 22572 руб.

12.06.2017    134974    721    291    

388

SALE! 20%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

34650 27720 руб.

15.04.2019    68444    180    138    

111

SALE! 20%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

43450 34760 руб.

03.12.2020    34180    80    58    

78

SALE! 10%

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 25200 руб.

23.07.2020    46322    196    64    

158

Перенос данных из Парус 10 в ЗГУ ред.3

Внешние источники данных Кадровый учет Файловый обмен (TXT, XML, DBF), FTP Обмен между базами 1C Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бухгалтерский учет Бюджетный учет Платные (руб)

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9217    9    8    

10

SALE! 10%

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.223.x) и БП 3.0 (3.0.149.x). Правила подходят для версии ПРОФ и КОРП.

28000 25200 руб.

15.12.2021    20266    132    38    

90

SALE! 10%

Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2. Переносятся начальные остатки, документы и справочники

Обмен между базами 1C Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

В продаже с 2014г. | Воспользовались более 122 предприятий! | Перенос данных из БП 3.0 в УТ 11 | из БП 3.0 в КА 2 | из БП 3.0 в ERP | Сэкономьте свое время - используйте готовое решение для перехода! | Постоянно работаем над развитием переноса данных | Обновляем на новые релизы 1С | Есть фильтр выгрузки по организациям | Переносятся начальные остатки на выбранную дату, документы за период времени и вся возможная справочная информация | Перенос сделан на технологии КД 2 (правила конвертации данных)

50722 45650 руб.

31.10.2014    231436    124    327    

296
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. pepe 62 11.06.13 17:49 Сейчас в теме
Хорошая идея, осталось только на практике попробовать.
2. dzuyba 46 12.06.13 12:13 Сейчас в теме
Пробуйте, если будут вопросы то пишите поможем.
3. qw12225 12.06.13 14:43 Сейчас в теме
Сейчас готовлю статью почти на эту тему, скоро появиться, реализация немного другая (связана с тем что филиалы не завязаны в одну сеть с центральным офисом). Будет интересно почитайте.
4. dzuyba 46 12.06.13 17:08 Сейчас в теме
Наш сервер очередей сообщений при определенных настройках передает данные между закрытыми сетями. Об этом я написал в параграфе "доп. возможности". Настраивается просто указанием внешнего ip и пробросом порта. Статью о вашей реализации обязательно прочитаю.
Оставьте свое сообщение