Обмены данными в 1С: для чего используются и как работают

Обмены данными в 1С: для чего используются и как работают

При работе с программными продуктами фирмы 1С практически невозможно обойтись без обмена данными — как между самими базами 1С, так и между 1С и сторонними сервисами.

Материал условно разделен на две категории:

  • обмен данными между информационными базами 1С;

  • обмен данными между 1С и внешними сервисами.

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

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

Задачи 1С-обменов

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

Стоит привести несколько примеров. Очень часто бизнес использует одновременно несколько разных программных продуктов фирмы 1С. Это позволяет разделить бизнес-процессы. Например, одновременно могут использоваться конфигурации ЗУП и БП.

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

Исходя из примеров выше можно выделить 3 варианта обменов:

  • обмен данными между информационными базами с разными конфигурациями 1С;

  • обмен данными между информационными базами с одинаковыми конфигурациями 1С;

  • обмен данными между 1С и сторонним сервисом.

Обмен между информационными базами

РИБ

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

Топология РИБ
Топология РИБ

Выше представлена топология при использовании упомянутого решения. Важно, что механизм является штатным для 1С, поэтому это требует меньше компетенций при его внедрении. При настройке механизма есть возможность делать отборы по объектам регистрируемым к выгрузке, это делается с помощью 1С:КД 2.0 — данная конфигурация предназначена для написания правил конвертации данных при обмене данными между конфигурациями.

Естественно, у упомянутой конфигурации более широкий спектр применения (например, перенос данных из ИБ со старой платформы в новую и не только). На просторах интернета немало статей с примерами настройки РИБ, поэтому этот процесс рассматриваться не будет.

Преимущества и недостатки использования РИБ

Преимущества Недостатки
Легкое внедрение без необходимости иметь широкие компетенции Изменения в конфигурации возможно передавать только от главного узла подчиненному
Обмен между базами 1С как информацией, так и изменениями конфигурации Блокировка объектов при обмене данными на время выгрузки информации
Возможность настройки отборов для передаваемых данных Подходит только для одинаковых конфигураций

Универсальный обмен

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

Настройка универсального обмена
Настройка универсального обмена
Варианты универсального обмена
Варианты универсального обмена

Выше продемонстрирован список конфигураций, с которыми можно настроить обмен. Также тут можно увидеть настройки ранее упомянутой РИБ. Для каждой конфигурации список может отличаться, пример на рисунке относится к конфигурации ЗУП. Если нужной конфигурации в списке нет, то есть возможность настроить обмен под нужную программу. Во всех случаях есть возможность выбора периодичности обмена (разово или по расписанию механизмом рег. заданий), а также в какую сторону он будет производиться — в какую-то одну или в обе стороны. Естественно, можно настроить и отбор выгружаемых данных, и выгружать только нужные объекты. Обычно, обмен настраивается в обеих базах, которые будут обмениваться информацией.

Представленный механизм использует планы обмена — объект конфигурации, предназначенный (как можно понять из названия) для обмена данными. В плане обмена хранится информация об узлах, которые обмениваются данными, и состав этих самых данных. В роли узла могут выступать базы, относящиеся к разным платформам (например, 7.7 и 8) и системы не относящиеся к 1С. Также у плана обмена есть признак использования РИБ при обмене из чего можно догадаться, что планы обмена используются и для РИБ. Более подробно данный объект разбирать не будем.

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

Стоит добавить, что в виде альтернативы можно рассмотреть и иные решения, например использование http-сервисов и веб-сервисов, но эти варианты намного сложнее внедрять. Также доступны множество обработок по выгрузке и загрузке данных. Как правило, этот процесс происходит с помощью XML файлов. Еще обмен между ИБ можно реализовать руками разработчика с помощью COM (актуально только для ОС Windows).

Обмен между 1С и сторонним ресурсом

Веб-сервисы

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

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

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

HTTP-сервисы

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

Сходства Различия
Используются для получения/отправки данных в 1С извне Веб-сервисы являются сервисно-ориентированными, а http-сервисы – ресурсно-ориентированными
Используют веб-технологии У веб-сервисов имеется описание процедур, у http-сервисов есть только документация
Для веб-сервисов реализована проверка типов данных, для http-сервисов – нет
Веб-сервисы сложнее в реализации, требуют больше вычислительных мощностей и обмениваются большим количеством данных
Веб-сервисы поддерживают только XML, а http-сервисы еще и просто текст, и JSON
Оба объекта используют разные технологии

REST-интерфейс

REST позволяет открыть доступ ко всем объектам, например, справочникам, документам и т.д., для этого должна быть публикация на веб сервере. Также при использовании HTTPСоединение, HTTPЗапрос и др. есть возможность отправлять и получать данные.

Обычно данный интерфейс используется для обмена данными между 1С и сторонним ресурсом. Один из распространенных примеров: интеграция между 1С и Битрикс24. Для нее очень часто используется REST интерфейс, а именно HTTPЗапрос и т. п. В этом случае «извне» данные в 1С не положить и не взять их, поэтому инициализатором соединения выступает сама 1С, а на стороне Б24 имеется очередь запросов, которую и получает 1С для последующей обработки.

Все работает не за один запрос. Одним запросом идет получение очереди для обработки, а другим(и) отправка данных обратно. Естественно, подобный вариант реализации не единственный в своем роде и есть кейсы, когда Б24 ходит в 1С через ранее упомянутые веб-сервисы или http-сервисы.

Все последние три варианта обмена в 1С требуют работы программиста и все зависит, конечно, от конкретной задачи.

EnterpriseData

Данный формат обмена данными ориентирован именно на 1С и позволяет описывать объекты ИБ, а также содержит информацию об этих объектах. Данное решение является довольно легким во внедрении, использует для обмена XML со сжатием (при помощи архивации), что сокращает трафик. Решает задачи обмена между базами 1С и между 1С и сторонними системами. Этот формат доступен на текущий момент не во всех конфигурациях.

XML и JSON в 1С

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

Кейсы использования обменов 1С

Для наглядности приведем несколько примеров из практики. Почти все типовые обмены между 1С и Б24 происходят с использованием REST, а именно установки http-соединения с его помощью. Как выше описывалось, если у портала есть какая-либо информация для 1С, то 1С запрашивает очередь запросов и обрабатывает ее. Бывают случаи, когда и в 1С есть некоторая очередь запросов. Если нужно отправить данные на портал, то 1С также выступает инициализатором соединения. Можно заметить, что 1С, как правило, выступает мастер-системой, по этой причине маппинг (установка соответствия) сущностей 1С и Б24 происходит на стороне 1С.

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

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

Если рассматривать менее типовые интеграции, то для интеграции между 1С и Sentry был использован тоже REST-интерфейс. Стоит отметить, что задачи могут быть самыми разными и выбор того или иного варианта обмена в 1С уже индивидуален для каждого конкретного случая.

В статье мы рассмотрели ключевые особенности различных видов обмена данными с 1С. Для наглядности приведены сравнения схожих вариантов обмена, а также даны общие оценки сложности их внедрения.

Многие наши клиенты уже внедрили интеграции с 1С и успешно используют обмен данными в своей работе. Если вам также требуется разработка интеграции с 1С или настройка обмена данными, вы можете обратиться к нам за профессиональной помощью!

Узнать подробнее

Похожие записи в блоге

Все статьи