Универсальный формат обмена 1с другая программа. Обмен через универсальный формат

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

Обмен данными будем настраивать односторонний , из УТ ---> БП. Также возможно настроить двухсторонний обмен, но на практике это не так часто требуется, поэтому в нашем примере мы его рассматривать не будем.

Подготовительные действия для настройки обмена в БП

Давайте приступим к настройке синхронизации, сначала зайдем в базу 1С "Бухгалтерия предприятия 3.0" (приемник), нам необходимо проверить включена ли синхронизация для этой базы, для того чтобы это сделать нам нужно сначала зайти в базу. Как только база откроется переходим на вкладку "Администрирование" ---> "Настройки синхронизации данных"

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

Продолжаем настройку синхронизации данных в УТ

После того как мы сделали все необходимые действия в базе приемнике (БП 3.0), для продолжения настройки обмена данными нам необходимо открыть базу источник (УТ 11.1). Заходим на вкладку "Администрирование", слева в меню выбираем пункт "Настройки синхронизации данных" . Если синхронизация не включена, то включаем ее с помощью флажка, также не забываем указать префикс базы источника. Как только мы выполнили все пункты 1-4 как показано на изображении ниже, необходимо нажать на гиперссылку "Синхронизация данных" (пункт 5).

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

Настройка важных моментов в обмене данными между УТ и БП

Теперь мы видим окно с настройкой синхронизации данных в 1С, выбираем пункт "Указать настройки вручную" и жмем "Далее".

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

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

Перед нами открылось окно "Правила отправки данных", в нем мы задаем следующие параметры:

  • Какая НСИ будет отправляться (в нашем примере нас интересуют только документы и НСИ используемая в них, поэтому мы бырали соответствующий пункт, если выбрать первый пункт "Отправлять всю" то вместе с документами будут перегружаться и все справочники, зачастую если информация не используется в документах то она бесполезна для приемника, ведь она никак не влияет на учет)
  • С какой даты отправлять всю информацию (ручную синхронизацию мы в этой статье рассматривать не будем)
  • По какой или каким организациям выполнять отправку данных (в нашем примере мы выбрали одну организацию ИП "Предприниматель")
  • Правила формирования договоров
  • Обобщенный склад
  • Сворачивать ли документы по складу

После того как мы сделали настройки нажимаем "Записать и закрыть".

Поскольку в нашем примере мы настраиваем и пользуемся односторонним обменом, из УТ в БП , то настройки правил получения данных из "Бухгалтерии предприятия 3.0" нас не интересуют, поэтому жмем "Далее".

В новом окне нам предлагается настроить правила для базы приемника (БП). В пункте 1 называем обзываем как-нибудь нашу базу, задаем ей префикс. ПРЕФИКС должен быть таким же каким мы его задавали в самой базе БП в начале этой статьи, если префиксфы будут отличаться синхронизация данных в программе 1С работать не будет. После этого жмем пункт 2, а потом пункт 3.

В пункте 3 нам необходимо разрешить проведение документов при их загрузке в базу. Нажимаем "Записать и закрыть".

Теперь окно должно иметь примерно такой вид как показано ниже, жмем "Далее".

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

На следующем шаге программа предложит выполнить синхронизацию сразу после создания настройки обмена данными . Согласимся с этим и нажмем "Готово".

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

Давайте рассмотрим пример, допустим в УТ есть контрагент с наименованием "ООО ФармГрупп" и ИНН 1234567, а в БП также есть контрагент с ИНН 1234567, но наименованием "ФармГрупп", если мы при сопоставлении данных на этапе синхронизации не сопоставить эти два объекта, то после синхронизации в приемнике (Бухгалетрия предприятия 3.0) мы будем иметь два контрагента с ИНН 1234567 и двумя наименованиями "ООО ФармГрупп" и "ФармГрупп" соответственно. Для того чтобы не возникало подобных ситуаций и был изобретен механизм сопоставления объектов.

В нашем примере база приемник пустая, и поэтому окна сопоставления объектов у нас не открывалось. Зато после выполнения некоторых операций система обязательно предложит пользователю добавить некоторые дополнительные данные и выведет следующее окно. Никаких дополнительных данных нам передавать не требуется, все что нужно мы уже настроили раньше, поэтому на этом шаге выбираем "Не добавлять документы к отправке". Жмем "Далее".

Заключительный этап выполнения обмена данными между 1С

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

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

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

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

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

При использовании стандарта EnterpriseData данные между приложениям передаются в виде XML-файла с использованием соответствующих XML-схем, при этом физическая передача информации может выполняться с помощью разных механизмов: веб-сервисов, файлового обмена через каталог, FTP и электронной почты. Важным моментом является то, что алгоритм взаимодействия подразумевает возможность подтверждения получателем факта приема и обработки направленных ему данных. Сам XML-файл физически предается в сжатом виде (ZIP), что часто позволяет сократить трафик информации в разы.

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

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

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

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

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

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

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

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

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

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

Обмен через электронную почту

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

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

по расписанию (с заданной периодичностью);

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

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

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

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

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

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

Рассмотрим пример синхронизации данных между конфигурациями «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»:


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

И показываем, как с ее помощью СИЛЬНО упростить решение своих задач

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

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

Поэтому позовите коллег, им это будет тоже очень полезно.

Особенно, если они уже видели КД 3 и успели испугаться:)

Да, когда ее видишь в первый раз – там вообще ни фига не понятно.

Но на самом деле – все ОЧЕНЬ просто. Настолько просто, что вам потом даже скучно будет:)

Что конкретно в сегодняшних видео

Это 4 видео по обмену данными через универсальный формат обмена EnterpriseData .

Кроме того, мы покажем пример доработки типовых правил обмена в 1С:Конвертации данных 3.0

Общая длительность – 34 минуты . Содержание:

  • Настройка обмена на примере 1С:Бухгалтерии 8 и 1C:ERP
  • Как сделать загрузку типовых правил и универсального формата обмена в Конвертации Данных 3.0
  • Перенос структуры метаданных в КД 3.0
  • Как выполнить первый обмен данными
  • Доработка правил конвертации
  • Как загрузить новые правила без изменения конфигурации (без снятия с поддержки )

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

Если бы подобная задача решалась в Конвертации данных 2.0, то изменения пришлось бы вносить в правилах и источника, и приемника.

Данные видеоуроки актуальны для БСП редакции 2.3.2 (для любой сборки старше 2.3.2.43).

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

Видео 1:
Загрузка правил обмена между типовыми конфигурациями в Конвертацию данных 3.0

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

  • Загрузка в КД структуры формата обмена (
  • Создание конвертации
  • Выгрузка файлов правил из типовой конфигурации
  • Выгрузка модуля менеджера обмена

Видео 2:
Доработка правил обмена в КД 3.0

В этом уроке мы покажем, как дозаполнить реквизиты объектов при загрузке данных.

Будет решена задача – при загрузке объектов из конфигурации-источника устанавливать комментарий “Загружено из БП 3.0”.

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

Разработанные правила будут сохранены в виде внешней обработки для дальнейшего использования.

Видео 3:
Настройка универсального обмена между типовыми конфигурациями

В этом уроке мы покажем, как настраивать новый обмен между типовыми.

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

Также в этом видео мы покажем, как без изменения конфигурации подгрузить новые правила обмена.

Видео 4:
Перенос начальных остатков с помощью правил обмена

В уроке покажем типовой функционал переноса начальных остатков.

P.S.

Да, обмены через txt / dbf / ole и т.д. имеют право на существование. В каких-то специальных случаях, типа стыковки с веб-сервером или переноса из готового формата внешнего приложения.

Однако для стандартных обменов – стандартные методы и быстрее, и сильно проще.

А если кто-то изобретает велосипед, когда есть готовое универсальное решение – это как написать себе на лбу “инструментом не владею, изучать не хочу, буду строить костыли за ваши деньги” .

P.P.S.

Мы хотим показать, что Конвертация Данных 3.0 – это не сложно.

Непривычно – да. Не все сразу понятно – да. Есть очень неоднозначные моменты – да.

Но с помощью готовых инструкций и видео ее можно освоить буквально за 1-2 недели.