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

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

Причин популярности синхронизации несколько:

  • Не надо отдельно запускать процессы загрузки и выгрузки данных;
  • Автоматическое выполнение обмена информацией не препятствует ручному обмену;
  • Простота настройки (для стандартных конфигураций не надо даже создавать правила обмена;
  • Достаточно единожды создать синхронизацию и объявить расписание ее выполнения.

Условия нашей задачи

На входе мы имеем две стандартных конфигурации базы данных:

  1. Зарплата и управление персоналом (редакция 3.1.3);
  2. Бухгалтерия сельскохозяйственного предприятия (редакция 3.0.52).

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

Если синхронизация будет настраиваться из «Бухгалтерии» в «ЗУП» должна быть активирован флажок «Синхронизация» и наоборот.

Где находятся настройки

В «Бухгалтерии» заходим в подсистему «Администрирование», в меню «Настройка» и находим пункт «Синхронизация данных» (Рис. 1)

Откроется окно настройки синхронизации (Рис. 2)

Рис. 2

Здесь мы можем:

  1. Включить или отключить синхронизацию;
  2. Запретить загрузку неактуальных данных;
  3. Установить префикс для идентификации перенесенных данных;
  4. Перейти к другим настройкам синхронизации.

Запустив синхронизацию установкой соответствующего флажка и определив префикс, мы можем закрывать бухгалтерию. Дальнейшая работа будет производиться в «Зарплате».

Окно настроек синхронизации данных представлено на Рис. 3

Рис. 3

Рассмотрим его подробнее.

Окно настроек синхронизации

Начнем по порядку:


Отдельно хотелось бы заострить внимание читателя на окне «Регистрация изменений» (Рис. 5). В верхней части которого есть номера отправленного и принятых сообщений, после удачного обмена номера в базе-источнике и базе-приемнике должны совпадать. В некоторых случаях (синхронизация произошла с копией базы, сбои в работе) нумерация в базах нарушается. Исправить эту ситуацию можно простым щелчком на гиперссылке с номерами. Это действие позволяет вручную установить текущий номер отправленного и входящего сообщений (Рис. 6)

Рис. 6

Настройки синхронизации

На закладке «Настройки синхронизации данных» есть две команды:

  • Настроить;
  • Загрузить правила.

Запуск команды «Загрузить правила» открывает форму (Рис. 7)

Рис. 7

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

Остальные настройки происходят по щелчку по кнопке «Настроить» (Рис. 8).

Рис. 8

В первом открывшемся окне можно:

  1. Открыть форму настройки сценария синхронизации;
  2. Просмотреть события отправки и получения информации;
  3. Определить дату, с которой будет происходить обмен;
  4. Если учет ведется по нескольким организациям, можно указать, какие именно из них будут участвовать в обмене;
  5. Определить параметры выгрузки проводок по зарплате: с детализацией по сотрудникам или без нее (сводно).

Команда «Загрузить комплект правил» аналогична такой же команде в предыдущем окне настройки.

Подробнее стоит остановиться на параметрах подключения (Рис. 9)

Рис. 9

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

Нам необходимо:

  • Определить путь к базе-приемнику;
  • Задать параметры авторизации (в базе-приемнике должен быть создан пользователь с правами администратора);
  • После проверки подключения можно считать, что наша настройка закончена.

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

Настройки расписания

И в конце пара слов про настройки расписания синхронизации, оно выполняется в соответствующей закладке окна (Рис. 3) и ничем не отличается от соответствующей формы настройки расписания прочих регламентных заданий.

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

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

Обмен данными в среде 1С позволяет:

  • Исключить двойной ввод документов;
  • Автоматизировать смежные бизнес-процессы;
  • Оптимизировать взаимодействие между распределенными подразделениями;
  • Оперативно актуализировать данные для работы специалистов разных отделов;
  • «Разграничить» разные виды учета.*

*В случае, когда данные одного вида учета существенно отличаются от другого, необходимо обеспечить конфиденциальность информации и «разграничить» информационные потоки. Например, обмен данными между 1С УТ и 1С Бухгалтерия не требует выгрузки в базу регламентного учета управленческих данных, т.е. синхронизация в 1С тут будет неполная .

Если представлять стандартный процесс реализации первичного обмена данными, когда хотя бы один из его объектов – продукт 1С, то можно выделить следующие этапы:

  • Согласование состава обмена;
  • Определение транспорта (протоколов обмена);
  • Установка правил;
  • Составление расписания.

Выявление состава обмена 1С

Объекты обмена можно условно поделить на «источник» и «приемник». При этом они могут исполнять две роли одновременно, что будет называться – двусторонним обменом. Определение источника и приемника происходит логическим путем в зависимости от необходимости или от функциональных возможностей системы.*

*Например, при интеграции «WA: Финансист» – решения для ведения финансового учета и управления процессами казначейства, разработанного на базе «1С:Предприятие», эксперты WiseAdvice рекомендуют именно его в качестве мастер-системы. Это обусловлено наличием инструментов контроля для соблюдения правил заявочной политики, а соответственно, и для обеспечения эффективности работы решения.

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

На этом же этапе в зависимости от парка имеющихся систем и структуры предприятия определяются с форматом обмена:

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

  • РИБ подразумевает обмен между идентичными конфигурациями баз данных 1С, с четкой структурой управления «главный-подчиненный» для каждой пары обмена. Являясь элементом технологической платформы, РИБ помимо данных может передавать изменения в конфигурации и административную информацию БД (но только от главного к подчиненному).

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

  • Механизм, позволяющий настроить обмен баз 1С, как с конфигурациями на платформе «1С:Предприятие», так и с системами сторонней разработки. Обмен осуществляется посредством перевода данных в универсальный xml-формат в соответствии с «Планами обмена».

EnterpriseData

  • Новейшая разработка фирмы 1С, предназначенная для реализации обмена данными в формате xml между продуктами, созданными на платформе «1С:Предприятие», с любыми системами автоматизации. Применение EnterpriseData упрощает доработки, связанные с обменом. Ранее при включении в систему новой конфигурации была необходима реализация механизма импорта и экспорта данных, как для нее, так и для уже имеющихся систем. Теперь системы, поддерживающие EnterpriseData, не нуждаются в доработках, имея только одну точку «входа-выхода».

Определение транспорта (протоколов обмена)

Для системы на платформе «1С:Предприятие 8» предусмотрен широкий спектр возможностей для организации обмена с любыми информационными ресурсами посредством общепринятых универсальных стандартов (xml, текстовые файлы, Excel, ADO-соединение и т.д.). Поэтому при определении транспорта для данных обмена следует отталкиваться от возможностей базы данных сторонней системы.

Синхронизация справочников

Основным принципом эффективной синхронизации справочников является наличие одной точки ввода. Но если речь идет о работе со справочниками, исторически заполнявшимися по разным правилам, необходимо четко определить поля синхронизации для приведения обмена к «общему знаменателю».*

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

Установка правил

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

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

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

Расписание обмена в 1С

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

Рассмотрев стандартный процесс реализации обмена, обратим внимание на факторы, которые потребуют доработок на разных этапах:

  • Не типовые, сильно доработанные конфигурации БД;
  • Разные версии платформы «1С:Предприятие»;
  • Давно не обновлявшиеся, не актуальные версии конфигурации;
  • Объекты обмена, ранее подвергшиеся доработкам;
  • Необходимость в нестандартных правилах обмена;
  • Сильно различающийся набор и состав реквизитов в имеющихся справочниках.

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

В подменю «Сервис» выбираем «Обмен данными c продуктами на платформе…» (выбор прямого обмена с «Розницей» зачастую грозит ошибками на уровне COM-объектов). Обратим внимание на служебное сообщение «Данная возможность недоступна».


Чтобы решить эту проблему, необходимо выбрать «Настройку обмена данными»


…и проставить галочку. Далее сообщение об ошибке игнорируем.


В настройках синхронизации данных выбираем «Создать обмен с «Розница»…



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



При подключении через сетевой каталог предложения настроить подключение посредством FTP-адреса и по электронной почте игнорируем, нажимая «Далее».


В настройках вручную проставляем префиксы – условные обозначения баз (как правило, БП, УПП, РО), задаем правила и начальную дату выгрузки данных. Префикс будет указываться в названии документов, для обозначения базы, в которой они были созданы. Если правила выгрузки не будут отредактированы, данные по умолчанию будут выгружаться по всем имеющимся параметрам.



Создаем файл настройки обмена для «Розницы», чтобы не повторять свои действия. При необходимости немедленной отправки данных сразу после настройки синхронизации – проставляем галочку.


Для автоматизации процесса обмена необходимо настроить расписание.


Меню «Розница».


Проставляем галочку и выбираем «Синхронизацию».


Производим «обратную» настройку, выбирая Управление производственным предприятием.




Загружаем файл с настройками, созданный в УПП.


Проставляем галочку, адрес система подхватывает автоматически.





Действуем так же, как в УПП.









Проверочное сопоставление данных (Ручное сопоставление данных рекомендуется произвести на подготовительном этапе, поскольку эти работу могут стать самыми трудоемкими в процессе реализации обмена). Открытие окна сопоставления происходит по двойному щелчку мыши.



В случае ошибки в синхронизации «Подробно…» будет заменено на «Никогда…».


«Подробно…» открывает журнал регистрации с уточненной информацией по обмену.


Готово.

Отправить эту статью на мою почту

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

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

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

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

Реализацию обмена данными на предприятии можно представить в виде последовательных процедур.

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

Затем выбираем подходящий формат: РИБ, универсальный формат; обмен по правилам обмена; обмен без правил обмена.

Следующим шагом будет выбор транспорта для выполнения обмена. Доступен большой выбор технологий, выделим основные: каталог (локальный или сетевой), FTP-ресурс, COM соединения, веб-сервис, электронная почта.

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

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

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

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

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

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

Такой алгоритм подходят и для других типовых конфигураций на платформе 1С 8.3

В первую очередь проведем подготовительную работу для приемника информации, т.е. для БП. Запускаем программу в режиме Предприятие. Надо установить константу Синхронизация данных (раздел Администрирование → Синхронизация данных).

Обратите внимание на поле Префикс, здесь требуется указать значение, которое позволит впоследствии различить (по значению кода справочника или номеру документа) в какой программе изначально были созданы объекты. В нашем примере подойдет обычное сокращение – БП и УТ, если настройка обмена 1С 8.3 выполняется для сложного обмена между большим количеством баз, а так же одинаковых конфигураций потребуется ввести каждой базе свое понятное обозначение.

Так как БП является только приемником информации, переходим к настройке УТ.

Здесь, так же как и в БП требуется включить синхронизацию и указать префикс. Доступны эти сведения в разделе НСИ и администрирование → Настройки синхронизации данных.

Выбираем способ настройки Указать настройки вручную. Далее.

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

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

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

Внесенные правила записываем и закрываем.

Так как в примере речь идет об односторонней передачи информации, то в следующем окне настроек для получения данных из другой программы следует установить значения Не отправлять. Записать и закрыть. Далее.

Теперь надо проверить введенные параметры и если они верны нажать Далее, в противном случае вернуться к предыдущему шагу нажав Назад.

Затем будет предложено провести синхронизацию. Жмем Готово.

При необходимости выполнить соотнесение одинаковых объекты двух конфигураций откроется окно для сопоставления данных. Выполняем сопоставление и жмем Далее.

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

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

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

Для облегчения интеграции с программными продуктами фирмы «1С» разработан формат обмена данными EnterpriseData. Формат основан на XML и является бизнес-ориентированным – описанные в нем структуры данных соответствуют бизнес-сущностям (документам и элементам справочников), представленным в программах «1С», например: акт выполненных работ, приходный кассовый ордер, контрагент, договор и т. п. Это делает формат интуитивно понятным и легким в использовании.

Формат EnterpriseData предназначен для обмена данными внутри компании (в том числе между разнородными и территориально удаленными информационными системами) и призван покрыть все сферы деятельности предприятия – финансы, производство, закупки и продажи, складские операции и т. п.

Описание формата

Версия 1.0.1 формата включает в себя описание 94 типов бизнес-сущностей из различных областей бизнеса (подробное описание формата можно найти ). Формат является расширяемым – фирма «1С» будет добавлять в него описание новых бизнес-сущностей и расширять существующие сущности новыми полями. Поддержка формата в продуктах фирмы «1С» обеспечивает совместимость снизу вверх – все программы сторонних производителей, обменивающихся данными в формате EnterpriseData с продуктами «1С», при выходе новых версий формата корректно продолжат работу.

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

Формат используется для синхронизации данных между программными продуктами самой фирмы «1С». На настоящий момент этот формат поддерживают следующие продукты:

  • «1C:ERP Управление предприятием 2.0»,
  • «Бухгалтерия предприятия», редакция 3.0,
  • «Бухгалтерия предприятия КОРП», редакция 3.0,
  • «Розница», редакция 2.0,
  • «Управление торговлей базовая», редакция 11,
  • «Управление торговлей», редакция 11,
  • «Зарплата и управление персоналом КОРП», редакция 3.

Возможный вариант обмена данными

Обмен данными с программами «1С»

Предварительная настройка на стороне «1С»

Чтобы начать обмен данными в формате EnterpriseData между приложением «1С» и сторонним приложением, надо на стороне «1С» настроить синхронизацию данных. В ходе настройки указывается уникальный код приложения, с которым будет производиться обмен, а также по какому каналу будет происходить обмен данными. В настоящий момент доступны следующие опции:

  • веб-сервис,
  • файловый обмен через каталог,
  • файловый обмен через FTP,
  • обмен через электронную почту.

В случае обмена через веб-сервис стороннее приложение будет инициировать сеанс обмена данными путем вызова соответствующих веб-методов приложения «1С». В остальных случаях инициатором сеанса обмена будет приложение «1С».

Также на стороне «1С» настраивается, с какой периодичностью будет происходить синхронизация (для вариантов с файловым обменом через каталог и электронную почту):

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

Формат файлов обмена

В ходе синхронизации приложения «1С» и сторонние приложения обмениваются сообщениями – XML-файлами определенной структуры. Эти файлы состоят из двух секций –

и . Секция
содержит сообщение-квитанцию (о ней ниже), а – информацию об измененных бизнес-сущностях в формате EnterpriseData.

Пример сообщения

Секция (квитанция) содержит служебную информацию (для простоты предположим, что сообщение идет из приложения «1С» в стороннее приложение):

Если сообщение идет в обратном направлении – от стороннего приложения в приложение «1С», стороннее приложение должно соответствующим образом заполнить секцию .

Приложения «1С» ведут учет отправленных и полученных сообщений синхронизации и ожидают того же от сторонних приложений. Для чего это делается – изложено ниже.

Механизм квитирования

Приложения «1С» в ходе синхронизации передают только информацию об изменениях, произошедших с бизнес-сущностями со времени последней синхронизации (чтобы минимизировать объем передаваемой информации). При первой синхронизации приложение «1С» выгрузит все бизнес-сущности в формате EnterpriseData в XML-файл (поскольку все они являются «новыми» для внешнего приложения). Следующий шаг за сторонним приложением –оно должно обработать информацию из XML-файла и при следующем сеансе синхронизации поместить в секцию информацию, что сообщение от «1С» за определенным номером успешно принято (поместить в поле ReceivedNo номер полученного от «1С» сообщения). Сообщение-квитанция является для приложения «1С» сигналом, что все бизнес-сущности успешно обработаны внешним приложением и информацию о них передавать больше не нужно. Помимо квитанции XML-файл от стороннего приложения также может содержать данные для синхронизации (в секции ).

После получения сообщения-квитанции приложение «1С» помечает все изменения, переданные в предыдущем сообщении, как успешно синхронизированные. Лишь несинхронизированные изменения в бизнес-сущностях (создание новых, изменение и удаление существующих) будут отправлены во внешнее приложение при следующем сеансе синхронизации.

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

Приложение «1С» после обработки файла сформирует XML-файл, который будет содержать сообщение-квитанцию и новые данные для синхронизации со стороны «1С» (если такие есть со времени последнего сеанса синхронизации).

Обмен через веб-сервис

При использовании веб-сервиса инициатором сеанса обмена выступает стороннее приложение. Для получения данных от приложения «1С» ему нужно вызвать веб-метод GetData, передав в качестве параметров метода уникальный код приложения, введенный на . В ответ «1С» вернет файл, содержащий данные о бизнес-сущностях в формате EnterpriseData. Формат файла описан.

Чтобы передать данные в «1С», приложение должно вызвать веб-метод PutData, передав как параметры уникальный код приложения и заархивированный файл в описанном выше формате.

Обмен через другие каналы

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

Заключение

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

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

В «Макете плана» хранятся те самые правила, на основе которых работает синхронизация. Вот именно этот пакет конвертации (ПравилаРегистрации, ПравилаОбмена, ПравилаОбменаКорреспондента) нам и необходим для дальнейшего изучения.

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

Живой пример потребности в доработке типовых правил обмена

Например, заказчик обратился к нам с такой проблемой: при синхронизации между ЗУП и БП нет возможности передать данные справочника «Регистрации в налоговом органе», которые необходимы для заполнения документа «Отражение зарплаты в бухучете». Сейчас табличная часть этого документа на стороне приемника БП содержит пустую «Регистрацию…» и пользователям приходится вручную создавать такие записи в справочнике. Согласитесь, это неудобно. Можем доработать этот момент.

Решение проблемы: доработаем пакет конвертации из плана обмена ОбменЗарплата3Бухгалтерия3. Добавим в типовые «Правила обмена 1С» новое «Правило конвертации объектов» (ПКО) для справочника «Регистрации в налоговом органе» и соответственно «Конвертацию свойств» этого справочника (ПКС). Обязательно доработаем типовые «Правила регистрации объектов», т.к. возникла необходимость зарегистрировать изменения справочника на узле обмена. И пересмотрим «Правила обмена 1С» базы корреспондента.

Где все это будем редактировать? для написания и изменения правил нам потребуется конфигурация «1С:Конвертация данных 2».

Доработка типовых правил конвертации из Плана обмена ЗУП - БП

Итак, доработку правил обмена 1С начнем с того, что в конфигураторе для плана обмена ОбменЗарплата3Бухгалтерия3 в состав добавим новый элемент - справочник РегистрацииВНалоговомОргане. Данное изменение сделаем в обоих конфигурациях «1С:Зарплата и управление предприятием 3» и «1С:Бухгалтерия предприятия 3».

Сохраним и обновим конфигурации.

В режиме предприятия для каждой базы выгрузим описание структуры метаданных с помощью обработки MD83Exp.epf для платформы «1С:Предприятие 8.3». Обработку можно найти в комплекте «1С:Конвертация данных».

На следующем этапе выгрузим пакет конвертации из ЗУП и БП. Пакет должен состоять из 3 файлов: ПравилаРегистрации, ПравилаОбмена, ПравилаОбменаКорреспондента.

В рамках данной статьи не будет описания как настраивается синхронизация данных, это можно прочитать на сайте компании «Кодерлайн» в разделе «Статьи экспертов» либо посмотреть записи вебинаров . Сейчас в базах уже настроена данная опция. Поэтому переходим в настройку синхронизации (Администрирование -> Синхронизация данных -> Настройка синхронизации данных), нажимаем кнопку «Загрузить правила». Перед нами откроется форма «Правил для синхронизации». По кнопке «Еще» выберем пункт «Сохранить правила в файл».


Вот такой пакет после выгрузки должен у нас получиться.

Аналогичные действия выполним и для другой информационной базы «1С:Бухгалтерия предприятия».
В итоге все подготовительные работы для редактирования правил готовы. У нас есть:

Описание структуры метаданных для загрузки в «1С:Конвертация данных 2» (для ЗУП и БП);

Пакет конвертации, который содержит правила обмена 1С и правила регистрации, необходимые для загрузки в «1С:Конвертация данных 2» (для ЗУП и БП).

Переходим в «1С:Конвертация данных 2» . Выполним следующие действия по порядку для обоих информационных баз:

Загружаем структуры метаданных наших конфигураций;

Создаем конвертации и загружаем правила обмена данными 1С из пакетов конвертации (файл правил называется ExchangeRules);

Создаем регистрации и загружаем правила регистрации из пакетов конвертации (файл правил называется RegistrationRules).


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

Переходим к правилам регистрации нового элемента. Добавляем справочник «Регистрации в налоговом органе». Выгружаем правила регистрации в соответствующий файл из пакета RegistrationRules. Это действие также выполняем для обоих баз.

Доработанные правила обмена и правила регистрации готовы. Теперь в правила корреспондента (CorrespondentExchangeRules) из пакета ЗУП копируем содержимое правил обмена (ExchangeRules) из пакета БП. В правила корреспондента (CorrespondentExchangeRules) из пакета БП копируем содержимое правил обмена (ExchangeRules) из пакета ЗУП.

В итоге должно получиться следующее:

На этом работа в «1С:Конвертация данных 2» завершена. Доработанные пакеты правил конвертации готовы, осталось загрузить их обратно в информационные базы и проверить синхронизацию.

Архивируем файлы из пакетов в Архив ZIP и загружаем в ЗУП и БП свои пакеты конвертации.

Все готово. Осталось протестировать.

Вспомним условия задачи. Необходимо было зарегистрировать к выгрузке справочник «Регистрации в налоговом органе» и проверить, как заполняется ТЧ документа «Отражение зарплаты в бухучете» на стороне «1С:Бухгалтерия предприятия 3».

В источнике «1С:Зарплата и управление предприятием 3» регистрируем к выгрузке наш справочник. Выполняем синхронизацию. Переходим в базу приемник и тоже выполняем синхронизацию для получения данных. Обратим внимание, что теперь в плане обмена появился нужный справочник для регистрации изменений.

Проверяем на стороне «1С:Бухгалтерия предприятия 3»:


Подведем итог. Результат поставленной задачи выполнен успешно. Мы доработали план обмена ЗУП - БП, добавив новый элемент для регистрации изменений и дописали правила конвертации для синхронизации данных.