Как настроить типовую синхронизацию 1С между конфигурациями (например, Бухгалтерия предприятия и Управление торговлей) через интернет?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия IT и автоматизация бизнеса
← На главную

Настройка типовой синхронизации данных между различными конфигурациями системы 1С:Предприятие 8, такими как «Бухгалтерия предприятия, редакция 3.0» (БП) и «Управление торговлей» (УТ), через интернет является актуальной задачей для многих компаний. Этот механизм позволяет автоматически обмениваться информацией, например, выгружать документы реализации из УТ в БП или получать данные о номенклатуре. Рассмотрим, как реализовать такую синхронизацию, используя возможности веб-сервисов платформы 1С:Предприятие.

Основной принцип работы синхронизации через интернет

Для того чтобы две информационные базы 1С могли обмениваться данными через интернет, нам необходимо обеспечить к одной из них (или к обеим) удаленный доступ по протоколу HTTP/HTTPS. Это достигается путем публикации информационной базы на веб-сервере. Платформа 1С:Предприятие предоставляет встроенные механизмы для такой публикации, которые позволяют как работать с базой через тонкий или веб-клиент, так и предоставлять доступ к ее веб-сервисам.

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

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

Шаг 1: Подготовка и установка веб-сервера

Первым и одним из важнейших шагов является подготовка веб-сервера, который будет принимать запросы от удаленной информационной базы и передавать их системе 1С. Наиболее часто для этих целей используются Microsoft IIS (Internet Information Services) или Apache HTTP Server. Мы рассмотрим общие моменты, применимые к обоим.

  1. Выбор и установка веб-сервера.

    Если вы работаете в среде 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).

  2. Установка модуля расширения веб-сервера 1С.

    При установке платформы "1С:Предприятие" на тот сервер, где будет размещаться веб-сервер, крайне важно выбрать и установить компонент "Модуль расширения веб-сервера". Этот модуль обеспечивает взаимодействие веб-сервера с платформой 1С. Без него публикация информационной базы и работа веб-сервисов будут невозможны.

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

Шаг 2: Публикация информационной базы 1С на веб-сервере

После подготовки веб-сервера мы приступаем к публикации самой информационной базы 1С. Этот процесс выполняется из режима "Конфигуратор" и является ключевым для обеспечения удаленного доступа и работы веб-сервисов.

  1. Открытие базы в Конфигураторе и выбор публикации.

    Запустите Конфигуратор для той информационной базы, которую вы планируете публиковать. В главном меню выберите пункт "Администрирование" -> "Публикация на веб-сервере...". Откроется диалоговое окно публикации.

  2. Настройка параметров публикации.
    • Имя публикации: Укажите короткое, уникальное имя для вашей публикации (желательно латиницей). Это имя будет частью URL-адреса, по которому будет доступна база. Например, MyAccounting.
    • Веб-сервер: Выберите тип используемого веб-сервера – IIS или Apache. Система 1С автоматически адаптирует настройки под выбранный тип.
    • Каталог публикации: Определите физический каталог на диске сервера, куда будут помещены файлы публикации. Убедитесь, что у веб-сервера есть права на запись в этот каталог, если вы планируете использовать его для файловой базы.
    • Флажки публикации: Обязательно установите флажки "Публиковать тонкий клиент и веб-клиент" и "Публиковать Web-сервисы". Первый флажок обеспечивает доступ к базе через браузер или тонкий клиент, второй – активирует необходимые для обмена веб-сервисы.
  3. Выбор веб-сервисов для обмена.

    На вкладке "Веб-сервисы", расположенной в окне публикации, нам необходимо отметить те сервисы, которые будут использоваться для обмена данными. Это критически важный момент, так как отсутствие нужного сервиса приведет к ошибкам синхронизации. В процессе настройки синхронизации в Журнале регистрации (ЖР) 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С обычно выдает ошибку на первом же отсутствующем сервисе, что позволяет методом последовательного включения найти все необходимые.

  4. Завершение публикации.

    После всех настроек нажмите кнопку "Опубликовать". Система 1С создаст необходимые файлы в указанном каталоге и внесет записи в конфигурацию веб-сервера. После успешной публикации описание веб-сервисов вашей базы станет доступно в формате WSDL (Web Service Definition Language) по соответствующему URL.

  5. Настройка прав доступа.

    Крайне важно правильно настроить права доступа для учетной записи, от имени которой работает веб-сервер. Для IIS это часто группа IIS_IUSRS. Мы должны предоставить этой учетной записи следующие права:

    • Права на чтение и выполнение для каталога bin установленной версии платформы 1С (например, C:\Program Files\1cv8\8.3.20.1674\bin). Это необходимо для доступа к исполняемым файлам платформы.
    • Права на модификацию для каталога информационной базы (если база файловая) или для каталога временных файлов 1С (для клиент-серверного варианта). Эти права нужны для записи и чтения данных в процессе обмена.

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

  6. Перезапуск веб-сервера.

    После всех изменений и настройки прав доступа рекомендуется перезапустить веб-сервер. Это гарантирует, что все новые настройки будут применены. В IIS это можно сделать через Консоль управления IIS, для Apache – через командную строку (например, apachectl restart или systemctl restart httpd).

  7. Повторная публикация при обновлении платформы.

    Мы должны помнить, что при каждом обновлении версии платформы 1С:Предприятие может потребоваться повторная публикация информационной базы на веб-сервере. Это обеспечит использование актуальных версий компонентов модуля расширения веб-сервера.

Шаг 3: Настройка обмена данными в конфигурациях 1С

После успешной публикации базы на веб-сервере и проверки ее доступности через браузер (попробуйте открыть http://ваш_адрес/имя_публикации), мы переходим к настройке самого механизма синхронизации данных непосредственно в конфигурациях 1С.

  1. Включение синхронизации данных.

    В обеих конфигурациях (например, в БП и УТ) перейдите в раздел "Администрирование" -> "Синхронизация данных" и установите флажок "Синхронизация данных". Этот шаг активирует функционал обмена. Также, для каждой программы задайте префикс информационной базы (например, БП_ для Бухгалтерии и УТ_ для Управления торговлей). Это поможет избежать дублирования кодов и номеров документов при обмене данными между разными базами.

  2. Создание новой синхронизации.

    В одной из баз (например, в УТ) перейдите в раздел "Настройки синхронизации данных" и нажмите кнопку "Новая синхронизация данных". Вам будет предложено выбрать конфигурацию, с которой вы хотите настроить обмен. Выберите соответствующую конфигурацию, например, "Бухгалтерия предприятия, редакция 3.0".

  3. Выбор типа подключения.

    На следующем шаге мастера настройки синхронизации выберите тип подключения "Подключение к другой программе через Интернет". Это ключевой момент, указывающий системе, что обмен будет происходить через веб-сервисы.

  4. Указание адреса и учетных данных.

    Вам потребуется ввести адрес опубликованной на веб-сервере базы (URL публикации). Это будет выглядеть примерно так: http://ваш_статический_ip_адрес/имя_публикации или https://ваш_домен/имя_публикации. Если для обмена предусмотрен отдельный пользователь в 1С (что очень рекомендуется для безопасности), укажите его логин и пароль. Убедитесь, что у этого пользователя есть необходимые права для обмена данными (например, роль "Полные права" или специализированные роли для обмена данными).

  5. Настройка правил отправки/получения данных.

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

  6. Начальная выгрузка данных.

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

  7. Повтор настройки во второй базе.

    Аналогичные шаги необходимо выполнить во второй информационной базе (в нашем примере – в БП), указав в качестве подключения уже настроенную базу. Это установит двухсторонний обмен.

Дополнительные рекомендации и важные моменты

Чтобы обеспечить стабильность, безопасность и эффективность синхронизации, мы должны учесть несколько дополнительных аспектов:

  1. Резервное копирование: Перед началом любой настройки синхронизации обязательно сделайте полные резервные копии обеих информационных баз. Это позволит нам восстановиться в случае непредвиденных проблем.
  2. Статический IP-адрес: Для доступа к опубликованной базе из интернета потребуется статический ("белый") IP-адрес от вашего интернет-провайдера. Если его нет, вам придется использовать сервисы типа динамического DNS или организовывать VPN-подключение.
  3. HTTPS/SSL: Для обеспечения безопасности передаваемых данных настоятельно рекомендуется использовать протокол HTTPS. Для этого необходимо установить SSL-сертификат на веб-сервер и настроить его соответствующим образом. Это защитит ваши данные от перехвата и подделки.
  4. HTTP-сервисы: Помимо стандартных веб-сервисов (которые используют SOAP и XML), платформа 1С поддерживает HTTP-сервисы (использующие HTTP-запросы и, часто, JSON). Они могут быть более гибкими для реализации специфических интеграций и доступны начиная с версии 8.3.5. В рамках типовой синхронизации, однако, чаще используются классические веб-сервисы.
  5. Ограничения по объему данных: При обмене через веб-сервисы следует учитывать, что для больших объемов данных могут возникать проблемы с производительностью или таймауты. Для оптимизации обмена мы можем использовать архивирование данных (ZIP) или разбиение их на части. Оптимальный размер сообщения для веб-сервисов обычно составляет несколько мегабайт. Если объем данных слишком велик, рассмотрите возможность использования внешних обработок для предварительной подготовки или сжатия данных.
  6. Пользователь для обмена: Создайте отдельного пользователя в 1С с минимально необходимыми правами только для выполнения обмена данными. Мы должны избегать использования пользователей с полными правами для автоматических обменов в целях безопасности.

Альтернативный способ: Синхронизация через FTP-сервер

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

Для реализации этого подхода нам потребуется:

  1. Доступный FTP-сервер: Вы можете использовать любой бесплатный или коммерческий FTP-сервер. Существует множество бесплатных программных решений для развертывания FTP-сервера на собственном компьютере или сервере, например, FileZilla Server.
  2. Настройка синхронизации в 1С: В параметрах синхронизации данных в конфигурациях 1С (вместо "Подключение к другой программе через Интернет") мы выбираем опцию "Подключение через FTP-ресурс" или "Подключение через сетевой каталог", если FTP-сервер доступен как сетевой диск. Далее мы указываем адрес FTP-сервера, логин и пароль для доступа, а также каталог, куда будут помещаться файлы обмена.

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

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

← На главную