Ошибка "Поле объекта недоступно для записи"

1. Igor Bliznuk (MrIgorr) 12.10.17 18:01 Сейчас в теме
Добрый день, уважаемые форумчане.

Пустая конфигурация. Создал "Документ", "Форму документа".
Затем программно пытаюсь создать на форме таблицу значений:

&НаСервере
Процедура создатьтз(индекс)
	// добавить реквизиты в форму
	МассивДобавляемыхРеквизитов = Новый Массив; 
	МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("План"+индекс, Новый ОписаниеТипов("ТаблицаЗначений"))); 
	
	//добавить колонки таблицы, например будем добавлять три колонки:
	МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Номенклатура", Новый ОписаниеТипов("Строка"),"План"+индекс)); 
	МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Регион", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,2)),"План"+индекс)); 
	МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Разница", Новый ОписаниеТипов("Число",Новый КвалификаторыЧисла(10,2)),"План"+индекс)); 
	
	//можно вызывать изменение реквизитов:
	ИзменитьРеквизиты(МассивДобавляемыхРеквизитов); 
	
	//Можно приступать к созданию элементов формы, для отображения данных. Сначала создадим элемент формы типа ТаблицаФормы.
	ТаблицаФормы = Элементы.Добавить("План"+индекс, Тип("ТаблицаФормы")); 
	ТаблицаФормы.ПутьКДанным = "План"+индекс; 
	ТаблицаФормы.ПоложениеКоманднойПанели = ПоложениеКоманднойПанелиЭлементаФормы.Нет; 
	ТаблицаФормы.ФиксацияСлева = 3; 
	ТаблицаФормы.УстановитьДействие("ПередУдалением", "ПланПередУдалением"); 
	ТаблицаФормы.УстановитьДействие("ПередНачаломДобавления", "ПланПередНачаломДобавления");
	ТаблицаФормы.ВариантУправленияВысотой = ВариантУправленияВысотойТаблицы.ПоСодержимому;
	
	//После создания элемента План типа ТаблицаФормы создадим подчиненные ему элементы типа ПолеФормы, которые будут отвечать у нас за вывод данных в колонки таблицы. 
	к=1;
	Для каждого колонка Из МассивДобавляемыхРеквизитов Цикл
		Если к=1 Тогда
		    к=0;
		    продолжить;
		КонецЕсли; 
		НоваяКолонка = Элементы.Добавить("План"+индекс+""+колонка.Имя, Тип("ПолеФормы"), Элементы["План"+индекс]); 
		НоваяКолонка.ПутьКДанным = "План"+индекс + "." + колонка.Имя; 
		НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода; 
		
	КонецЦикла; 

КонецПроцедуры

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Для у=1 По 10 Цикл
	
		создатьтз(у);	
	    у=у+1;
	КонецЦикла; 
	
	
КонецПроцедуры
Показать


На строке

ТаблицаФормы.ВариантУправленияВысотой = ВариантУправленияВысотойТаблицы.ПоСодержимому;


Получаю ошибку:
"Поле объекта недоступно для записи (ВариантУправленияВысотой)"

В хелпе посмотрел:
Интерфейс (управляемый) - Таблица формы - Таблица формы - свойства

ТаблицаФормы (FormTable)
ВариантУправленияВысотой (HeightControlVariant)
Использование:

Чтение и запись.
Описание:

Тип: ВариантУправленияВысотойТаблицы.
Содержит варианты управления высотой таблицы.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, мобильное приложение(клиент), мобильное приложение(сервер).


В чем ошибка? Что я делаю не так?
Ответы
2. Armando Armando (Armando) 1382 12.10.17 19:48 Сейчас в теме
Если реквизит формы был добавлен программно, то обращаться к нему надо через ЭтотОбъект
3. Armando Armando (Armando) 1382 12.10.17 22:45 Сейчас в теме
После добавления реквизита обращение к нему в программном коде возможно только с помощью конструкции ЭтотОбъект.ИмяРеквизита. Выражение «ЭтотОбъект.» является обязательным для программно добавляемых реквизитов.

https://its.1c.ru/db/v83doc#bookmark:dev:TI000000444
Оставьте свое сообщение