Имя: Пароль:
1C
 
Прокатит копирование справочника (Установить ссылку нового)?
,
0 RomaH
 
naïve
14.12.23
11:38
Хочу новые метаданные перетащить в основную конфу из расширений.

Порядок действий
1. В Основную копирую из расширения справочник (копируется вся стурктура соответсвенно)
2. в расширении в наименование добавляю префикс (Удалить_)

3. Ищу ссылки на объект расширения - и добавляю в них объект основной (составной тип получается)

4. программно обхожу справочник удаляю элемент и в новом создаю элемент через установить ссылку нового по тому же ГУИД (который удалил)

вопрос - в регистрах ссылки поменяются? прокатит такая схема?
1 Волшебник
 
14.12.23
11:40
проверь на тестовой
2 Лефмихалыч
 
14.12.23
11:44
думаю, что не поменяется и ты данные потеряешь. Физически в БД поле Ссылка - это два поля:
1. идентификатор типа (длинное целое, никак не связанное с именем объекта метаданных)
2. сам гуид

и вот идентификатор типа после удаления расширения станет указывать в никуда и платформа наверняка начнет чистить данные.
3 Garykom
 
гуру
14.12.23
11:53
(0) не прокатит

или нормально медленно делай через замену ссылок
или на низком уровне прямыми запросами
4 AAA
 
14.12.23
12:04
я бы наверное скопировал под другими именами, затем обработкой заполнил данными из расширения, затем удалил из расширения и переименовал в конфигурации. Примерно так
5 AAA
 
14.12.23
12:06
Но если на него есть ссылки, то не прокатит
6 RomaH
 
naïve
14.12.23
12:57
(2) идентификатор типа - его можно заменить средствами БД, но "Ведущее" - при удалении элемента справочника - удаляется и запись регистра

не все так просто оказалось - куча телодвижений
7 Лефмихалыч
 
14.12.23
16:24
(6) горя хапнешь и весь устанешь, а толку не добьешься.
1. Создай нужные тебе атрибуты/реквизиты/измерения с каким-нить суффиксом или префиксом
2. заполни данные обработкой или скулём в новых реквизитах
3. Выкоси расширение
4. переименуй метаданные из пункта 1

это, хоть и выглядит тоскливо, но задачу решает и на самом деле геморроя меньше, чем вот эти твои трюки
8 RomaH
 
naïve
15.12.23
00:47
(7) не понял
9 RomaH
 
naïve
15.12.23
00:49
(7)
т.е. в каждом объекте где задействован переносимый справочник
создать дубль реквизита содержащий оный

не понял что скулем заполнить?
10 RomaH
 
naïve
15.12.23
00:50
поле "rt" не достаточно заполнить "правильным" значением?
11 ptiz
 
15.12.23
07:43
(10) Достаточно. Кстати, слетят настройки СКД и прочее, где были сохранены старые ссылки. Но они при любом варианте слетят.
Основная теорема систематики: Новые системы плодят новые проблемы.