Настройка одностороннего обмена в РИБ 8.1, 8.2 БЕЗ ИЗМЕНЕНИЯ КОНФИГУРАЦИИ

Статья описывает простой универсальный алгоритм настройки одностороннего обмена в РИБ 8.1 и 8.2 для любых конфигураций, имеющих план обмена, БЕЗ ИЗМЕНЕНИЯ КОДА.

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

        1. Создание правил обмена.

Если у вас одна из типовых конфигураций, указанных в анонсе, то возьмите правила из прикрепленных файлов, пропускайте 1й пункт и переходите ко 2му.

1.1 Для создания правил обмена используем конфигурацию конвертация данных ред.2. (Ее можно найти на любом диске ИТС либо скачать с сайта 1С). В конфигурации, которую мы распределяем, откроем файл MD81exp.epf либо MD82exp.epf, которые входят в комплект поставки конвертации данных. (Для 8.2  лежат, например, в C:Documents and Settings*user*Application Data1C1Cv82 mplts1cConversion2_1_5_1).

 

 

1.2 Выбираем файл, куда сохраним описание структуры метаданных, и жмем «Выгрузить«.

1.3 После завершения выгрузки запускаем конфигурацию Конвертация данных и открываем «Стартовый помощник«:

 

1.4 В появившемся окне жмем далее и выбираем пункт «Создать правила обмена с нуля» и «Далее«:

 

1.5 В следующем окне нам предлагают выбрать конфигурации для обмена- нажимаем «Новая«, и в появившемся окне выбираем наш файл из пункта 1.2 , жмем «Выполнить загрузку» :

 

1.6 Через некоторое время (5-10 мин.) загрузка закончится, и после нажатия «ОК» наша конфигурация появится в поле «конфигурация-источник«. Выбираем ее же в поле «конфигурация-приемник» и жмем «Далее«:

 

1.7 В появившемся окне выбираем 1й пункт и жмем «Выполнить«:

 

1.8 Через некоторое время правила создадутся, и мы увидим следующую картину:

 

1.9 В списке объектов есть один, который нам передавать точно не нужно. Я говорю о регистре сведений «ГраницыЗапретаИзмененияДанных» (Его передача приведет к коллизиям, в случае изменения даты запрета редактирования, что бывает не так и редко). Снимаем с него галочку и жмем «Создать правила выгрузки«:

 

1.10 Затем жмем кнопку «Сохранить правила«, выбираем имя файла и жмем «Сохранить«:

 

 В результате мы получили файл с правилами обмена данными нашей конфигурации с идентичной конфигурацией. Этот файл мы и используем в настройке РИБ.

    2. Настройка РИБ. (Я не буду расписывать создание РИБ, варианты настройки автообмена и т.д. Статьи на эту тему легко найти, опишу лишь нюансы, связанные с первоначальной задачей). Итак:

2.1 Настройка на основном узле: Переключаемся на полный интерфейс, заходим в меню «Сервис» —> «Распределенная информационная база (РИБ)» —> «Настроить узлы РИБ«. Нажимаем «Добавить» и попадаем в окно:

 

2.2 Выбираем наименование для настроек обмена данными, ставим галочку «Обмен по правилам обмена«, жмем кнопку «Загрузить правила«, выбираем наш файл из пункта 1.10 и на всякий случай жмем «Проверить правила«. (Не забудьте выбрать тип обмена и др. настройки).

 Жмем сохранить и переходим к настройке 2го узла (Копия).

2.3 Настройка на 2м узле (на последующих узлах она идентична, если таких копий нужно несколько). Повторяем действия пунктов 2.1 и 2.2 в копии и переходим на закладку «Обмен по правилам«, жмем «Загрузить настройки«:

2.4 После загрузки объектов выбираем все (ctrl+A) и жмем «Изменить настройку«. Меняем на «не выгружать«, жмем «ОК» .

 

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

2.6 Тестируем обмен.

38 Comments

  1. monster6666

    Статья описывает простой универсальный алгоритм настройки одностороннего обмена в РИБ 8.1 и 8.2 для любых конфигураций, имеющих план обмена, БЕЗ ИЗМЕНЕНИЯ КОДА.

    Перейти к публикации

    Reply
  2. boutinol

    А в ЗУПе можно сделать такой обмен?

    Reply
  3. monster6666

    Ну если очень нужно. То можно)

    Reply
  4. WKBAPKA

    ололо, не проще было выложить книгу по конвертации?

    то такое впечателение, шо Америку открылие еще раз…

    и то такой обмен стал благодаря возможным после того как в РИБ добавили функцию обмена по правилам обмена… а ведь раньше таких возможностей не было 🙂

    Reply
  5. monster6666

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

    Reply
  6. pumbaE

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

    Reply
  7. Just

    Хотелось бы уточнить, а правила обмена корректно создаются? Помнится раньше на автомате создавались не все правила обмена, например, табличными частями и многими другими реквизитами?

    Reply
  8. Valerich

    при изменении конфигурации (добавлении и удалении объектов конфигурации или их реквизитов) придется обновлять и правила обмена ?

    Reply
  9. monster6666

    (5) pumbaE, Это будет уже не РИБ а независимые базы. Конфигурация передаваться не будет.

    Reply
  10. monster6666

    (6) Just, Задача , описанная в шапке взята из реальной жизни и сейчас все работает в более чем 10 ти конфигурациях, УПП , БП и УТ . Проблем, связанных с неполной передачей данных пока не обнаружено. Если появятся таковые, подправлю статью.

    Reply
  11. monster6666

    (7) Valerich, Придется редактировать правила.

    Reply
  12. svsrus

    Спасибо за статью, как раз занимаюсь вопросом.

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

    Reply
  13. monster6666

    (11) svsrus, Пока не пробовал, нужно проверить.

    Reply
  14. GStiv

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

    Reply
  15. Estranger78

    Как все-таки правильно обновлять периферийную при такой реализации? Все работало, обмен на ура, конфа 2.0.32.4. Обновил центр до 2.0.33.7, правила пока не менял, обмен прошел, однако периферийная не запросила режим конфигуратора, в конфигураторе пункт «обновить конфигурацию БД» неактивный. Правила подготовил новые, но вопрос — обмен сам пройдет, после подсовывания новых правил и регистрации в центре новых документов или у меня тупо где-то галочка не стоит на формирование в файлах обмена изменений конфигурации??

    Reply
  16. monster6666

    (14) Estranger78, Я скоро проверю все и на след неделе вам отпишусь (постараюсь пораньше). Извините сейчас со временем проблемы.

    Reply
  17. diarki

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

    Reply
  18. OLga_gab

    Для меня статья — просто находка. Благодарю Вас.

    Reply
  19. ProGramMoS

    monster6666, К сожалению большинство фото примеров не подгружаются в вашей статье, можно ли их восстановить?

    Reply
  20. azeraus

    Сделал все как в статье но при обмене выдает ошибку

    Ошибка при выгрузке данных для узла плана обмена

    Объект = Расход по налогу на прибыль

    ОписаниеОшибки = Метод объекта не обнаружен (ОпределитьТипОтправкиДанных)

    ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(12009)

    КодСообщения = 72

    УзелПланаОбмена = РИБ Приемник

    Произошла ошибка при выгрузке объектов. Было выгружено: 0

    Подскажите как это исправить.

    Заранее спасибо

    Reply
  21. 88wau24ru

    Интересует один момент, в данном случае РегистрацияОбмена изменяется или файл выгрузки будет постоянно расти?

    Reply
  22. Marka_

    Грамотно изложено.Спасибо.

    Reply
  23. arjuna

    (22) 88wau24ru,

    Важный вопрос про размер файла выгрузки остался без ответа. Еще раз повторю. Т.к. обмен идет в одном направлении, база отправитель не знает получена или нет выгрузка и (возможно) будет выгружать одни и те же старые данные + новые, что приведет к увеличению размера файла обмена. Кто пользуется таким способом обмена, проверьте размер файла.

    Reply
  24. dmb2006

    Очень полезно. спасибо

    Reply
  25. Lo1jke

    (24) arjuna,

    Как раз сейчас столкнулся с такой проблемой. Может удалось как-то настроить правила обмена, чтобы объекты снимались с регистрации после выгрузки?

    Reply
  26. kkoonnaann

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

    Reply
  27. 88wau24ru

    Дело было давно, но я сделал Односторонний РИБ с добавленной процедурой в модуль ПланаОбмена

    Процедура ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента)
    
    ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
    
    КонецПроцедуры

    Все принимает, и ничего не отдает…

    А в статье очень много букв….

    Reply
  28. fdsa456

    (28) 88wau24ru, Спасибо, сэкономило время.

    Reply
  29. rasdag

    Кто нибудь пробовал организовать односторонний обмен на БП 3.0?

    Reply
  30. 88wau24ru
    #Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда
    
    ////////////////////////////////////////////////////////////­////////////////////
    // ОБРАБОТЧИКИ СОБЫТИЙ
    
    Процедура ПередЗаписью(Отказ)
    
    Если ОбменДаннымиСервер.НадоВыполнитьОбработчикПослеЗагрузкиДанных(ЭтотОбъект, Ссылка) Тогда
    
    ПослеЗагрузкиДанных(Отказ);
    
    КонецЕсли;
    
    КонецПроцедуры
    
    ////////////////////////////////////////////////////////////­////////////////////
    // СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ
    
    Процедура ПослеЗагрузкиДанных(Отказ)
    
    Справочники.КлючиАналитикиУчетаЗатрат.ЗаменитьДублиКлючейАналитики();
    Справочники.КлючиАналитикиУчетаНДС.ЗаменитьДублиКлючейАналитики();
    
    КонецПроцедуры // ПослеЗагрузкиДанных()
    
    #КонецЕсли

    Показать

    Не делал, но если скопировать Полный, или ПоОрганизации и добавить процедуру из (28) думаю будет работать!

    Reply
  31. monster6666

    (28) 88wau24ru, Конечно вы правы, но ключевое слово «без изменения конфигурации». Для многих снятие с поддержки принципиально критично. Именно о таком случае статья собсно.

    Reply
  32. Svetlya4ok13

    (14) Estranger78, не нашли решение проблемы?

    Мы тоже с ней столкнулись.

    За статью Спасибо! Пользуемся.

    Reply
  33. NikolaST

    я так понял, при этой схеме, если обновли конфиурацию в центре, то на перефири она не попадет!? А как сделать что бы попадала, но данные мигрировали только в центр?

    Reply
  34. monster6666

    (34) NikolaST, Тогда придется воспользоваться советом из комента 28. И таки изменить конфигурацию.

    Reply
  35. murat_

    (35) или добавить подписку на событие.

    Reply
  36. Rokstedi

    (24)

    Все таки размер файла постоянно растет, регистрация изменений не очищается

    Reply
  37. Rokstedi

    (39) Забираю свои слова обратно =). Изменения очищаются только если все документы перепровелись в подчиненной базе.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *