Программное добавление Динамической колонки на форму

1. jaroslav.h 181 09.01.16 01:30 Сейчас в теме
Нужно создать столько Колонок на форме в ТаблицеЗначений сколько есть Элементов Справочника

Процедура Добавление()

	МассивДобавляемыхРеквизитов = Новый Массив;
	МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("ТаблицаЗначенийКолонок", Новый ОписаниеТипов("ТаблицаЗначений")));
	МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("РобочаяРоль", Новый ОписаниеТипов("СправочникСсылка.РобочаяРоль"),"ТаблицаЗначенийКолонок" ,"Робочая роль"));
	МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники",Новый КвалификаторыЧисла(10,2)),"ТаблицаЗначенийКолонок" , "Сотрудник"));
	МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("Линия", Новый ОписаниеТипов("СправочникСсылка.прЛинии",Новый КвалификаторыЧисла(10,2)),"ТаблицаЗначенийКолонок" , "Линия"));
	
	 ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);
	
	МассивДобавляемыхРеквизитов.Очистить();
	
	ТаблицаФормы = Элементы.Добавить("ТаблицаЗначенийКолонок", Тип("ТаблицаФормы"));
	ТаблицаФормы.ПутьКДанным = "ТаблицаЗначенийКолонок";
		
	ДобавитьКолонку("ТаблицаЗначенийКолонок", "РобочаяРоль", "РобочаяРоль");
	ДобавитьКолонку("ТаблицаЗначенийКолонок", "Сотрудник", "Сотрудник");

	Линия = Справочники.прЛинии.Выбрать();
	Пока Линия.Следующий() Цикл 
		Список.Добавить(Линия.Ссылка);
	КонецЦикла;
	Для Каждого эл Из Список Цикл 
		эл.Представление = СтрЗаменить(эл," ","");
		ДобавитьКолонку("ТаблицаЗначенийКолонок",эл.Представление,эл.Представление);
	КонецЦикла;
		
КонецПроцедуры

&НаСервере
Процедура ДобавитьКолонку(ИмяТаблицы, ИмяКолонки, ЗаголовокКолонки)
	НоваяКолонка = Элементы.Добавить(ИмяТаблицы + ИмяКолонки, Тип("ПолеФормы"), Элементы.ТаблицаЗначенийКолонок);
	НоваяКолонка.Заголовок = ЗаголовокКолонки;
	НоваяКолонка.Вид = ВидПоляФормы.ПолеВвода;
	НоваяКолонка.ПутьКДанным = ИмяТаблицы + "." + ИмяКолонки;
	НоваяКолонка.РежимРедактирования = РежимРедактированияКолонки.ВходПриВводе;
КонецПроцедуры
Показать


вот
НоваяКолонка.ПутьКДанным = ИмяТаблицы + "." + ИмяКолонки;

здесь когда доходит до Динамического добавления Колонок (из Справочника) получаю


{Документ.РобочийТабель.Форма.ФормаДокумента.Форма(106)}: Ошибка при установке значения атрибута контекста (ПутьКДанным)
НоваяКолонка.ПутьКДанным = ИмяТаблицы + "." + ИмяКолонки;
по причине:
Недопустимое значение
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. IvanSusanin 09.01.16 16:51 Сейчас в теме
(1) myr4ik07,
НоваяКолонка.ПутьКДанным = ИмяТаблицы + "." + ИмяКолонки;
по причине:
Недопустимое значение

Что бы решить эту проблему, Вам нужно ответить на вопрос - а какое значение является допустимым?
и сравните тип этого значения с тем которое Вы присваиваете.

надеюсь что помог, несмотря на то что русский язык и украинское наречие (не нынешняя мова) для меня родные языки.
2. config 204 09.01.16 11:03 Сейчас в теме
Новый РеквизитФормы("РобочаяРоль", Новый ОписаниеТипов("СправочникСсылка.РобочаяРоль"),"ТаблицаЗначенийКолонок" ,"Робочая роль"));

Документ.РобочийТабель.Форма

Ужас
Зато сразу видно НЕтиповые объекты)
ekaruk; Messenger Unchained; Allexe8.1; +3 1 Ответить
3. jaroslav.h 181 09.01.16 12:56 Сейчас в теме
(2) config, а посуществу можете ответить? На ошибки в словах не обращайте внимание, я не обязан их не совершать, русский не мой родной язык.
Оставьте свое сообщение

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