Как получить Менеджер класса из реквизита ссылочного типа?

1. program345 141 27.02.26 10:57 Сейчас в теме
Привет!

1. Есть реквизит ссылочного типа Реквизит1 (тип СправочникСсылка.ЦеновыеГруппы)
2. Нужно получить тип СправочникМенеджер.ЦеновыеГруппы чтобы присвоить этому реквизиту ссылку по определенному ГУИДУ, как это сделать?

пробовал
Объект.Реквизит1.Метаданные(); //Где объект это тип СправочникОбъект.Номенклатура

Но тут возвращается тип ОбъектМетаданных.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 27.02.26 11:00 Сейчас в теме
(1) Оттуда взять имя и в Справочники[Имя]
3. program345 141 27.02.26 11:05 Сейчас в теме
(2) а если я не знаю Справочник будет это или Документ?
4. пользователь 27.02.26 11:07
Сообщение было скрыто модератором.
...
6. program345 141 27.02.26 11:38 Сейчас в теме
(4)
Так узнай. Если Тогда Иначе...


В том то и дело что узнать непросто...
7. nomad_irk 83 27.02.26 11:40 Сейчас в теме
(6) В одну строку кода так-то выполняется, но да, придется Если.... ИначеЕсли.... КонецЕсли нагородить на все ссылочные типы данных.
8. program345 141 27.02.26 11:41 Сейчас в теме
(4)
Так узнай. Если Тогда Иначе...



СправочникОбъект = СправочникСсылка.ПолучитьОбъект();
(4)

СправочникОбъект = СправочникСсылка.ПолучитьОбъект();

			ОбъектМетаданныхРеквизита="";
			
			//пробуем документы
			Попытка
				ОбъектМетаданныхРеквизита = Документы[Справочникобъект.реквизит1.Метаданные().Имя];
				ОбъектМетаданныхРеквизита=Документы;
			Исключение
			    ОбъектМетаданныхРеквизита="";
			КонецПопытки;
			
			//пробуем Справочники
			Попытка
				ОбъектМетаданныхРеквизита = Справочники[Справочникобъект.реквизит1.Метаданные().Имя]; 
				ОбъектМетаданныхРеквизита=Справочники;

			Исключение
			    ОбъектМетаданныхРеквизита="";
			КонецПопытки;
СправочникОбъект.реквизит1 = ОбъектМетаданныхРеквизита[Справочникобъект.Реквизит1.Метаданные().Имя].ПолучитьСсылку(УИД);



Показать


а можно ли проще? думаю что нагородил огород...
9. spacecraft 27.02.26 11:49 Сейчас в теме
(1) если это не составной тип и есть БСП:
Менеджер = ОбщегоНазначения.МенеджерОбъектаПоСсылке(СсылкаРеквизита);
program345; Sashares; +2 Ответить
12. program345 141 27.02.26 13:07 Сейчас в теме
10. SlavaKron 27.02.26 12:33 Сейчас в теме
(1)
ПолноеИмяМетаданных = Объект.Реквизит1.Метаданные().ПолноеИмя();
Менеджер = Новый(СтрЗаменить(ПолноеИмяМетаданных, ".", "Менеджер."));
lmnlmn; Anton_new01; +2 Ответить
5. ktibomail 30 27.02.26 11:16 Сейчас в теме
Еще в БСП есть ОбщегоНазначения.ОбщийМодуль()
11. program345 141 27.02.26 13:06 Сейчас в теме
Функция МенеджерОбъектаПоСсылке(Ссылка) Экспорт
	
	ИмяОбъекта = Ссылка.Метаданные().Имя;
	ТипСсылки = ТипЗнч(Ссылка);
	
	Если Справочники.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда
		Возврат Справочники[ИмяОбъекта];
		
	ИначеЕсли Документы.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда
		Возврат Документы[ИмяОбъекта];
		
	ИначеЕсли БизнесПроцессы.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда
		Возврат БизнесПроцессы[ИмяОбъекта];
		
	ИначеЕсли ПланыВидовХарактеристик.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда
		Возврат ПланыВидовХарактеристик[ИмяОбъекта];
		
	ИначеЕсли ПланыСчетов.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда
		Возврат ПланыСчетов[ИмяОбъекта];
		
	ИначеЕсли ПланыВидовРасчета.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда
		Возврат ПланыВидовРасчета[ИмяОбъекта];
		
	ИначеЕсли Задачи.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда
		Возврат Задачи[ИмяОбъекта];
		
	ИначеЕсли ПланыОбмена.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда
		Возврат ПланыОбмена[ИмяОбъекта];
		
	ИначеЕсли Перечисления.ТипВсеСсылки().СодержитТип(ТипСсылки) Тогда
		Возврат Перечисления[ИмяОбъекта];
	Иначе
		Возврат Неопределено;
	КонецЕсли;
	
КонецФункции
Показать
13. пользователь 27.02.26 13:25
Сообщение было скрыто модератором.
...
Для отправки сообщения требуется регистрация/авторизация

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