v8: Гуид вида объекта метаданного #481094


#0 by Demasiado
Подскажите, есть конфа, в одном из справочнике которой нужно вести актуальный список всех видов объектов. Написал обработку которая пробегает по всем метаданным конфы и делает выгрузку всех документов, справочников, регистров и т д и т п. Она сейчас выгружает Тип (справочник, документ, регистр сведений), ИмяОбъекта и Синоним объекта. С загрузкой в справочник никаких проблем не возникло - смотрим "есть такой объект?" - если "нет", грузим. Вопрос такой - в случае если у меня был Справочник ВалютыОплаты и его переименовали в Валюты - с точки зрения моей загрузки появится новый объект (потому что я никак не узнаю что его переименовали), можно как нибудь получить идентификатор вида объекта (по идее при переименовании этот идентификатор будет постоянным)? На уровне платформы - такой идентификатор есть, когда прогоняют сравнение конфигураций - сравнение идет как раз по этим уидам и платформа знает что изменилось наименование.
#1 by Demasiado
+ имеется ввиду справочник хранит все виды объектов других конфигураций
#2 by anddro
нет такого уида (ИМХО) но через ПолучитьСтруктурХраненияДанных можно узнать имя таблицы, в которой хранятся объекты данного вида.
#3 by Odin1C
имена таблиц всегда можно вытащить
#4 by anddro
только надо учитывать, что в общем случае в разных базах дынных с одной и той же конфигурацией имена таблиц и полей могут различаться.
#5 by Demasiado
посмотрел, похоже можно опираться на эту штуку. Только с учетом сказанного тобой получается что если взять конфу, удалить в ней один справочник и создать другой - он может получить имя таблицы уже удаленного? и в этом случае алгоритм будет думать что просто поменялось название, а не объект, со всеми вытекающими...хотелось бы чего нить абсолютно уникального)
#6 by anddro
Я не уверен, что он возьмет то же имя таблицы. Лучше просто проверить. А вот имена таблиц в базе в которой ведется разработка и тестирование и в боевой базе могут различаться.
#7 by Abracadabra
Имена хранения таблиц в базе вида _Catalog23, если удалить этот справочник, а потом создать другой у него имя хранения будет отличаться. В УникальныхИдентификаторах, возможно, используется условный код, например, с 16 по 20 символы означают тип объекта (например, а3 справочник, а остальные два символа номер таблицы).
#8 by Sammo
Обновление через объединение - и никаких гарантий, что сохранятся имена таблиц
#9 by Demasiado
Спасибо всем участникам, есть над чем подумать)
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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