→ Обмен по расписанию типовыми средствами. Добавление плана обмена в типовую конфигурацию Фильтр по организациям

Обмен по расписанию типовыми средствами. Добавление плана обмена в типовую конфигурацию Фильтр по организациям

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

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

Для связи нескольких баз существует Обмен 1С. Как он работает?

Что такое Обмен 1С?

Есть сеть магазинов и центральный офис. В каждом магазине и в офисе есть склад. Товары перемещаются со склада на склад (в основном с центрального на склады магазинов), и в магазинах — продаются.

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

В офисе создают документы о перемещении товаров со склада на склад, назначаются цены. Документы заливаются в подчиненные базы и там «появляются» товары.

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

Такая схема называется – распределенная информационная база (РИБ). Процедуры «заливки» документов – двусторонний обмен 1С. А настройка этой схемы – УРИБ или УРИБД (управление распределенными информационными базами данных).

Принципы Обмена справочниками в 1С

Справочники 1С (а набор всех справочников «в комплексе» называют НСИ – нормативно справочная информация) – в разных базах обычно должны быть едины. Это значит, что даже если баз несколько, то список товаров, складов, контрагентов – един в разных базах.

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

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

Принципы Обмена документами в 1С

Документы в 1С проводятся по регистрам и после этого считаются «проведенными». Это рождает понятные сложности при переносе.

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

Другой вариант – перенос документов и регистров вместе. Как мы понимаем, сразу же появляется вопрос – или мы переносим все документы вообще и тогда весь регистр вообще или вынуждены выбирать для переноса только движения по переносимым документам.

Допустим, нам нужно перенести элемент справочника Номенклатура. У этого справочника есть 10 полей, из которых 5 являются строками и числами, а 5 – ссылками на другие справочники.

Соответственно при переносе одного элемента Номенклатуры мы вынуждены искать и переносить также 5 элементов других справочников.

Таким образом при переносе одного элемента справочника или одного документа, по ссылке может быть перенесено 100 и больше других объектов 1С.

Фактически говорят, что почти все справочники конфигурации так или иначе ссылаются друг на друга.

Планы обмена 1С

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

Что делать? Провести снова полный обмен 1С? Долго и неэффективно! Гораздо лучше было бы вычислить что именно было добавлено или изменено пользователями в офис, чтобы в магазины попали только изменения.

Для этого существует – планы обмена 1С. Программист заранее создает план обмена 1С для проведения обменов 1С с какой-либо другой базой данных, например с нашими магазинами.

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

Создание УРИБ 1С

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

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

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

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

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

Зайдем в план обмена 1С (Операции/План обмена; также могут быть в другом меню, часто в меню Сервис/ХХХ).

В списке баз данных в плане обмена 1С есть одна с зеленым кружочком на картинке. Этот элемент обозначает ЭТУ БАЗУ. Остальные элементы обозначают ДРУГИЕ базы, с которыми идет обмен 1С.

Необходимо, чтобы было заполнено и наименование и код у всех элементов.

Чтобы создать подчиненную базу «магазина»:

  • Установите кусор в списке на элемент плана обмена 1С, который мы создали как «базу магазина»
  • Выберите пункт меню «Действия/Создать начальный образ».

В результате будет создана одна база, с выгруженными в нее начальными данными. Это нужно повторить для каждого элемента плана обмена 1С, кроме ТЕКУЩЕЙ БАЗЫ.

Теория проведения обменов 1С

Теория обмена 1С достаточно проста:

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

Существуют другие методы обмена 1С, не через файлы, а например, через прямое COM-соединение между двумя базами. Его плюсы:

  • Не требуется «место для хранения и передачи файлов»
  • Не требуется повторной загрузки подтверждения
  • Все происходит быстрее за счет первых двух пунктов.

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

Настройка РИБ 1С

В константах типовых конфигураций (Операции/Константы; или Сервис/Настройки программы) — обычно есть общая настройка обменов 1С. Это – префикс в кодах элементов и номерах документов, чтобы легко определять в какой базе он создан. А также внутренний метод сохранения информации о месте создания справочников и документов.

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

Для каждого ранее созданного элемента «удаленной базы магазина» необходимо добавить элемент настройки.

В настройке указывается способ обмена 1С: файл (шара), файл (FTP), файл (e-mail).

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

Посмотрим аналогичную настройку в типовой конфигурации на базе тонкого клиента – Управление торговлей редакция 11.
Настройки (и создание с нуля) находятся на закладке интерфейса Администрирование. Пункт «Обмен данными».

Выберем «Создать обмен в распределенной информационной базе».

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

Вот вариант настройки через файл на FTP.

Название нашей настройки обмена 1С.

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

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

Приветствую Вас, дорогие друзья.

В сегодняшней статье я хочу описать процесс настройки нового обмена в конфигурации «Управление торговлей 11». Хочу сказать, что данный порядок действий можно отнести ко всем новым конфигурациям, которые основаны на БСП: Управление торговлей 3.0 для РБ, Бухгалтерия предприятия 3.0, Управление небольшой фирмой 1.4.

Все действия будем рассматривать на примере.

Пример.

Необходимо организовать онлайн обмен между конфигурацией «Управление торговлей 11» и базой «Тест».

Приступим к реализации.

1. Создадим новый план обмена «ОбменТестУправлениеТорговлей11».

2. Настраиваем состав плана обмена .

ВАЖНО! Для всех объектов авторегистрация ЗАПРЕЩЕНА . В составе обязательно должен быть регистр сведений «СоответствияОбъектовИнформационныхБаз».

3. Настраиваем модуль менеджера созданного плана обмена «ОбменТестУправлениеТорговлей11» (В модуль менеджера плана обмена
переносим код из плана обмена
«_ДемоОбменСБиблиотекойСтандартныхПодсистем »
демо-базы «БСП 2.1.2» либо если нет «БСП», то из любого подходящего плана обмена УТ 11). Модуль менеджера для нашего тестового плана обмена можно взять .

4. Редактируем общие команды конфигурации. В параметр добавляем созданный план обмена. Необходимо отредактировать следующие команды:

  • ВыполнитьОбменДанными
  • ВыполнитьОбменДаннымиИнтерактивно
  • ОткрытьПравилаКонвертацииОбъектов
  • ОткрытьПравилаРегистрацииОбъектов
  • ОткрытьСценарииОбменовДанными
  • ОткрытьПравилаСинхронизацииДанных (Если такая команда есть, т.к. она добавилась в последних версиях)
  • ПерейтиВЖурналРегистрацииСобытийВыгрузкиДанных
  • ПерейтиВЖурналРегистрацииСобытийЗагрузкиДанных
  • ПолучитьНастройкиОбменаДаннымиДляВторойИнформационнойБазы

5. Добавляем необходимые подписки на события:

  • ОбменДаннымиОбменТестУправлениеТорговлей11ЗарегистрироватьИзменение. Данная подписка будет регистрировать изменения справочников. Настройки подписки:
  1. Источник подписки — справочники, участвующие в обмене.
  2. Событие — ПередЗаписью.
  3. ОбменДаннымиСобытияУТ » с кодом ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписью(» ОбменТестУправлениеТорговлей11″, Источник, Отказ) .
  • ОбменДаннымиОбменТестУправлениеТорговлей11ИзменениеДокумента. Данная подписка будет регистрировать изменения документов. Настройки подписки:
  1. Источник подписки — документы, участвующие в обмене.
  2. Событие — ПередЗаписью.
  3. Обработчик — обработчик данной подписки необходимо разместить в общем модуле «ОбменДаннымиСобытияУТ » с кодом ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписьюДокумента(» «, Источник, Отказ);
  • ОбменДаннымиОбменТестУправлениеТорговлей11ЗарегистрироватьУдаление. Данная подписка будет регистрировать удаление документов, справочников. Настройки подписки:
  1. Источник подписки — документы, справочники, участвующие в обмене.
  2. Событие — ПередУдалением.
  3. Обработчик — обработчик данной подписки необходимо разместить в общем модуле «ОбменДаннымиСобытияУТ » с кодом ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередУдалением(» ОбменТестУправлениеТорговлей11 «, Источник, Отказ);
  • ОбменДаннымиОбменТестУправлениеТорговлей11ЗарегистрироватьИзменениеНабораЗаписей. Данная подписка будет регистрировать изменения регистров накопления, сведений, бухгалтерии, расчетов. Настройки подписки:
  1. Источник подписки — наборы записей регистров, необходимых для регистрации изменений.
  2. Событие — ПередЗаписью.
  3. Обработчик — обработчик данной подписки необходимо разместить в общем модуле «ОбменДаннымиСобытияУТ » с кодом ОбменДаннымиСобытия.МеханизмРегистрацииОбъектовПередЗаписьюРегистра(» ОбменТестУправлениеТорговлей11 «, Источник, Отказ) ;

6. Добавим общую команду «ПомощникНастройкиОбменаДаннымиСТестом «. Данная команда необходимо для реализации помощника обмена.

В обработчик команды необходимо добавить код: ОбменДаннымиКлиент.ОткрытьПомощникНастройкиОбменаДанными(» ОбменТестУправлениеТорговлей11 «)

7. В общий модуль «ОбменДаннымиПереопределяемый»
в процедуру «ПолучитьПланыОбмена » добавить наш план обмена
ПланыОбменаПодсистемы.Добавить(Метаданные.ПланыОбмена.ОбменТестУправлениеТорговлей11)

8. Создаем макет плана обмена «ОбменТестУправлениеТорговлей11 «
«ПравилаКонвертации» (тип — ТекстовыйДокумент) и загружаем
в это макет правила, созданные с помощью КонвертацииДанных.

9. Если необходимо, добавляем правила регистрации. Чтобы использовать правила регистрации необходимо добавить произвольную форму плана обмена «ФормаНастройкиУзла», макет «ПравилаРегистрации», в модуле менеджера плана обмена отредактировать процедуры «НастройкаОтборовНаУзле » и «ОписаниеОграниченийПередачиДанных «. В реквизиты формы «ФормаНастройкиУзла» добавить реквизиты, имена которых аналогичны именам реквизитов плана обмена, которые предназначены для фильтрации данных. Например «Организация», «Склад.»

Для примера «ФормуНастйрокиУзла» можно взять в плане обмена «ОбменУправлениеТорговлейБухгалтерияПредприятия30» и отредактировать под наши критерии.

10. В предприятии ПравилаКонвертации и ПравилаРегистрации необходимо ВСЕГДА загружать в регистр сведений «ПравилаДляОбменаДанными», для этого существует специальная форма для загрузки.

Для загрузки правил конвертации необходимо в форме обменов выбрать «Настройки — Изменить «. Затем в форме плана обмена выбрать «Параметры обмена данными — Открыть правила конвертации объектов «. В форме редактирования правил конвертации по кнопке «Загрузить » загружаем привила либо из файла либо из макета определенного в п.8.

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

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

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

Давайте приступим к настройке синхронизации, сначала зайдем в базу 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" (БП) завершена.

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

  • Нужно настроить обмен стандартными средствами с конфигурацией, с которой нет типового обмена.
  • Есть несколько информационных баз с одинаковыми конфигурациями, нужно настроить с ними обмен по разным правилам. А как известно, обмен с продуктами на платформе 8.2 не позволяет загружать разные правила для разных узлов.

Как добавить новый план обмена с продуктами на платформе 1С:Предприятие 8.2 (с поддержкой библиотеки стандартных подсистем 2.0/3.0)

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

Добавлением новых планов обмена мы будем решать сразу 2 проблемы:

  1. В типовых Бухгалтериях вообще нет плана обмена для конфигурации Финансист (хорошо, что этот план обмена идет в самой поставке Финансиста).
  2. Версии Бухгалтерий для России, Украины и Казахстана отличаются достаточно существенно, следовательно должны быть разные правила обмена под каждую из Бухгалтерий. А так как одному плану обмена можно задать только одни правила, то придется делать несколько планов обмена под каждую из национальных Бухгалтерий. Можно, конечно, изменить конфигурацию Финансиста таким образом, чтобы дать возможность загружать свои правила для каждого узла в одном плане обмена, но это, на мой взгляд, будет несколько сложнее само по себе и, к тому же, осложнит дальнейшие обновления конфигурации.

Итак, алгоритм действий:

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

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

 

 

Это интересно: