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