Организация обмена с базой филиала (розничного магазина) в торговой сети через XML (универсальный обмен). Организация обмена с базой филиала (розничного магазина) в торговой сети через XML (универсальный обмен) Обмен между конфигурациями 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С 8 широко используется возможность программного переопределения поведения правил обмена — механизм обработчиков. Обработчики событий существенно расширяют функционал и являются незаменимым инструментом настройки правил обмена в тех случаях, когда интерактивных возможностей конфигурации недостаточно.

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

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

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

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

Прежде всего зададимся вопросом: почему именно автообмен? Современные технологии, в сочетании с недорогим и быстрым интернетом, позволяют организовать удаленную работу без каких либо затруднений. Выбор способов как никогда широк: RDP, тонкий и веб-клиенты, объединение сетей при помощи VPN - есть над чем задуматься. Однако все эти способы имеют один существенный недостаток - сильная зависимость от качества канала связи.

Даже при идеальной работе местного провайдера гарантировать 100% доступность канала связи невозможно. Проблемы у магистрального провайдера, отсутствие электроснабжения, физическое повреждение линии связи и многие другие факторы делают эту задачу неразрешимой. В тоже время недоступность информационной базы на удаленном складе или в розничном магазине приводит к вполне ощутимым убыткам. Ну и наконец не будем забывать, что есть места (например промзоны на окраине городов) в которые подвести качественный канал связи дорого и/или проблематично.

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

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

На этом месте пора бы было перейти к практической части, но придется сделать еще одно отступление. Дело в том, что переход на платформу 8.2, который вроде бы уже произошел, по факту привел к появлению двух типов конфигураций: на основе управляемого приложения, "родные" для платформы 8.2, и адаптированные с 8.1, продолжая использовать устаревшие технологии и механизмы. Так как существенная часть конфигураций (Бухгалтерия предприятия, Зарплата и управление персоналом) являются адаптированными или переходными, то сбрасывать их со счетов нельзя, поэтому первая часть нашей статьи будет посвящена этим конфигурациям (по сути платформе 8.1), в то время как во второй мы разберем настройку автообмена для конфигураций на основе управляемого приложения (платформе 8.2).

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

В первую очередь нам нужно настроить узлы обмена. Для этого запустим конфигурацию с правами администратора и выберем Операции - Планы обмена.

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

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

Теперь перейдем Сервис - Распределенная информационная база (РИБ) - Настроить узлы РИБ .

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

Закладка Автоматический обмен позволяет настроить расписание обменов, обмен по событиям (начало и завершение работы и т.п.), данные настройки производятся для пользователя от чьего имени будет выполняться обмен, поэтому убедитесь в наличии у него прав для обмена данными.

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

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

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

7
1. Создаешь внешнюю обработку или отчет в ней форме пишешь " ПланыОбмена.УстановитьГлавныйУзел(Неопределено);" 2. Сохраняешь обработку. 3. Закрываешь конфигуратор 4. Запускаешь пользовательский режим. 5. Запускаешь обработку. Еще Вариант ко 7
Восстановление документов 1С из архива в рабочую базу (XML обмен) Не редко требуется восстановить данные испорченного документа 1С из архива базы после не умышленных, а зачастую ошибочных, действий удачливого пользователя. Самым простым способом я 6
Автоматизация обмена между базами используя обработку " Универсальный обмен данными в формате XML" В основу данной публикации положены найденные мною материалы по cозданию обмена между двумя базами с использованием обработки " Универсальный обме 6
Инструкция создания одностороннего обмена данными между конфигурациями " Источник" и " Приемник" с нуля: 1 Скачиваем последнюю версию конфигурации " Конвертация данных" . Сейчас на сайте ИТС перестали почему-то публиковать полные дистрибутивы, поэ

Планы обмена в 1С 8.3 — объект метаданных конфигурации, служащий для реализации синхронизации данных в системе 1С 8.

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

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

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

Как работать с планом обмена

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

  1. Изменяем данные (справочники, документы и т.д) в базе — план обмена запоминает изменения. Либо авторегистрацией, либо программным кодом (например метод ПланыОбмена.ЗарегистрироватьИзменения).
  2. Когда приходит время, получаем список измененных элементов — метод ПрочитатьИзменения(), выгружаем эти данные.
  3. При выгрузке/загрузке для исключения коллизий сверяем номера сообщений у плана обмена. Если они не совпадают, отменяем обмен данными, если совпадают, снимаем регистрацию изменений и увеличиваем номер сообщения.

Получите 267 видеоуроков по 1С бесплатно:

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

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

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

Состав плана обмена

Настройка, с помощью которой разработчик управляет набором объектов для обмена:

В составе плана обмена может быть 3 состояния объекта:

  1. Не включен в план обмена — соответственно, никаким образом для такого объекта Вы не сможете настроить обмен данными по этому плану обмена.
  2. Авторегистрация Запретить — это значит, что регистрировать изменения для данного узла необходимо только программным кодом по какому-то условию, как правило, . Используется метод ПланыОбмена.ЗарегистрироватьИзменения().
  3. Авторегистрация Разрешить — если установлена данная галка, то любые изменения элемента автоматически попадут в список изменений плана обмена.

Планы обмена и производительность 1С

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

Статьи по теме