Перенести Справочник в расширение

1. user1954326 30.08.24 08:20 Сейчас в теме
Здравствуйте , необходимо перенести справочник в расширение сохранив ссылки ?

1)Создал Справочник1 в расширении
2)Далее в Запросе перебираю , каждый элемент СправочникаОригинал.

Пока Выборка.Следующий() Цикл
   Элемент = Справочник1.СоздатьЭлемент();
   ЗаполнитьЗначенияСвойств(Элемент, Выборка);
   Элемент.УстановитьСсылкуНового(Выборка.Ссылка.УникальныйИдентификатор());
КонецЦикла;


Что делаю не так? Как правильно перенести?

Элемент.УстановитьСсылкуНового(Выборка.Ссылка.УникальныйИдентификатор(); - здесь выходит ошибка не верный параметр.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2033930 30.08.24 08:24 Сейчас в теме
(1)
Элемент.УстановитьСсылкуНового(Выборка.Ссылка.УникальныйИдентификатор(); - здесь выходит ошибка не верный параметр.
А что нам говорит СП по поводу типа параметра?
4. SlavaKron 30.08.24 08:28 Сейчас в теме
(1) Сохранить ссылки не получится, ведь Ссылка - это не только ГУИД но и идентификатор метаданных. Они будут разные у старого справочника и нового в расширении, даже если вы потом его переименуете в старое наименование, удалив старый справочник из основной конфигурации.
user2033930; +1 Ответить
6. user2033930 30.08.24 08:30 Сейчас в теме
(4) Ну да, придется делать составные типы (добавлять новый тип к старому типу), делать замену ссылок по всей базе (старые на новые), и только потом удалять старый справочник из составных типов и из метаданных вообще.
7. SlavaKron 30.08.24 08:32 Сейчас в теме
(6)
придется делать составные типы
Мне кажется, проще добавить новый реквизит для нового справочника, а старый потом удалить.
8. user2033930 30.08.24 08:35 Сейчас в теме
(7) Ну например, ты решил перенести справочник Номенклатура в расширение (специально утрирую). Ты во всех документах и регистрах будешь добавлять реквизит/измерение НоменклатураНовый и переписывать код проведения под него???
Или как ты намерен сохранить существующие данные?
9. SlavaKron 30.08.24 08:36 Сейчас в теме
(8) Ну так и составной тип мне тогда придется делать во всех документах и регистрах. Имя нового реквизита будет отличаться от старого только на время замены. Потом он будет переименован.
10. user2033930 30.08.24 08:39 Сейчас в теме
(9) Да. Но в случае с регистрами - не изменяется количество измерений, и не начинается хрень с итогами. В отличие от добавления нового измерения, заполнения его новыми ссылками из аналогов старых ссылок, а потом удаления старого измерения, и последующего переименования нового измерения в старое.
3. laperuz 47 30.08.24 08:25 Сейчас в теме
1. Скачать стандартную ВыгрузкаЗагрузкаXML
2. Выгрузить справочник в XML.
3. Удалить справочник из конфы, добавить в расширение(с тем же именем)
4. Загрузить из XML
5. user2033930 30.08.24 08:29 Сейчас в теме
(3) Нельзя, в случае если на исходный справочник есть ссылки в метаданных других объектов конфигурации.
11. SlavaKron 30.08.24 08:40 Сейчас в теме
Да, если это измерение, то мой вариант отпадает.
12. user1954326 30.08.24 09:09 Сейчас в теме
А можно найти все объекты которые Ссылаются на этот справочник? Возможно если на него ссылка только с одного объекта я бы мог просто заменять ссылку в объекте , предварительно переименовав справочник в основной Конфигурации?
(11)
13. SlavaKron 30.08.24 09:15 Сейчас в теме
(12) В конфигураторе "Поиск ссылок на объект".
user1954326; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот