Выгрузка дополнительный свойств в дополнительные реквизиты

Внимание! Тема закрыта. Добавлять сообщения в закрытую тему запрещено.
1. Rasten 24 19.12.21 12:19 Сейчас в теме
Добрый день, выгрузка из конфигурации на ОФ (ут 10.3) в конфу на УФ (УНФ 1.6).

Переношу с помощь "алгоритма" в котором все получаю, но проблем в том, что не знаю как обратится к конкретному допреквизиту в УНФ.

код отрабатывает нормально,

КоллекцияОбъектов = Новый ТаблицаЗначений;
КоллекцияОбъектов.Колонки.Добавить("Значение");
КоллекцияОбъектов.Колонки.Добавить("Свойство");


Запрос = Новый Запрос("
|ВЫБРАТЬ                     
|	ЗначенияСвойствОбъектов.Значение,
|	ЗначенияСвойствОбъектов.Свойство.Наименование как Наименование
| ИЗ
|	РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
| ГДЕ
|	ЗначенияСвойствОбъектов.Объект = &Объект");

Запрос.УстановитьПараметр("Объект", Источник.Ссылка);

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл

	Если Выборка.Наименование = "Доп реквизит"  тогда
	    НоваяСтрока1 = КоллекцияОбъектов.Добавить();
	    ЗаполнитьЗначенияСвойств(НоваяСтрока1, Выборка);
	    ДопСвойство = ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.НайтиПоНаименованию("Доп реквизит)";
	    НоваяСтрока1.Значение	       = Выборка.Значение;
	    НоваяСтрока1.Свойство	       = ДопСвойство;
	
	КонецЕсли;
	
	
КонецЦикла;
Показать


но при выгрузке разумеется ругается на "ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения" так как этого нет в конфе УТ,
если в "НоваяСтрока1.Свойство" прописать текст, то не находит при загрузке данных.

Подскажите пожалуйста, как перенести данные в свой Дополнительный реквит ?

на форуме не нашел, хотя пытался
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 19.12.21 17:24 Сейчас в теме
(1) Нужно создать ПКО для Свойства в Доп.реквизит и указать его в ПКС у свойства.
Прикрепленные файлы:
3. Rasten 24 20.12.21 09:36 Сейчас в теме
(2) У вас нет случайно файла правил для пирмера?
4. RustamZz 20.12.21 09:59 Сейчас в теме
(3) Уже нету. То что делал для скрина - удалил.
10. user1674465 30.12.21 16:03 Сейчас в теме
(1) я с УТ 10.3 дела не имел, но недавно мне приходилось загружать номенклатуру с допреквизитами в УТ 11.4, вдруг как-то смогу помочь...

В УТ 11.4 есть Справочник.НаборыДополнительныхРеквизитовИСведений, и как я понимаю в нём хранятся реквизиты и сведения по владельцам (Справочники и Документы). Есть справочник ЗначенияСвойствОбъектов, как я понимаю, он хранит доступные значения допреквизитов. Есть ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения (которых нет в УТ 10.3, как вы упомянули), оно связующее звено между двумя предыдущими упомянутыми справочниками.
11. Rasten 24 01.01.22 17:12 Сейчас в теме
(10)Спасибо за ответ. Суть вопроса сводится к тому как обратиться к ранее созданному доп.реквизиту в УТ 11(УНФ)?
12. user1674465 01.01.22 20:01 Сейчас в теме
(11) Допреквизит подчинён какому-либо объекту метаданных. Сначала надо в Справочник.НаборыДополнительныхРеквизитовИСведений найти объект метаданных к которому принадлежит допреквизит. Искать, я думаю, лучше всего через наименование и родителя. Но думаю наименования будет достаточно. Например:
Спр= Справочники.НаборыДополнительныхРеквизитовИСведений.НайтиПоНаименованию("Обувь (Для характеристик)", Истина);

После этого можно перебрать табличную часть ДополнительныеРеквизиты циклом:
ТЧ = Спр.ДополнительныеРеквизиты;
Для каждого Элем из ТЧ цикл
	Если Элем.Свойство.Наименование = "Размер (Обувь (Для характеристик))" Тогда
		Сообщить(Элем.Свойство);
	КонецЕсли;
КонецЦикла;
 

И, в принципе, этот Элем и будет ссылкой на допреквизит. ДополнительныеРеквизиты.Свойство по типу это ПланыВидовХарактеристик.ДополнительныеРеквизитыИСведения.

Или если через запрос, вот так вот:
ВЫБРАТЬ
	НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.Ссылка КАК Ссылка,
	НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.НомерСтроки КАК НомерСтроки,
	НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.Свойство КАК Свойство,
	НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.ПометкаУдаления КАК ПометкаУдаления
ИЗ
	Справочник.НаборыДополнительныхРеквизитовИСведений.ДополнительныеРеквизиты КАК НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты
ГДЕ
	НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.Ссылка = &Ссылка
	И НаборыДополнительныхРеквизитовИСведенийДополнительныеРеквизи­ты.Свойство = &Свойство
Показать
5. Rasten 24 21.12.21 10:56 Сейчас в теме
6. hottion 87 21.12.21 15:04 Сейчас в теме
Создайте ПКО с полем поиска Наименование, и передавайте в него структуру с нужным набором полей и главное заполненным полями для поиска.
еще можно прям напрямую сделать ПКО конвертации Ссылки на Свойство в План видов характеристик, и передавать саму ссылку на Свойство, то тогда они должны совпадать между базами.
8. Rasten 24 21.12.21 17:28 Сейчас в теме +5 $m
(6) доп. реквизиты в УНФ хранятся в табличной части справочника, в УТ храниться в регистре, вытянуть значение из УТ я могу, но не могу понять как обратиться к уже созданному доп реквизиту, или может доп реквизит можно создать программно при загрузке?

Код самого алгоритма в первом посте
Прикрепленные файлы:
9. hottion 87 23.12.21 17:09 Сейчас в теме
(8) так будет слишком сложно, но можете передать доп реквизиты в виде параметра и заполнить их в объекте приемнике при загрузке. либо второй вариант сделать свою выгрузку справочника и передавать вместо ссылки справочника структуру с необходимыми свойствами согласно ПКО приемника. как пример в моих правилах по ЗУПУ так много что сделано, это проще в реализации хоть и сложнее по пониманию механизма.
7. hottion 87 21.12.21 15:06 Сейчас в теме
как пример есть в правилах для переноса ЗУП, но там учти большие правила.
https://infostart.ru/public/1230041/
Оставьте свое сообщение

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