Имя: Пароль:
1C
1С v8
Программное добавление реквизита формы
0 Wefast
 
28.11.24
16:13
Процедура ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)

		
		ДобавляемыеРеквизиты = Новый Массив;
		
		Реквизит_КадровыйДокумент = Новый РеквизитФормы("КадровыйДокумент",Документы.ТипВсеСсылки(),,"Кадровый документ");
		ДобавляемыеРеквизиты.Добавить(Реквизит_КадровыйДокумент);
		
		ИзменитьРеквизиты(ДобавляемыеРеквизиты);
		
		Элемент = ЭтаФорма.Элементы.Вставить("КадровыйДокумент",Тип("ПолеФормы"),Элементы.ГруппаСодержание,Элементы.Содержание);
		Элемент.Гиперссылка  = Истина;
		Элемент.ПутьКДанным = "КадровыйДокумент";
		
		Запрос = Новый Запрос;
		Запрос.Текст = ЗапросТЕкст;
		Запрос.УстановитьПараметр("ДокументЗаполнения", Объект.Предмет);
		
		РезультатЗапроса = Запрос.Выполнить();
		
		ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
		Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
			КадровыйДокумент = ВыборкаДетальныеЗаписи.Ссылка;
		КонецЦикла;
		
		Если ЗначениеЗаполнено(КадровыйДокумент) Тогда
			Элементы.преф_СоздатьНаОсновании.Доступность = Истина;
		КонецЕсли;
	КонецЕсли;
КонецПроцедуры


В итоге реквизит на форме есть, но значение не заполнено
В отладке, в конце ПриСозданиеНаСервере - мой реквизит КадровыйДокумент заполнен
Но если посмотреть значение реквизита КадровыйДокумент при другом событие - там Неопределено

Собственно никак не пойму что я делаю не так.
1 SilentMan
 
28.11.24
16:18
В примере идет заполнение переменной процедуры, а не реквизита формы. А к реквизиту надо обращаться ЭтотОбъект.КадровыйДокумент
2 Rico_1C
 
28.11.24
16:20
Элемент.ПутьКДанным = "Объект.КадровыйДокумент";
3 Wefast
 
28.11.24
16:23
(1) точно, спасибо
4 Волшебник
 
28.11.24
16:25
Запрос = Новый Запрос;
Запрос.Текст = ЗапросТЕкст;
Запрос.УстановитьПараметр("ДокументЗаполнения", Объект.Предмет);
РезультатЗапроса = Запрос.Выполнить();


а это чё?
5 DrZombi
 
29.11.24
08:34
(0) Чет энтузиазм про создание реквизитов начал обуревать мистян....
Держи, может пригодится... нового нечего нет :)


Создать новый реквизит ТЧ и добавить его в ТЧ программно#19
7 Garykom
 
29.11.24
08:47
(0) >Собственно никак не пойму что я делаю не так.

Все не так.
1. Платформа и ЯП 1С не изучены
2. Зачем то лезешь не зная допиливать ДО
3. "КадровыйДокумент = ВыборкаДетальныеЗаписи.Ссылка;" в цикле это сильно
8 Garykom
 
29.11.24
08:48
(1) с пропуском "ЭтотОбъект." в типовых постоянные приколы
а потом оно глючить начинает
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.