Имя: Пароль:
1C
1C 7.7
v7: Распределенная БД... Сложный случай обновления конфы...
0 MWWRuza
 
гуру
25.09.17
10:56
Здравствуйте! Нужен совет.
Есть конфа с распределенной БД. Нужно на нее установить мое обновление, написанное для аналогичной конфы, но без учета УРБД.
И все бы ничего, обновляешь центральную, а при обмене переферийные сами обновятся, НО!!! Тут проблема.
Один из справочников, изначально бывший не подчиненным, в обновленной конфе сделан подчиненным. На обычной, не УРБД базе, это решается просто - написал обработку, с помощью которой, перед объединением конфигураций, из целевой базы, справочник выгружается в файл, после чего, удаляется ДБФ-ка этого справочника, в целевой базе вручную через конфигуратор подчиняется справочник(он же теперь временно пустой!), ну, а потом объединяются конфигурации и справочник той-же обработкой загружается обратно, с учетом владельца, все работает без проблем.
Я так понимаю, что такое с УРБД не прокатит...
Как можно обойти это?
(Сделать в обновлении справочник не подчиненным не предлагать, на это очень многое в обновленной конфе завязано, это считай поломать все...)
1 Конь в пальто
 
25.09.17
10:58
пиши не подчиненным
2 Ёпрст
 
25.09.17
11:17
(0)На любой базе это решается всего лишь лишним полем в табличке и присваиванием владельца.
А уриб/не уриб, это по-боку.
3 Конь в пальто
 
25.09.17
11:23
(2) ты добрый конечно... Но внезапно он начал добавлять колонки?
4 MWWRuza
 
гуру
25.09.17
11:38
(1)Не понял... Как "писать не подчиненным" - ?
Может не совсем правильно описал задачу... Есть некая конфа. Можно назвать "мелко-тиражная", работает в нескольких десятках точек. Обновление с исходной "полу-типовой" до моей, отработано, методика в первом сообщении. С УРБД столкнулся первый раз, до этого работало так. Из-за одного клиента, перелопачивать всю конфигурацию, убирая подчиненный справочник(считай - отдельная ветка развития конфы), я не хочу, не вижу смысла.
Нужно одноразово внести это изменение в переферийные базы одновременно с центральной, каким-то образом, вручную, что-бы потом они обновлялись штатными средствами, при обмене.
5 Ёпрст
 
25.09.17
11:41
(4)
Добавляешь 1 поле в табличку справочника ручонками (parentext, если че). Назначаешь владельцев. Усё.
6 Ёпрст
 
25.09.17
11:42
И подменяешь мд-ник, сделанный на пустой базе(или взятый с цб)
7 Ёпрст
 
25.09.17
11:45
Для любителей штатных способов, которые не в состоянии добавить поле в табличку справочника руками, вот еще метод:
http://my1c-archive.narod.ru/knowhow/pod_spr.html

Правда, он затратный по ресурсам и не быстрый на больших базах.
+ пересчет итогов будет не быстрым.
8 Конь в пальто
 
25.09.17
11:52
(7) гкрк
9 Конь в пальто
 
25.09.17
11:52
(7) ГУРУ)
10 MWWRuza
 
гуру
25.09.17
12:31
(7)Ну, это как раз то, что я делаю у себя, когда база обычная. Пересчет итогов не требуется, этот справочник на итоги не влияет.

Значит, пошагово -
На центральной базе, подготавливаю МД, как обычно. Потом, в переферийных, "ломом"(редактором ДБФ), добавляю поле "parentext" в таблицу нужного справочника. Подменяю МД на взятый из центральной. Обработкой назначаю владельца.
Все? Дальше УРБД должна будет обновляться штатным образом, при обновлении центральной?
Правильно я понял алгоритм действий?
Вот только один вопрос остался - а со словарем(.DD) что-то надо делать? Если надо, то что?
11 Ёпрст
 
25.09.17
12:32
(10) да.
12 Ёпрст
 
25.09.17
12:32
Только в центре прибить изменения (если были) Чтоб мд-ник не летел в ПБ.
13 Ёпрст
 
25.09.17
12:33
(10) словарь взять готовый (как и мд)
14 MWWRuza
 
гуру
25.09.17
12:43
(12)Вот это немного не понял, в какой момент мд-шник не должен лететь в переферийную?
15 Ёпрст
 
25.09.17
12:45
(14) если ты "штатно" обновил конфу в центре, то в табличке изменений будет запись об этом, и в выгрузку полетит мд.
Вот табличку регистрации очищаешь и ничего не летит