Помогите, как вытащить значение свойств объектов с справочника

1. DalakWeed 19.02.19 13:21 Сейчас в теме
С чего все началось, мне нужно было на форму справочника добавить кнопку, которая заполняла бы значение определенного свойства, но мне не удается к нему подцепится, чтоб записать в него данные? Данные для заполнения, беру с созданного мной регистра сведений



Процедура ЗаполнитьНажатие(Элемент)

Докум = Справочники.ДоговорыКонтрагентов.Выбрать().Владелец;	


//осуществялем заполнение регистра сведений "Нумератор" значениями со справочника "Договоры Контрагентов"

	Наборчик=РегистрыСведений.Нумератор.СоздатьМенеджерЗаписи();
	Наборчик.Активность=Истина;        //попробовать без него
	Наборчик.Год=Формат(ТекущаяДата(), "ДФ=гггг");  //Выбрать формат, чтоб вытаскивал только "год"
	Наборчик.ПорядковыйНомер = 1;      //вытащить номер Рег. номера и присвоить его региструсведений.нумератор
	Наборчик.Записать();               //(ложь)
		  
	
	 Рег = РегистрыСведений.ЗначенияСвойствОбъектов.ПустойКлюч();
	                
	 
	 Справочники.ДоговорыКонтрагентов.ПолучитьСсылку(); 
	Если Формат(Рег.Период, "ДФ=гггг") <> Формат(Наборчик.Год, "ДФ=гггг") тогда
		
		Наборчик=РегистрыСведений.Нумератор.СоздатьМенеджерЗаписи();
   		Наборчик.Активность=Истина;        //попробовать без него
		Наборчик.Год=Формат(Рег.Период,"ДФ=гггг");  //Выбрать формат, чтоб вытаскивал только "год"  ДФ=dd
		Наборчик.ПорядковыйНомер = 1;      //вытащить номер Рег. номера и присвоить его региструсведений.нумератор
		Наборчик.Записать();			   //(ложь)
		Регистр = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
		Регистр.Объект = Докум.Владелец;  
		Регистр.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("00172");
		Регистр.Значение = Наборчик.ПорядковыйНомер;
		//Докум.Номер = Наборчик.ПорядковыйНомер;
			Наборчик.ПорядковыйНомер = Наборчик.ПорядковыйНомер +1;
	//		Докум.Записать();
	иначе
		Регистр = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
		Регистр.Объект = ;
		Регистр.Свойство = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("00172");
		Регистр.Значение = Наборчик.ПорядковыйНомер;
		
		//Докум.Номер = Наборчик.ПорядковыйНомер;           
		Наборчик.ПорядковыйНомер = Наборчик.ПорядковыйНомер + 1;
		//Докум.Записать();
		
	КонецЕсли;
	
	
		
КонецПроцедуры
Показать
По теме из базы знаний
Найденные решения
3. independ 1540 19.02.19 14:56 Сейчас в теме
(1) 2 универсальные функции для чтения и записи свойства, для ОФ, проверено и работает в УТ 10.3
Функция ОпределитьЗначениеСвойства(ЗначениеСвойства,ВыбОбъект) Экспорт
	ЗначСвойства = неопределено;
	ПВХ = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(ЗначениеСвойства);
	Запрос = Новый Запрос;
	Запрос.Текст = "
	|ВЫБРАТЬ 
	|ЗСО.Значение
	|ИЗ
	|РегистрСведений.ЗначенияСвойствОбъектов КАК ЗСО
	|ГДЕ Объект = &ВыбОбъект И Свойство = &ВыбСвойство";
	Запрос.УстановитьПараметр("ВыбОбъект",ВыбОбъект);
	Запрос.УстановитьПараметр("ВыбСвойство",ПВХ);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
	ЗначСвойства = Выборка.Значение;
	КонецЕсли;
	Возврат ЗначСвойства;    
КонецФункции

Функция ЗаписатьЗначениеСвойства(Значение,ЗначениеСвойства,ВыбОбъект) Экспорт
	ПВХ = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(ЗначениеСвойства);
	МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
	МенеджерЗаписи.Объект = ВыбОБъект.Ссылка;
	МенеджерЗаписи.Свойство = ПВХ.Ссылка;
	МенеджерЗаписи.Значение = Значение;
	МенеджерЗаписи.Записать()
КонецФункции
Показать
xoxmaister; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. dandykry 10 19.02.19 14:46 Сейчас в теме
(1) Такс...
Для начала скажи какая конфигурация или хотя бы управляемое или обычное приложение.

потом покажи саму форму, в которой нужно заполнить значение доп. свойства. Это форма объекта или форма списка?
4. DalakWeed 20.02.19 04:39 Сейчас в теме
(2) ФормаЭлемента
(3) Спасибо, я примерно так и думал, что нужно через запрос.
Теперь теперь такая штука, нужно свойству справочника "ДоговорыКонтрагентов" присвоить мой параметр. Вопрос примерно в том же, не могу вытащить из данного справочника (объекта) нужное мне свойство, ибо его найти там не удатся.
3. independ 1540 19.02.19 14:56 Сейчас в теме
(1) 2 универсальные функции для чтения и записи свойства, для ОФ, проверено и работает в УТ 10.3
Функция ОпределитьЗначениеСвойства(ЗначениеСвойства,ВыбОбъект) Экспорт
	ЗначСвойства = неопределено;
	ПВХ = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(ЗначениеСвойства);
	Запрос = Новый Запрос;
	Запрос.Текст = "
	|ВЫБРАТЬ 
	|ЗСО.Значение
	|ИЗ
	|РегистрСведений.ЗначенияСвойствОбъектов КАК ЗСО
	|ГДЕ Объект = &ВыбОбъект И Свойство = &ВыбСвойство";
	Запрос.УстановитьПараметр("ВыбОбъект",ВыбОбъект);
	Запрос.УстановитьПараметр("ВыбСвойство",ПВХ);
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
	ЗначСвойства = Выборка.Значение;
	КонецЕсли;
	Возврат ЗначСвойства;    
КонецФункции

Функция ЗаписатьЗначениеСвойства(Значение,ЗначениеСвойства,ВыбОбъект) Экспорт
	ПВХ = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(ЗначениеСвойства);
	МенеджерЗаписи = РегистрыСведений.ЗначенияСвойствОбъектов.СоздатьМенеджерЗаписи();
	МенеджерЗаписи.Объект = ВыбОБъект.Ссылка;
	МенеджерЗаписи.Свойство = ПВХ.Ссылка;
	МенеджерЗаписи.Значение = Значение;
	МенеджерЗаписи.Записать()
КонецФункции
Показать
xoxmaister; +1 Ответить
5. DalakWeed 21.02.19 05:30 Сейчас в теме
Проблема решена, всем спасибо
Оставьте свое сообщение

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