|
РИБ на существующих база или передача изменений конфигурации | ☑ | ||
---|---|---|---|---|
0
RolandGrey
03.07.24
✎
17:00
|
Доброго дня!
Возможно ли организовать передачу изменений конфигурации с обычным обменом, как этой сделано в РИБ? Есть существующие базы с идентичными конфигурациями с данными, которые надо объединить в общую схему работы. Что вообще правильнее - слить все данные в 1 большую базу и сделать РИБ как по мануалу или есть возможность сделать нормально РИБ на уже существующей связке баз? |
|||
1
vde69
03.07.24
✎
17:08
|
Если ВСЕ UID-ы всех элементов одинаковые (включая перечисления и т.д.) то можно и слить и настроить распределенку.
На практике (если не используется РИБ) это редкость... |
|||
2
Garykom
гуру
03.07.24
✎
17:14
|
(0) Правильнее слить в одну общую базу с синхронизацией НСИ
А уже затем настраивать РИБ |
|||
3
RolandGrey
03.07.24
✎
17:23
|
(2) А если взять обычный план обмена с правилами КД - можно заставить этот механизм отдавать/применять изменения конфигурации как в механизме РИБ?
(1) В-целом нужен обмен по правилам и синхронизацию изменений конфигураций (изначально конфы одинаковые) уже работающих баз. Копаю в сторону РИБ, но чем дальше тем больше вопросов :) |
|||
4
ЖНЕЦ
03.07.24
✎
17:29
|
(3) если "изначально конфы одинаковые"
есть база 1 и 2 выгрузить cf и сравнить если одникавые создать префиксы справочников и документов для каждой из баз сделать перенумерацию выбрать самую жирную и сделать из нее Центральную базу с кодом 00001 добавить еще одну базу 00002 (снять всю регистрацию) выбрать другую базу сделать тоже самое поменять местами узлы из ЦБ сделать ПБ сделать пробный обмен. ....продолжение следует |
|||
5
vde69
03.07.24
✎
17:38
|
(3) можешь их подключить к одному хранилищу и регламентом накатывать конфу...
но это чревато проблемами |
|||
6
RolandGrey
03.07.24
✎
17:45
|
(5) хранилище невариант к сожалению
(4) это будет "легкая" жопа, + нет необходимости чтобы данные в полном объеме ходили между базами. Т.е. нужны правила регистрации и обмена... |
|||
7
Serg_1960
03.07.24
✎
18:17
|
"Возможно ли организовать..."(0) - возможно. Можно программно в обмен данными добавлять любую информацию. Конфигурацию, выгруженную в файл CF, например, можно добавлять по аналогии с предопределенными данными, как это уже реализовано в РИБ (внутриплатформенный механизм РИБ это автоматически не делает).
"нет необходимости, чтобы данные..."(6) - попробуйте удалить из состава плана обмена РИБ все данные - тогда, имхо, будет мигрировать только конфигурация. Но прежде чем что-либо делать, нужно через сравнение/объединение убедиться, что конфигурации у Вас реально идентичные. |
|||
8
ЖНЕЦ
03.07.24
✎
18:35
|
(6) а, только сейчас понял
тебе нужно , чтобы только изменения конфы мигрировали проще простого в правилах обмена дописать при выгрузке удалять всю регистрацию узла и объединить все в РИБ - "гулять будут" только изменения структуры конфигурации |
|||
9
Garykom
гуру
03.07.24
✎
18:55
|
(8) Дада
Особенно будет весело на предопределенных |
|||
10
Serg_1960
03.07.24
✎
19:55
|
(9) Там ничего интересного, достаточно всего лишь внести точечное изменение в алгоритм:
Процедура ЗаписатьПриоритетныеИзмененияВСообщениеОбмена(Знач ЗаписьСообщения) // Записываем элемент <Parameters> ЗаписьСообщения.ЗаписьXML.ЗаписатьНачалоЭлемента("Parameters"); Если ЗаписьСообщения.Получатель <> ПланыОбмена.ГлавныйУзел() Тогда // Выгружаем приоритетные данные обмена (предопределенные элементы). ПриоритетныеДанныеОбмена = ОбменДаннымиСлужебный.ПриоритетныеДанныеОбмена(); Если ПриоритетныеДанныеОбмена.Количество() > 0 Тогда ... |
|||
11
RolandGrey
03.07.24
✎
20:07
|
(7) т.е. в-целом можно заставить програмно с планом обмена в сообщении из главной базы передавать изменения конфигурации (ну кроме самих данных), а в базе приемнике их накатывать "как накатывается в РИБ"?
Конфы в обеих базах накатываются одним CF-ником (8) 1. нужны изменения конфы из главной базы 2. нужны данные согласно правилам |
|||
12
Garykom
гуру
03.07.24
✎
20:29
|
(10) Ты вероятно не понял, я про дублирование
|
|||
13
Serg_1960
03.07.24
✎
20:57
|
(12) А мне кажется, что я всё правильно понял. Сам по себе платформенный механизм РИБ не синхронизирует и не контролирует предопределенные данные, а дубли, теоретически, могут возникнуть только в режиме загрузки данных (ОбменДанными.Загрузка = Истина) - если нет обмена данными, то и предопределенные данные не будут циркулировать в обмене данными. Поэтому, имхо, достаточно "заблокировать" принудительную программную синхронизацию предопределенных данных алгоритмом типовой конфигурации из (10).
|
|||
14
Garykom
гуру
03.07.24
✎
21:13
|
(13) Дубли когда два (и более) элемента имеют одно ИмяПредопределенныхДанных это ладно
Сами имена предопределенных в конфигураторе после слива двух конф запросто задублятся И с прочим могут быть проблемы Имхо сливать конфу и принудительно засовывать две разные базы в РИБ - совершенно не по феншую Правильно создать пустую чистую базу той же конфы, настроить ее как надо со всеми почищенными НСИ из двух баз И выгрузить в нее данные (из имеющихся баз) с подменой ссылок НСИ на почищенные Обратить внимание на РС, чтобы там дублей не было после слива На скрине пример кривого РИБа, когда "платформенный механизм РИБ не синхронизирует и не контролирует предопределенные данные"
|
|||
15
Garykom
гуру
03.07.24
✎
21:16
|
(14)+ Конечно всегда есть вариант ХХП
Когда сливаем как нибудь А потом начинаем чистить дубли, с пометкой на удаление и заменой ссылок Что в случае нескольких РИБ баз нехилый такой трындец Когда ты заменяешь-удаляешь - а они снова по РИБ лезут )) |
|||
16
RolandGrey
03.07.24
✎
22:07
|
Коллеги, обе базы хоть и имеют одинаковую конфигурацию, однако работают уже некоторое время и наполняются данными.
Просто изначально не заложили архитектуру их связности, а теперь пришло время этим заниматься. |
|||
17
Serg_1960
04.07.24
✎
10:45
|
(14) Ещё раз попробую достучаться до Вас. Обратите внимание на строку " Если ЗаписьСообщения.Получатель <> ПланыОбмена.ГлавныйУзел()(10) и "а дубли, теоретически, могут возникнуть только в режиме загрузки данных"(13). То, что Вы указали на скрине - это печальный итог работы типового алгоритма.
"Сами имена предопределенных в конфигураторе после слива двух конф запросто задублятся" - нет. "На скрине пример кривого РИБа" - нет. Дублирование предопределенных не имеет никакого отношения непосредственно к работе механизма обмена данными. Данный механизм всего лишь выявляет и обостряет уже ранее возникшую проблему. РИБ - это не первопричина проблемы, а следствие. В качестве подтверждения могу сказать, что за более чем двадцать лет работы с базами РИБ, с дублированием предопределённых я встречался всего лишь несколько раз, достаточно пальцев одной руки. Впрочем, вышесказанное Вы и сами подтверждаете, когда говорите "Когда ты заменяешь-удаляешь - а они снова по РИБ лезут" - РИБ косвенно виновато лишь в том, что "распространяет" возникшую проблему по узлам. |
|||
18
Serg_1960
05.07.24
✎
10:19
|
Имхо, мы отвлеклись, как мне кажется, от темы.
Задублирование предопределенных свойственно не только лишь для РИБ - достаточно, например, ознакомиться с информацией по ссылкам https://its.1c.ru/db/metod8dev#content:5367:hdoc и https://infostart.ru/1c/articles/295750/ чтобы понять, что эта проблема выходит за рамки РИБ. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |