0
SalBas
23.12.21
✎
21:56
|
Здравствуйте!
Создаю программно табличное поле и в него добавляю поле.
Колонка в табличном поле появляется, но в ячейку этой колонки ничего нельзя забить.
У неё свойство "Только просмотр" равно ложь.
Уже всё проверил. Не понимаю, что не хватает этой колонке.
ИмяТабличногоПоля = "Товары" + строка.Поставщик;
Элемент = ЭтаФорма.ЭлементыФормы.Добавить(Тип("ТабличноеПоле"), ИмяТабличногоПоля, Истина, ЭлементыФормы.ОсновнаяПанель);
Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Право, Панель,ГраницаЭлементаУправления.Право);
Элемент.УстановитьПривязку(ГраницаЭлементаУправления.Низ, Панель,ГраницаЭлементаУправления.Низ);
Элемент.Лево = 5;
Элемент.Верх = ПромежутокВерх;
Элемент.Ширина = ЭлементыФормы.ОсновнаяПанель.Ширина - 15;
Элемент.Высота = ЭлементыФормы.ОсновнаяПанель.Высота - ПромежутокВерх - 25;
Элемент.Значение = строка.Товары;
Элемент.СоздатьКолонки();
Элемент.Колонки.Отметка.Видимость = Ложь;
Элемент.Колонки.ИдСтроки.Видимость = Ложь;
Элемент.Колонки.ИдПоставщика.Видимость = Ложь;
Для Каждого реквизитыТовар Из строка.ПараметрыТоваров Цикл
//Создание колонки табличного поля
ЭлементыФормы[ИмяТабличногоПоля].Значение.Колонки.Добавить(реквизитыТовар.ИмяРеквизита, Новый ОписаниеТипов("Строка"));
КолонкаТабличногоПоля = ЭлементыФормы[ИмяТабличногоПоля].Колонки.Добавить(реквизитыТовар.ИмяРеквизита);
КолонкаТабличногоПоля.Данные = реквизитыТовар.ИмяРеквизита;
КолонкаТабличногоПоля.УстановитьЭлементУправления(Тип("ПолеВвода"));
КолонкаТабличногоПоля.ТекстШапки = реквизитыТовар.name;
//КолонкаТабличногоПоля.ЭлементУправления.ТипЗначения = Новый ОписаниеТипов("Строка");
КонецЦикла;
|
|
3
SalBas
24.12.21
✎
02:56
|
(1) Я сделал переделал процедуру.
Вот в этой строке
Элемент.Значение = строка.Товары;
"строка.Товары" является таблицей значений (источником данных). Я добавил в неё колонки, которые мне были нужны, и потом уже присваиваю эту таблицу как значение табличного поля и связка с данными тогда появляется.
До этого я создавал программно колонку и пытался в свойстве "Данные" этой колонки что-то указать, но 1С ругалась на то, что не верный путь к данным.
(2) Я не посмотрел на свойство "Только просмотр" табличного поля. У него значение было Истина. Я даже не знал, что если программно создавать табличное поле, то ТолькоПросмотр будет по умолчанию равно Истина.
Всем спасибо за помощь! Всё получилось у меня.
|
|