Настройка типовой синхронизации данных между различными конфигурациями системы 1С:Предприятие 8, такими как «Бухгалтерия предприятия, редакция 3.0» (БП) и «Управление торговлей» (УТ), через интернет является актуальной задачей для многих компаний. Этот механизм позволяет автоматически обмениваться информацией, например, выгружать документы реализации из УТ в БП или получать данные о номенклатуре. Рассмотрим, как реализовать такую синхронизацию, используя возможности веб-сервисов платформы 1С:Предприятие.
Для того чтобы две информационные базы 1С могли обмениваться данными через интернет, нам необходимо обеспечить к одной из них (или к обеим) удаленный доступ по протоколу HTTP/HTTPS. Это достигается путем публикации информационной базы на веб-сервере. Платформа 1С:Предприятие предоставляет встроенные механизмы для такой публикации, которые позволяют как работать с базой через тонкий или веб-клиент, так и предоставлять доступ к ее веб-сервисам.
Именно через веб-сервисы будет происходить обмен данными между конфигурациями. Когда мы настраиваем синхронизацию в одной базе и указываем адрес другой базы через интернет, система обращается к опубликованным веб-сервисам целевой базы, передает им данные или запрашивает их. Веб-сервер (например, Apache или IIS) выступает в роли посредника, маршрутизируя эти запросы к соответствующему модулю платформы 1С, который, в свою очередь, обрабатывает их и взаимодействует с информационной базой.
Таким образом, для успешной настройки нам предстоит выполнить несколько ключевых шагов: подготовить веб-сервер, опубликовать на нем нашу информационную базу со всеми необходимыми веб-сервисами и корректно настроить параметры обмена в самих конфигурациях 1С.
Первым и одним из важнейших шагов является подготовка веб-сервера, который будет принимать запросы от удаленной информационной базы и передавать их системе 1С. Наиболее часто для этих целей используются Microsoft IIS (Internet Information Services) или Apache HTTP Server. Мы рассмотрим общие моменты, применимые к обоим.
Если вы работаете в среде Windows Server, то Microsoft IIS является предпочтительным выбором, поскольку он тесно интегрирован с операционной системой. Для его установки необходимо добавить роль "Веб-сервер (IIS)" через Диспетчер серверов. Убедитесь, что установлены необходимые компоненты, такие как "Расширения ISAPI" (ISAPI Extensions) и "Фильтры ISAPI" (ISAPI Filters), которые критически важны для работы платформы 1С. Для удобного управления также рекомендуем установить "Консоль управления IIS" (IIS Management Console).
Если вы предпочитаете кроссплатформенное решение или работаете в Linux, то Apache HTTP Server станет отличным выбором. Его установка варьируется в зависимости от операционной системы, но обычно включает использование пакетных менеджеров (например, apt-get в Debian/Ubuntu или yum в CentOS/RHEL).
При установке платформы "1С:Предприятие" на тот сервер, где будет размещаться веб-сервер, крайне важно выбрать и установить компонент "Модуль расширения веб-сервера". Этот модуль обеспечивает взаимодействие веб-сервера с платформой 1С. Без него публикация информационной базы и работа веб-сервисов будут невозможны.
После установки всех необходимых компонентов рекомендуется убедиться, что веб-сервер функционирует корректно (например, открыв его стартовую страницу в браузере).
После подготовки веб-сервера мы приступаем к публикации самой информационной базы 1С. Этот процесс выполняется из режима "Конфигуратор" и является ключевым для обеспечения удаленного доступа и работы веб-сервисов.
Запустите Конфигуратор для той информационной базы, которую вы планируете публиковать. В главном меню выберите пункт "Администрирование" -> "Публикация на веб-сервере...". Откроется диалоговое окно публикации.
MyAccounting.На вкладке "Веб-сервисы", расположенной в окне публикации, нам необходимо отметить те сервисы, которые будут использоваться для обмена данными. Это критически важный момент, так как отсутствие нужного сервиса приведет к ошибкам синхронизации. В процессе настройки синхронизации в Журнале регистрации (ЖР) 1С вы сможете увидеть, каких именно сервисов не хватает, если возникнут проблемы.
Для типовой синхронизации между конфигурациями, например, БП3.0 и УТ11 или БП3.0 и ЗУП3.1, часто требуются следующие веб-сервисы:
AccHRMDataTransfer
EnterpriseDataExchange_1_0_1_1
EnterpriseDataUpload_1_0_1_1
Exchange
Exchange_2_0_1_6
InterfaceVersion
Мы рекомендуем включать их все для начала, а затем, если возникнут ошибки, проверять Журнал регистрации для точного определения недостающих. Практический опыт показывает, что система 1С обычно выдает ошибку на первом же отсутствующем сервисе, что позволяет методом последовательного включения найти все необходимые.
После всех настроек нажмите кнопку "Опубликовать". Система 1С создаст необходимые файлы в указанном каталоге и внесет записи в конфигурацию веб-сервера. После успешной публикации описание веб-сервисов вашей базы станет доступно в формате WSDL (Web Service Definition Language) по соответствующему URL.
Крайне важно правильно настроить права доступа для учетной записи, от имени которой работает веб-сервер. Для IIS это часто группа IIS_IUSRS. Мы должны предоставить этой учетной записи следующие права:
bin установленной версии платформы 1С (например, C:\Program Files\1cv8\8.3.20.1674\bin). Это необходимо для доступа к исполняемым файлам платформы.Неправильно настроенные права доступа являются одной из самых частых причин проблем с публикацией и работой веб-сервисов.
После всех изменений и настройки прав доступа рекомендуется перезапустить веб-сервер. Это гарантирует, что все новые настройки будут применены. В IIS это можно сделать через Консоль управления IIS, для Apache – через командную строку (например, apachectl restart или systemctl restart httpd).
Мы должны помнить, что при каждом обновлении версии платформы 1С:Предприятие может потребоваться повторная публикация информационной базы на веб-сервере. Это обеспечит использование актуальных версий компонентов модуля расширения веб-сервера.
После успешной публикации базы на веб-сервере и проверки ее доступности через браузер (попробуйте открыть http://ваш_адрес/имя_публикации), мы переходим к настройке самого механизма синхронизации данных непосредственно в конфигурациях 1С.
В обеих конфигурациях (например, в БП и УТ) перейдите в раздел "Администрирование" -> "Синхронизация данных" и установите флажок "Синхронизация данных". Этот шаг активирует функционал обмена. Также, для каждой программы задайте префикс информационной базы (например, БП_ для Бухгалтерии и УТ_ для Управления торговлей). Это поможет избежать дублирования кодов и номеров документов при обмене данными между разными базами.
В одной из баз (например, в УТ) перейдите в раздел "Настройки синхронизации данных" и нажмите кнопку "Новая синхронизация данных". Вам будет предложено выбрать конфигурацию, с которой вы хотите настроить обмен. Выберите соответствующую конфигурацию, например, "Бухгалтерия предприятия, редакция 3.0".
На следующем шаге мастера настройки синхронизации выберите тип подключения "Подключение к другой программе через Интернет". Это ключевой момент, указывающий системе, что обмен будет происходить через веб-сервисы.
Вам потребуется ввести адрес опубликованной на веб-сервере базы (URL публикации). Это будет выглядеть примерно так: http://ваш_статический_ip_адрес/имя_публикации или https://ваш_домен/имя_публикации. Если для обмена предусмотрен отдельный пользователь в 1С (что очень рекомендуется для безопасности), укажите его логин и пароль. Убедитесь, что у этого пользователя есть необходимые права для обмена данными (например, роль "Полные права" или специализированные роли для обмена данными).
Мастер настройки проведет вас через процесс выбора правил обмена. Здесь мы определяем, какие данные и в каком направлении будут синхронизироваться (например, справочники, документы, регистры). Можно настроить фильтры для ограничения объема передаваемых данных.
После завершения настройки правил, система предложит выполнить начальную выгрузку данных. Этот шаг создает первоначальный набор информации в базе-приемнике. Мы должны убедиться, что обе базы находятся в согласованном состоянии после первой синхронизации.
Аналогичные шаги необходимо выполнить во второй информационной базе (в нашем примере – в БП), указав в качестве подключения уже настроенную базу. Это установит двухсторонний обмен.
Чтобы обеспечить стабильность, безопасность и эффективность синхронизации, мы должны учесть несколько дополнительных аспектов:
ZIP) или разбиение их на части. Оптимальный размер сообщения для веб-сервисов обычно составляет несколько мегабайт. Если объем данных слишком велик, рассмотрите возможность использования внешних обработок для предварительной подготовки или сжатия данных.В случае, если публикация базы на веб-сервере или настройка веб-сервисов вызывает сложности, или есть специфические требования к обмену, мы можем рассмотреть альтернативный способ – синхронизацию через FTP-сервер. Этот метод подразумевает, что одна база выгружает файл обмена на FTP-сервер, а другая база забирает его оттуда.
Для реализации этого подхода нам потребуется:
Этот метод может быть проще в настройке с точки зрения веб-технологий, но может быть менее оперативным, так как обмен происходит файлами по расписанию, а не прямым взаимодействием веб-сервисов.
Вне зависимости от выбранного метода, мы должны помнить о важности регулярного мониторинга Журнала регистрации обеих баз для своевременного выявления и устранения возможных ошибок синхронизации.