Постановка на поддержку конфигурации. Изменить УИД объекта метаданных. #801100


#0 by ЧессМастер
Всем доброе время суток ! Ситуация следующая. База БП 3.0. Конфигурация полностью находится в режиме "Редактирование с сохранением поддержки" (на всех объектах желтые кубики). Есть небольшие изменения - добавлена пара справочников и документов, у нескольких существующих справочников и документов добавлено несколько реквизитов. Стоит задача - поставить конфигурацию на поддержку с возможностью изменения (установить замочки где только можно). На первый взгляд вроде все просто - выгрузить основную конфигурацию в файл, загрузить конфигурацию поставщика, объединить с основной конфигурацией из файла. Но есть один неприятный момент. Конфигурация некоторое время обновлялась сравнением с файлом, и в результате по некоторым объектам метаданных отличаются идентификаторы. В результате при итоговом сохранении конфигурации и применении изменений к БД происходит реструктуризация с удалением объекта метаданных с идентификатором который был в основной конфигурации и создание объекта метаданных с идентификатором конфигурации поставщика. Существует ли механизм которым можно настроить соответствие своих метаданных с метаданными конфигурации поставщика на уровне соответствий внутренних идентификаторов ? Сколько не крутил различные варианты ничего не получается. Не помогает ни внесение изменений в основную конфигурацию и сравнение с конфигурацией поставщика с приоритетом "взять из файла", ни поддержка - сравнение - объединение с конфигурацией поставщика с изменением режима поддержки. Замочки ставит но расхождение по внутренним идентификаторам остается. А вручную изменять режим поддержки по сотням объектов не хочется.
#1 by Dmitrii
Переименуй проблемные объекты (например, добавь в имя префикс "Удалить"). После реструктуризации они не удаляться. После обновления пишешь обработку(и) (или находишь какую-нибудь универсальную) по переносу данных из таблиц объектов с префиксом во вновь созданные таблицы с нормальным именем и УИДом.
#2 by Лефмихалыч
выгрузить конфу в xml, поменять ID, загрузить обратно бэкап только не забудь
#3 by ЧессМастер
Мне по трудоемкости будет проще руками проставить режим поддержки по сотням объектов чем вылавливать где выскочат эти глюки. Мне по сути нужно будет заменить все ссылки по объекту (Конфигурация - Поиск ссылок на объект)
#4 by 1dvd
тогда вперёд
#5 by ЧессМастер
Два вопросы 1. Как выгрузить конфигурацию в xml ? Она же в cf выгружается. 2. Где брать ID для замены ? Например у меня есть перечисление СпособыЗаполненияЦен. По нему внутренний идентификатор отличается от того что в конфигурации поставщика. Как его поменять ?
#6 by ЧессМастер
Чем вариант лучше ? По трудоемкости он ничем не лучше.
#7 by Ёпрст
Если база небольшая, то слепить чистую "православную" конфу и базу и запихать в неё всё со старой универсальными выгрузками
#8 by vde69
делаешь узел, в него делаешь полную выгрузку данных, затем отвязываешь узел, обновляешь конфу затем опять подвязываешь как узел и сново делаешь полную заливку данных
#9 by vde69
в аналогичной ситуации у меня это не получилось...
#10 by Ёпрст
дык, надо было получить 2 cf и через кд написать правила.
#11 by Ёпрст
id то объектов разные ужо :( Просто так, не выйдет..нужно по именам объектов искать
#12 by Живой Ископаемый
2
#13 by Ёпрст
ага, отличный совет.. в данных одни id, в конфе, другой :))
#14 by Вафель
А не полетят ли составные типы если тупо ид метаданных менять?
#15 by Лефмихалыч
меню Конфигурация...Выгрузить конфигурацию в файлы
#16 by vde69
верно мыслишь :) точно полетят - виды расчетов (я на это напоролся), пользовательские типы, составные типы
#17 by Лефмихалыч
если заменить все вхождения, то не полетят. Если менять только в самом объекте, то полетят не только составные типы, а вообще все ссылки накроются на этот объект.
#18 by vde69
кстати можно попробовать сделать сравнение с конфой поставщика с включенным флагом "копировать идентификаторы", возможно он сам заменит корректно
#19 by Вафель
для обычных типов хватит редактирования цф, а вот для составных нужно и бд уже
#20 by ЧессМастер
>с включенным флагом "копировать идентификаторы", где этот режим ? И флаг "Устанавливать соответствие по именам объектов"
#21 by vde69
там-же где галочка "разрешить удаление" галка называется "Режим копирования"
#22 by ЧессМастер
можно скриншот ? не пойму где это. Конфигурация - Сравнить конфигурации там только галочка "Устанавливать соответствие по именам объектов" больше ничего нет. показывает различие между конфигурациями и все. Конфигурация - Поддержка - Настройка поддержки - Сравнить, объединить там тоже такого нет
#23 by Serg_1960
"Существует ли механизм которым можно настроить соответствие..." Читай, пока не наступит прояснение, тему "Особенности сравнения и объединения конфигураций в режиме обновления" Если сделать всё правильно, то различие в идентификаторах  сопоставимых объектов не играет никакой роли. "Теперь рассмотрим вариант сравнения с конфигурацией поставщика... Для каждого объекта поставщика запоминается пара идентификаторов объектов (в конфигурации поставщика и в конфигурации на поддержке). И сопоставление выполняется только по этим парам. Для обеспечения логической целостности поддержки конфигурации единожды созданная пара никогда не изменятся. Если в новой версии поставщика появился новый объект, то пользователь при обновлении может просто его скопировать, а может сопоставить с каким-то своим объектом. Но в дальнейшем эту связь изменить будет нельзя."
#24 by ЧессМастер
Я это читал Вы не поймете что дело в другом. Мне нужно поставить конфу на поддержку. Варианта тут два - или по всем объектам тыкать мышкой "Не редактируется" (причем объектов несколько сотен). Или загрузить конфигурацию поставщика, и обновить из файла основной конфигурации то что добавлено. Но проблема в том что по всем объектам которые были раньше добавлены в конфигурацию сравнением с файлом поставщика отличаются УИД. И я получаю при реструктуризации удаление этих объектов и создание заново (с УИД которые у этих объектов в конфигурации поставщика). >Если сделать всё правильно, то различие в идентификаторах  сопоставимых объектов не играет никакой роли. Это не будет иметь значения если как и раньше обновлять конфу сравнением с файлом конфигурации поставщика или если все объекты основной конфигурации будут вручную поставлены на поддержку.
#25 by ЧессМастер
Выглядит проблема вот так Отличие УИД по объектам метаданных между конфигурациями Результат реструктуризации по всем таким объектам Обратите внимание что в результате реструктуризации идет удаление объекта метаданных и создание его заново (с потерей данных естественно)
#26 by Serg_1960
На поддержке, т.е. полностью типовую хотите? Ну, тогда единственный способ: сделать пустую базу с типовой конфигурацией и перегнать всю информацию с помощью КД. Автоматически созданные правила на 99,9% всё правильно свяжут между собой.
#27 by МихаилМ
вчем сложности? поменяте уиды в конфе и в  dbnames
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С