Имя: Пароль:
1C
1С v8
Программно добавить колонки в таблицу значений на общей форме
0 ac13
 
18.04.19
17:26
есть общая форма, на форме (ТаблицаЗначений) "Товары". нужно программно в "Товары" добавить колонку "Единица" и вывести её на форму.
так не катит:
Товары.Колонки.Добавить("Единица", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"), "Ед.");

и важно, чтобы в елементах на форме колонка "Единица" была после колонки "Номенклатура".

как это сделать?
1 Euguln
 
18.04.19
17:35
УФ?
2 lodger
 
18.04.19
17:40
чтобы "после колонки", то надо писать Вставить() вместо Добавить()
3 lodger
 
18.04.19
17:43
"так не катит" - катит, просто на форме нет элемента для отображения новой колонки.
НовоеПоле = Элементы.Добавить("Единица",Тип("ПолеВводаФормы"),Элементы.Товары);
потом новому полю надо прописать свойства типа видимости, путькданным и т.д.
4 lodger
 
18.04.19
17:43
(2) к (3)  тоже относится.
5 ac13
 
18.04.19
17:54
НовыеЭлементы = Новый Массив;
НовыеЭлементы.Добавить(Новый РеквизитФормы("Единица", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"), , "Единица"));

НовыйЭлемент = Элементы.Добавить("Единица", Тип("ПолеВводаФормы"), Элементы.Товары);
НовыйЭлемент.ПутьКДанным = "Единица";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ТолькоПросмотр = Ложь;
    

Ошибка при вызове метода контекста (Добавить)
НовыйЭлемент = Элементы.Добавить("Единица", Тип("ПолеВводаФормы"), Элементы.Товары);
по причине:
Недопустимое значение параметров
6 Euguln
 
18.04.19
17:56
НовыеЭлементы.Добавить(Новый РеквизитФормы("Единица", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"), "Товары", "Единица"));
7 Euguln
 
18.04.19
17:56
А где ИзменитьРеквизиты?
8 ac13
 
18.04.19
18:02
(7) ИзменитьРеквизиты добавл
(6) че-то не помогло (

НовыеЭлементы = Новый Массив;
НовыеЭлементы.Добавить(Новый РеквизитФормы("Единица", Новый ОписаниеТипов("СправочникСсылка.ЕдиницыИзмерения"), "Товары", "Единица"));
ИзменитьРеквизиты(НовыеЭлементы);
    
НовыйЭлемент = Элементы.Добавить("Единица", Тип("ПолеВводаФормы"), Элементы.Товары);
НовыйЭлемент.ПутьКДанным = "Единица";
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ТолькоПросмотр = Ложь;
9 hhhh
 
18.04.19
18:05
(8) наверно здесь не то

Тип("ПолеВводаФормы")

почему поле ввода?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан