• +7 (495) 648-57-90
  • +7 (8442) 95-99-99

Обмен данными в 1С

Зачем настраивать обмен данными между 1C и другими системами     

Организация обмена данными между несколькими информационными системами является очень важной и “популярной” задачей при организации работы в компании. Очень часто такая необходимость возникает, когда организация имеет распределенную структуру. Ее подразделения могут находиться далеко друг от друга и взаимодействовать только посредством интернета. В каждом таком территориально удаленном подразделении может находиться свой сервер или компьютер, выполняющий роль сервера. На этом сервере находится, например, база данных программы 1С:Предприятие. Для полноценной работы организации между удаленными подразделениями необходимо настроить обмен данными.

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

Наиболее серьезный вариант это обмен между территориально распределенными системами на основе разных продуктов 1С, но  и обмен со сторонними программными решениями (не 1С).

В программных продуктах на платформе 1С реализованы механизмы обмена данными и в этой статье мы расскажем о возможных вариантах обмена между информационными базами 1С, а также об обмене со сторонними программными продуктами.   

Какие задачи можно решать при помощи обмена данными в 1С

В зависимости от структуры организации, сложности бизнес-процессов, конфиденциальности информации и многих других факторов обмен данными между информационными системами может решать ряд важных задач:
  • организовать регулярное взаимодействие между территориально распределенными подразделениями;

  • исключить двойной ввод информации и минимизировать ошибки при повторном вводе информации в разные информационные базы;

  • организовать синхронизацию данных без постоянного интернет-соединения;

  • автоматизировать схожие бизнес-процессы в различных подразделениях;

  • актуализация нормативно-справочной информации в различных информационных системах.

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

Как выбрать необходимый вариант обмена в 1С

Для настройки и выполнения синхронизации данных в различных программах необходимо выбрать технологии обмена, которые лучше использовать в каждом конкретном случае. Для этого необходимо, в первую очередь, определить какая из программ будет выступать в качестве “источника данных”, а какая в роли “приемника данных”. Если обе программы и передают и принимают данные, такое бывает очень часто, тогда между ними будет настраиваться двусторонний обмен.

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

После выбора источника и приемника данных и проработки остальных вопросов синхронизации  можно остановиться на следующей классификации обмена между программами:
  • обмен данными между абсолютно идентичными конфигурациями баз данных 1С;

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

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

Обмен данными в 1С:Предприятие

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

Программы 1С приходится все время интегрировать между собой и с другими системами. Обмен сайта на Битрикс и 1С:Управление Торговлей — один из самых распространенных примеров.

Мы решили составить полный обзор всех методов интеграции продуктов 1С между собой и с другими системами.

Характеристики 1С обмена

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

  • информационный обмен может выполняться внутри единой распределенной базы, так и между независимыми конфигурациями;

  • встречаются различные каналы обмена: локальный или сетевой каталог, FTP-ресурс, web-сервис, почтовые сообщения, прямое подключение к базе через COM-соединение;

  • режим обмена может быть ручной или автоматический по расписанию;

  • в интересах учета можно ограничить набор синхронизируемых данных или просто “передавать все”;

  • встречаются разные протоколы и форматы обмена данными.

Проще всего настроить обмен между двумя одинаковыми 1С-ками.

Обмен между идентичными конфигурациями 1С

Распределенная информационная база (РИБ)

Приведем примеры задач, которые хорошо решает РИБ:

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

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

  3. Малыми затратами, без дополнительного программирования необходимо настроить обмен данных в типовой 1С между головным офисом и одним-двумя филиалами.

Для выполнения этих задач обмена в “1С:Предприятие” существует механизм распределенных информационных баз (РИБ). Он применяется в территориально распределенных организациях.

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

Механизм РИБ реализуется при помощи специального механизма “планов обмена”.

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

Например, план обмена “Полный” предназначен для полной синхронизации данных в РИБ. В состав его объектов, участвующих при обмене, входят практически все объекты базы данных.

Объекты для обмена в РИБ

Для настройки обмена между идентичными 1С в плане обмена достаточно установить признак “распределенная информационная база”.

Признак РИБ

Достоинства и недостатки распределенных информационных баз 1С

Преимущества РИБ

Недостатки РИБ

  • Простота в создании распределенной системы, без необходимости в дополнительном программировании;

  • Позволяет обмениваться не только данными, но и изменениями в структуре конфигурации базы данных;

  • Возможность задания условий (фильтров) на прием и передачу элементов данных при обмене;

  • Изменения в данные можно вносить в любой объект, участвующий в обмене данными;

  • Имеются способы настройки для разрешения проблемы при одновременном изменении данных в разных объектах распределенной системы.

  • Обмен данными осуществляется между абсолютно идентичными конфигурациями 1С

  • Структура представлена как древовидная с четким делением каждой пары связанных узлов на “главного” и “подчиненного”. Под узлом понимается объект распределенной системы, участвующий в обмене.

  • Изменения конфигурации передаются только от главного узла к подчиненному.

  • При выгрузке данных справочники, документы и прочие объекты блокируются для новых изменений. Поэтому обмен рекомендуется производить маленькими партиями или в нерабочее время.

Схема РИБ

Другие варианты обмена между одинаковыми конфигурациями

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

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

Разные версии данной обработки могут использоваться в обычном и в управляемом приложениях. Обработки можно найти на диске ИТС, или в шаблонах конфигурации “1С:Конвертация данных”. Рекомендуется использовать обработку из "Конвертации данных” версии 2.1.8.2.

Примеры реализации

Пример реализации РИБ

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

Обмен между различными системами 1С

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

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

При помощи универсального обмена данными в 1С можно решать множество задач обмена, например:

  1. В организации учет ведется в разных программах 1С: бухгалтерский и налоговый учет - в 1С:Бухгалтерия предприятия, управленческий - в 1С:Управление торговлей, расчет з/п в 1С:ЗУП. Необходимо организовать обмен данными между этими тремя системами. Ниже есть схема этого примера.

  2. В организации используется относительно старая, сильно измененная под нужды компании конфигурация Управление торговлей 10.3. Необходимо настроить обмен с конфигурацией последнего релиза (например, БП, КА, УПП).

Синхронизация данных

Этот механизм позволяет создавать распределенные системы, но не требует чтобы они были идентичными. В нем используются уже описанные “планы обмена”.

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

Достоинства:

  • Механизм универсального обмена 1С реализован на уровне конфигурации и разрешает обмен данными между объектами различной структуры. В нем в отличие от механизма РИБ нет деления на “главный” и “подчиненный” узлы в распределенной системе. Данный механизм можно реализовать самостоятельно в любой конфигурации, даже в случае разработки с нуля;

Пример использования универсального обмена

  • Формат обмена — XML-документы. В платформе 1С для обработки XML реализована возможность чтения и записи XML-документов.

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

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

Пример собственного обмена

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

Обмен данными по расписанию в 1С

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

Обмен данными по расписанию

Обмен 1С с внешними программами

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

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

Рассмотрим несколько наиболее распространенных форматов для интеграции с различными приложениями.

Веб-сервисы в 1С (Web-сервисы)

Пример использования: обмен данными “в режиме реального времени”. При изменении данных в одной из систем, участвующих в обмене, запускается обращение к веб-сервису. Формируется пакет с измененными данными, и эти данные передаются в другую систему.

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

Программисты могут создать свой необходимый веб-сервис для решения конкретной задачей.

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

Если 1С передает информацию, в конфигураторе создается новый объект “веб-сервис”, и программно описывается его функциональность, например, получение остатков на складах. После того как сервис будет опубликован, стороннее приложение сможет запрашивать и получать информацию о наличии требуемой номенклатуры на складах. Для публикации веб-сервиса на сервере должно быть установлено дополнительное программное обеспечение, веб-сервер. Например, это может быть бесплатный веб-сервер  Apache.

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

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

Примеры применения HTTP-сервисов такие же как и для веб-сервисов. Например, двусторонний обмен данными 1С с интернет-магазином. Со стороны сайта в 1С передаются заказы, со стороны 1С на сайт - документы оплаты и документ, подтверждающий факт отгрузки товара.

Возможность создавать HTTP-сервисы появилась в платформе 1С:Предприятие с версии 8.3.5. Теперь 1С при помощи встроенного языка позволяет создавать запросы и сформировать ответ на запрос от внешнего приложения самостоятельно, используя возможности встроенного языка 1С.

HTTP-сервисы похожи на имеющиеся в платформе веб-сервисы, но обладают несколькими преимуществами:

  • более простое создание клиентского приложения;

  • уменьшенный объем передаваемых данных;

  • меньшая потребность в вычислительных мощностях;

  • большая нацеленность на работу в мобильных устройствах.

Между веб-сервисами и HTTP-сервисами существует разница в структуре запросов, которыми обмениваются приложения:: Веб-сервисы (SOAP) - POST запросы, HTTP-сервисы - GET запросы. В отличие от SOAP HTTP-сервисы поддерживают формат JSON.

Также как и при работе с веб-сервисами, для работы с HTTP-сервисами необходима установка веб-сервера (Apache или IIS).

Поддержка REST-интерфейса в 1С

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

REST-интерфейс позволяет создавать новые объекты, удалять их, читать и редактировать.

Наиболее часто REST-интерфейс применяется в следующих случаях:

  • интеграции с веб-приложениями (интернет-магазины, веб-порталы и т.д.);

  • обмена данными с внешним сторонним приложением;

  • необходимости расширения возможности приложения 1С сторонними средствами без доработки самой конфигурации.

Для публикации необходим веб-сервер.

Публикация веб-сервиса


Обмен в формате EnterpriseData

Формат обмена данными EnterpriseData разработан фирмой 1С для облегчения интеграции с программами 1С. Этот формат позволяет описать объект базы (справочник, документ и т.д.) и содержит информацию об изменении или удалении объекта. На данный момент этот формат поддерживается в следующих продуктах 1С: Управление торговлей 11, Бухгалтерия предприятия 3, Розница 2, ERP 2, ЗУП КОРП 3. Приложения 1С также могут использовать формат EnterpriseData для обмена со сторонними информационными системами.

Обмен в формате EnterpriseData осуществляется посредством обмена XML-файлов. В процессе обмена формируются файлы-запросы и файлы-ответы.

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

Применение формата XML в 1С

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

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

В 1С есть универсальные обработки для выгрузки данных в формате XML

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

Также в 1С XML-формат используется при сохранении настроек отчетов и печатных форм.

Поддержка JSON в 1С

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

Основное применение данного формате в 1С это интеграция с внешними приложениями, особенно с веб-приложениями. Формат JSON можно использовать при обмене файлами между разными приложениями 1С:Предприятие.

Этот формат используется в нашей разработке “Обмен счетами между Битрикс24 и 1С:Бухгалтерия предприятия”

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

Давайте обмениваться данными!

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

Компания ИНТЕРВОЛГА регулярно сталкивается с задачами интеграции 1С с интернет-магазинами и корпоративными порталами, и успешно решает эти задачи.

На нашем сайте есть ряд статей, посвященных обмену между Битрикс и 1С:

В типовых модулях обмена с сайтами и в наших разработках широко используются технологии, описанные в статье: HTTP-сервисы, веб-сервисы, форматы XML и JSON.

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

Оцените статью:
Заказать работы по 1С

Вы можете войти, используя аккаунт одной из социальных сетей