Синхронизации сайта с программой 1С


У многих предпринимателей довольно остро стоит вопрос грамотной настройки синхронизации программы 1С с b2b-порталом или с интернет-магазином. У этой задачи есть несколько вариантов решения.

Обмен XML

Обмен XML сам по себе можно назвать универсальным. Он довольно гибко настраивается, причём участие программиста не является обязательным, что однозначно преимущество для многих компаний по сравнению с предыдущими вариантами. Для настройки достаточно использовать конфигурацию "Конвертация данных". Однако этот вариант не даёт возможность осуществить обмен в автоматическом режиме. А ещё в этом варианте обмена не будет изменения объектов. Так что придётся выгружать объекты, даже если изменений в отношении них не было. В самом оптимальном случае для документов можно будет установить интервал выгрузки.

Веб-сервер на стороне 1С

У платформы 1С: Предприятие есть технология веб-сервисов, встроенная в платформу. Она даёт возможность создать конфигурацию с полноценной CMS, которая генерирует HTML-код по запросу. Это позволяет кардинально решить проблему обмена данных с сайтом. По сути, самой проблемы нет, поскольку веб-портал начинает работать на базе 1С. Но у этого решения есть свои минусы. И одним из серьёзных недостатков является низкая производительность. К тому же управлять таким сайтом будет сложно.

Использование веб-сервисов 1С

Для таких сервисов нужно открывать порт с позиции 1С. А это чревато тем, что со стороны появится возможность попасть из Интернета в базу данных. Гораздо удобнее использовать технологии веб-сервисов, которые уже встроены в платформу 1С: Предприятие. Однако стоит учесть, что без открытия доступа к 1С со стороны Интернета не обойтись, что означает риски.

Переход на 1С 8.3

Можно сменить версию 1С на 1С: Предприятие 8.3. Потенциально это неплохой вариант, в котором есть поддержка сертификатов и SSL в веб-сервисах, которые используют HTTP и FTP-соединения. В этом случае в веб-сервисах уже гарантируется нужный уровень безопасности. Так что база данных не будет просто открыта. Но для этой платформы ещё нет типовых конфигураций, плюс адаптация не прошла полностью. Это сдерживает распространение такого решения.

Обмен по формату CommerceML

Для интеграции с веб-системой на стороне 1С применяют традиционный обмен с веб-сайтом в формате CommerceML. Это стабильное и многократно проверенное на многих проектах решение.

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

Обмен по схеме «поставщик и покупатель».

Его можно использовать для обмена с сайтом, если база 1С начнёт выступать как поставщик, а сайт — в роли покупателя. Однако учтите, что все действия, включая загрузку и выгрузку, придётся делать ручным способом. Обработка заказов тоже происходит ручным способом. На это стоит обратить внимание.

Обмен с веб-сайтом по схеме Битрикс и 1С.

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

Web-расширение

Web-расширение присутствует среди ПО 1С. Оно предназначено для платформы 1С: Предприятие. Это решение было основано на базе Web Forms. Соответствующая платформа интегрирует элемент управления, веб-форму и источник данных. Для доступа нужно использовать технологию ADO.NET. При этом пользовательский интерфейс работает на ASP.NET.

Главным минусом такого решения является уменьшенный дизайн компонентов веб-форм. Сайт должен использовать ASP.NET. Плюс очень важно разобраться с дополнительным лицензированием. А ещё получается, что доступ в базу данных идёт почти напрямую.

DLL напрямую

Для начала необходимо отметить, что на рынке нет готовых подключаемых DLL. То есть в данном случае надо будет всё писать самостоятельно. Но можно посмотреть примеры. В целом есть вариант настроить автоматический обмен. Для этого подойдут утилиты, которые уже существуют: WinSCP.exe. И очень хорошим в плане стабильности вариантом является решение применения внешней компоненты. К тому же существуют готовые библиотеки для С++.

COM-интерфейс

Если у сайта есть com-объект, то можно использовать COM-интерфейс. Главное, чтобы была возможность для подключения. Такая связь в среде Windows поддерживается большим количеством разных приложений. Но для интеграции с веб-сайтом это довольно нестандартное решение. Чтобы реализовать подобное решение, необходим программист, который бы владел технологиями COM.

Самописный обмен 1С и сайта

Можно настроить 1С на выгрузку разных файлов формата xml, txt, csv. Их передача происходит по протоколам HTTP и FTP. Дальше сайт начинает обработку загруженных данных (файлов).

Самописный обмен хорош в контексте того, что он — гибкий и адаптивный. С его помощью можно описать алгоритмы обмена и правила. Однако такое решение оптимально при обмене небольшими объёмами данных. А вот если их много, то возникают уже проблемы с производительностью. И в таком случае этот вариант нельзя будет назвать оптимальным.

Комбинированная синхронизация

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

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