|
Постановка на поддержку конфигурации. Изменить УИД объекта метаданных. | ☑ | ||
---|---|---|---|---|
0
ЧессМастер
13.07.17
✎
13:41
|
Всем доброе время суток !
Ситуация следующая. База БП 3.0. Конфигурация полностью находится в режиме "Редактирование с сохранением поддержки" (на всех объектах желтые кубики). Есть небольшие изменения - добавлена пара справочников и документов, у нескольких существующих справочников и документов добавлено несколько реквизитов. Стоит задача - поставить конфигурацию на поддержку с возможностью изменения (установить замочки где только можно). На первый взгляд вроде все просто - выгрузить основную конфигурацию в файл, загрузить конфигурацию поставщика, объединить с основной конфигурацией из файла. Но есть один неприятный момент. Конфигурация некоторое время обновлялась сравнением с файлом, и в результате по некоторым объектам метаданных отличаются идентификаторы. В результате при итоговом сохранении конфигурации и применении изменений к БД происходит реструктуризация с удалением объекта метаданных с идентификатором который был в основной конфигурации и создание объекта метаданных с идентификатором конфигурации поставщика. Существует ли механизм которым можно настроить соответствие своих метаданных с метаданными конфигурации поставщика на уровне соответствий внутренних идентификаторов ? Сколько не крутил различные варианты ничего не получается. Не помогает ни внесение изменений в основную конфигурацию и сравнение с конфигурацией поставщика с приоритетом "взять из файла", ни поддержка - сравнение - объединение с конфигурацией поставщика с изменением режима поддержки. Замочки ставит но расхождение по внутренним идентификаторам остается. А вручную изменять режим поддержки по сотням объектов не хочется. |
|||
1
Dmitrii
гуру
13.07.17
✎
13:49
|
(0) Переименуй проблемные объекты (например, добавь в имя префикс "Удалить").
После реструктуризации они не удаляться. После обновления пишешь обработку(и) (или находишь какую-нибудь универсальную) по переносу данных из таблиц объектов с префиксом во вновь созданные таблицы с нормальным именем и УИДом. |
|||
2
Лефмихалыч
13.07.17
✎
13:56
|
(0) выгрузить конфу в xml, поменять ID, загрузить обратно
бэкап только не забудь |
|||
3
ЧессМастер
13.07.17
✎
14:09
|
(1) Мне по трудоемкости будет проще руками проставить режим поддержки по сотням объектов чем вылавливать где выскочат эти глюки. Мне по сути нужно будет заменить все ссылки по объекту (Конфигурация - Поиск ссылок на объект)
|
|||
4
1dvd
13.07.17
✎
14:11
|
(3) тогда вперёд
|
|||
5
ЧессМастер
13.07.17
✎
14:12
|
(2) Два вопросы
1. Как выгрузить конфигурацию в xml ? Она же в cf выгружается. 2. Где брать ID для замены ? Например у меня есть перечисление СпособыЗаполненияЦен. По нему внутренний идентификатор отличается от того что в конфигурации поставщика. Как его поменять ? |
|||
6
ЧессМастер
13.07.17
✎
14:14
|
(4) Чем вариант (1) лучше ?
По трудоемкости он ничем не лучше. |
|||
7
Ёпрст
13.07.17
✎
14:14
|
Если база небольшая, то слепить чистую "православную" конфу и базу и запихать в неё всё со старой универсальными выгрузками
|
|||
8
vde69
модератор
13.07.17
✎
14:15
|
делаешь узел, в него делаешь полную выгрузку данных, затем отвязываешь узел, обновляешь конфу
затем опять подвязываешь как узел и сново делаешь полную заливку данных |
|||
9
vde69
модератор
13.07.17
✎
14:16
|
(7) в аналогичной ситуации у меня это не получилось...
|
|||
10
Ёпрст
13.07.17
✎
14:17
|
(9) дык, надо было получить 2 cf и через кд написать правила.
|
|||
11
Ёпрст
13.07.17
✎
14:17
|
id то объектов разные ужо :( Просто так, не выйдет..нужно по именам объектов искать
|
|||
12
Живой Ископаемый
13.07.17
✎
14:21
|
||||
13
Ёпрст
13.07.17
✎
14:23
|
(2) ага, отличный совет.. в данных одни id, в конфе, другой :))
|
|||
14
Вафель
13.07.17
✎
14:33
|
А не полетят ли составные типы если тупо ид метаданных менять?
|
|||
15
Лефмихалыч
13.07.17
✎
14:34
|
(5) меню Конфигурация...Выгрузить конфигурацию в файлы
|
|||
16
vde69
модератор
13.07.17
✎
14:35
|
(14) верно мыслишь :)
точно полетят - виды расчетов (я на это напоролся), пользовательские типы, составные типы |
|||
17
Лефмихалыч
13.07.17
✎
14:36
|
(14) если заменить все вхождения, то не полетят. Если менять только в самом объекте, то полетят не только составные типы, а вообще все ссылки накроются на этот объект.
|
|||
18
vde69
модератор
13.07.17
✎
14:43
|
кстати можно попробовать сделать сравнение с конфой поставщика с включенным флагом "копировать идентификаторы", возможно он сам заменит корректно
|
|||
19
Вафель
13.07.17
✎
14:59
|
(17) для обычных типов хватит редактирования цф, а вот для составных нужно и бд уже
|
|||
20
ЧессМастер
13.07.17
✎
15:40
|
>с включенным флагом "копировать идентификаторы",
(18) где этот режим ? Конфигурация - Сравнить конфигурации 1. конфигурация "Конфигурация поставщика" 2. конфигурация "Основная конфигурация" И флаг "Устанавливать соответствие по именам объектов" |
|||
21
vde69
модератор
13.07.17
✎
15:42
|
(20) там-же где галочка "разрешить удаление"
галка называется "Режим копирования" |
|||
22
ЧессМастер
13.07.17
✎
16:38
|
(21) можно скриншот ?
не пойму где это. Конфигурация - Сравнить конфигурации там только галочка "Устанавливать соответствие по именам объектов" больше ничего нет. показывает различие между конфигурациями и все. Конфигурация - Поддержка - Настройка поддержки - Сравнить, объединить там тоже такого нет |
|||
23
Serg_1960
13.07.17
✎
22:26
|
"Существует ли механизм которым можно настроить соответствие..."
Читай, пока не наступит прояснение, тему "Особенности сравнения и объединения конфигураций в режиме обновления" https://its.1c.ru/db/metod8dev#content:2299:hdoc Если сделать всё правильно, то различие в идентификаторах сопоставимых объектов не играет никакой роли. "Теперь рассмотрим вариант сравнения с конфигурацией поставщика... Для каждого объекта поставщика запоминается пара идентификаторов объектов (в конфигурации поставщика и в конфигурации на поддержке). И сопоставление выполняется только по этим парам. Для обеспечения логической целостности поддержки конфигурации единожды созданная пара никогда не изменятся. Если в новой версии поставщика появился новый объект, то пользователь при обновлении может просто его скопировать, а может сопоставить с каким-то своим объектом. Но в дальнейшем эту связь изменить будет нельзя." |
|||
24
ЧессМастер
14.07.17
✎
09:54
|
(23) Я это читал
Вы не поймете что дело в другом. Мне нужно поставить конфу на поддержку. Варианта тут два - или по всем объектам тыкать мышкой "Не редактируется" (причем объектов несколько сотен). Или загрузить конфигурацию поставщика, и обновить из файла основной конфигурации то что добавлено. Но проблема в том что по всем объектам которые были раньше добавлены в конфигурацию сравнением с файлом поставщика отличаются УИД. И я получаю при реструктуризации удаление этих объектов и создание заново (с УИД которые у этих объектов в конфигурации поставщика). >Если сделать всё правильно, то различие в идентификаторах сопоставимых объектов не играет никакой роли. Это не будет иметь значения если как и раньше обновлять конфу сравнением с файлом конфигурации поставщика или если все объекты основной конфигурации будут вручную поставлены на поддержку. |
|||
25
ЧессМастер
14.07.17
✎
10:01
|
(23) Выглядит проблема вот так
Отличие УИД по объектам метаданных между конфигурациями http://savepic.ru/14822262.jpg Результат реструктуризации по всем таким объектам http://savepic.ru/14813046.jpg Обратите внимание что в результате реструктуризации идет удаление объекта метаданных и создание его заново (с потерей данных естественно) |
|||
26
Serg_1960
14.07.17
✎
17:29
|
На поддержке, т.е. полностью типовую хотите? Ну, тогда единственный способ: сделать пустую базу с типовой конфигурацией и перегнать всю информацию с помощью КД. Автоматически созданные правила на 99,9% всё правильно свяжут между собой.
|
|||
27
МихаилМ
14.07.17
✎
17:53
|
вчем сложности? поменяте уиды в конфе и в dbnames
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |