gifts2017

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

Опубликовал monster6666 в раздел Администрирование - Распределенная БД (УРИБ, УРБД)

Статья описывает простой универсальный алгоритм настройки одностороннего обмена в РИБ 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 Data\1C\1Cv82\tmplts\1c\Conversion\2_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 Тестируем обмен.

См. также

Подписаться Добавить вознаграждение

Комментарии

. Андрей Андрей (diarki) 02.03.12 11:52
Вопрос, таким способом можно например сделать так что бы в риб обмен был двух сторонний но в филиалы не выгружались данных других филиалов и цо - а выгружалось из ЦО в филиал только документы перемещения + еще несколько типов документов. (справочники должны при этом обмениваться как положено т.е. двухсторонний обмен)
0. monster6666 22.09.11 17:40
Статья описывает простой универсальный алгоритм настройки одностороннего обмена в РИБ 8.1 и 8.2 для любых конфигураций, имеющих план обмена, БЕЗ ИЗМЕНЕНИЯ КОДА.

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

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

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

1. Олег Бутин (boutinol) 22.09.11 17:40
А в ЗУПе можно сделать такой обмен?
monster6666; +1 Ответить
2. monster6666 22.09.11 17:43
Ну если очень нужно. То можно)
3. Ярослав Радкевич (WKBAPKA) 23.09.11 08:53
ололо, не проще было выложить книгу по конвертации?
то такое впечателение, шо Америку открылие еще раз...
и то такой обмен стал благодаря возможным после того как в РИБ добавили функцию обмена по правилам обмена... а ведь раньше таких возможностей не было :)
4. monster6666 23.09.11 09:32
Ололо может дадите ссылку на решение указанной задачи без изменения конфы? Я например не нашел другого решения и или подобного описания. Если ссылки нет, то оставьте ваше ололо для себя.
5. Евгений Сосна (pumbaE) 28.09.11 17:02
В типовой УПП Украина, есть такая возможность сразу при настройке обмена указать: односторонний или нет обмен. При этом результат, будет такой же как и автор у себя описал, так что, если интересно как работает без просмотра кода, то в статье все точно описано. Да, еще там во второй базе правила пустые подгружаются.
6. Just (Just) 29.09.11 04:41
Хотелось бы уточнить, а правила обмена корректно создаются? Помнится раньше на автомате создавались не все правила обмена, например, табличными частями и многими другими реквизитами?
monster6666; +1 Ответить 1
7. Валерий Дубовой (Valerich) 29.09.11 08:14
при изменении конфигурации (добавлении и удалении объектов конфигурации или их реквизитов) придется обновлять и правила обмена ?
8. monster6666 29.09.11 09:24
(5) pumbaE, Это будет уже не РИБ а независимые базы. Конфигурация передаваться не будет.
9. monster6666 29.09.11 09:30
(6) Just, Задача , описанная в шапке взята из реальной жизни и сейчас все работает в более чем 10 ти конфигурациях, УПП , БП и УТ . Проблем, связанных с неполной передачей данных пока не обнаружено. Если появятся таковые, подправлю статью.
10. monster6666 29.09.11 09:31
(7) Valerich, Придется редактировать правила.
11. Владимир (svsrus) 29.09.11 16:12
Спасибо за статью, как раз занимаюсь вопросом.

Только вот мне кажется что есть проблемы в тех конфигурациях, где нет изначально плана обмена "Полный", например, "Розница".
12. monster6666 29.09.11 17:38
(11) svsrus, Пока не пробовал, нужно проверить.
13. Станислав (GStiv) 17.01.12 10:14
Попробовал действительно все работает корректно, только выскочил неприятный баг, после обновления обмен лег, сейчас занимаюсь реанимацией
14. Estranger78 (Estranger78) 28.02.12 00:23
Как все-таки правильно обновлять периферийную при такой реализации? Все работало, обмен на ура, конфа 2.0.32.4. Обновил центр до 2.0.33.7, правила пока не менял, обмен прошел, однако периферийная не запросила режим конфигуратора, в конфигураторе пункт "обновить конфигурацию БД" неактивный. Правила подготовил новые, но вопрос - обмен сам пройдет, после подсовывания новых правил и регистрации в центре новых документов или у меня тупо где-то галочка не стоит на формирование в файлах обмена изменений конфигурации??
Svetlya4ok13; +1 Ответить 1
18. Olga Gabuza (OLga_gab) 30.03.12 21:38
Для меня статья - просто находка. Благодарю Вас.
19. ProGramMoS ProGramMoS (ProGramMoS) 31.08.12 22:14
monster6666, К сожалению большинство фото примеров не подгружаются в вашей статье, можно ли их восстановить?
20. Азиз Абдукаримов (azeraus) 21.11.12 14:11
Сделал все как в статье но при обмене выдает ошибку

Ошибка при выгрузке данных для узла плана обмена
Объект = Расход по налогу на прибыль
ОписаниеОшибки = Метод объекта не обнаружен (ОпределитьТипОтправкиДанных)
ПозицияМодуля = Обработка.ОбменДаннымиXML.МодульОбъекта(12009)
КодСообщения = 72
УзелПланаОбмена = РИБ Приемник
Произошла ошибка при выгрузке объектов. Было выгружено: 0

Подскажите как это исправить.
Заранее спасибо
22. Артём Шалнев (88wau24ru) 22.03.13 05:28
Интересует один момент, в данном случае РегистрацияОбмена изменяется или файл выгрузки будет постоянно расти?
23. Marka_ (Marka_) 31.08.13 18:31
Грамотно изложено.Спасибо.
24. arjuna (arjuna) 04.02.14 19:47
(22) 88wau24ru,
Важный вопрос про размер файла выгрузки остался без ответа. Еще раз повторю. Т.к. обмен идет в одном направлении, база отправитель не знает получена или нет выгрузка и (возможно) будет выгружать одни и те же старые данные + новые, что приведет к увеличению размера файла обмена. Кто пользуется таким способом обмена, проверьте размер файла.
25. dmb2006 (dmb2006) 29.03.14 14:19
26. Роман Верховых (Lo1jke) 05.06.14 15:27
(24) arjuna,
Как раз сейчас столкнулся с такой проблемой. Может удалось как-то настроить правила обмена, чтобы объекты снимались с регистрации после выгрузки?
27. Jeka Salnikov (kkoonnaann) 12.03.15 19:44
Размер файла не увеличивается. Обмен идет не в одном направлении, выгрузка и загрузка данных идет в обе стороны, просто в базу отправитель новые или измененные объекты не загружаются. И таким образом база отправитель все -равно получает файл с информацией получена ли ее выгрузка
28. Артём Шалнев (88wau24ru) 13.03.15 10:56
Дело было давно, но я сделал Односторонний РИБ с добавленной процедурой в модуль ПланаОбмена
Процедура ПриОтправкеДанныхГлавному(ЭлементДанных, ОтправкаЭлемента)
	
	ОтправкаЭлемента = ОтправкаЭлементаДанных.Игнорировать;
	
КонецПроцедуры
...Показать Скрыть

Все принимает, и ничего не отдает...
А в статье очень много букв....
29. Петр Вальский (fdsa456) 06.04.15 17:50
(28) 88wau24ru, Спасибо, сэкономило время.
88wau24ru; +1 Ответить
30. rasdag ххх (rasdag) 22.04.15 23:05
Кто нибудь пробовал организовать односторонний обмен на БП 3.0?
31. Артём Шалнев (88wau24ru) 24.04.15 00:47
#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

////////////////////////////////////////////////////////////­////////////////////
// ОБРАБОТЧИКИ СОБЫТИЙ

Процедура ПередЗаписью(Отказ)
	
	Если ОбменДаннымиСервер.НадоВыполнитьОбработчикПослеЗагрузкиДанных(ЭтотОбъект, Ссылка) Тогда
		
		ПослеЗагрузкиДанных(Отказ);
		
	КонецЕсли;
	
КонецПроцедуры

////////////////////////////////////////////////////////////­////////////////////
// СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ

Процедура ПослеЗагрузкиДанных(Отказ)
	
	Справочники.КлючиАналитикиУчетаЗатрат.ЗаменитьДублиКлючейАналитики();
	Справочники.КлючиАналитикиУчетаНДС.ЗаменитьДублиКлючейАналитики();
	
КонецПроцедуры // ПослеЗагрузкиДанных()

#КонецЕсли
...Показать Скрыть


Не делал, но если скопировать Полный, или ПоОрганизации и добавить процедуру из (28) думаю будет работать!
32. monster6666 03.07.15 10:26
(28) 88wau24ru, Конечно вы правы, но ключевое слово "без изменения конфигурации". Для многих снятие с поддержки принципиально критично. Именно о таком случае статья собсно.
grachev1c; Sash13; +2 1 Ответить
33. Светлана Синицына (Svetlya4ok13) 20.07.16 08:58
(14) Estranger78, не нашли решение проблемы?
Мы тоже с ней столкнулись.


За статью Спасибо! Пользуемся.
34. Николай (NikolaST) 29.09.16 20:26
я так понял, при этой схеме, если обновли конфиурацию в центре, то на перефири она не попадет!? А как сделать что бы попадала, но данные мигрировали только в центр?
35. monster6666 30.09.16 10:05
(34) NikolaST, Тогда придется воспользоваться советом из комента 28. И таки изменить конфигурацию.
36. Мурат Жананов (murat_) 06.10.16 14:02
(35) monster6666, или добавить подписку на событие.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа