Имя: Пароль:
1C
1С v8
Как программно добавить колонку в табличную часть формы документа. Форма обычная
0 unk2
 
16.05.13
07:17
Задача такая. У документа добавлен новый реквизит табличной части «Кононка1». Тип число. Необходимо программно вывести эту колонку на форму, в табличное поле. Я пробовал подобным образом:
ЭлементыФормы.РаботникиОрганизации.Колонки.Добавить("Колонка1",  "Дни");
Колонка появляется на форме, но в нее нет возможности ввести значение. Посмотрел по отладчику, реквизит колонки «ЭлементУправления» = неопределенно. Возможно в этом проблема. Форма обычная.
На форуме поискал, именно того что мне нужно к удивлению не нашел.
1 Любопытная
 
16.05.13
07:21
Почему обязательно программно?
2 Milana
 
16.05.13
07:21
(0)
может тип колонки надо задать при добавлении
НоваяКолонка = ЭлементыФормы.Товары.Колонки.Добавить("Кол");
НоваяКолонка.УстановитьЭлементУправления(Тип("ПолеВвода"));
3 kosts
 
16.05.13
07:32

   эл = ЭлементыФормы.РаботникиОрганизации.Колонки.Вставить(Позиция, "ПродолжительностьВредность", "За вредные условия труда");
   эл.Имя = "ПродолжительностьВредность";
   эл.Видимость = Истина;
   эл.Положение = ПоложениеКолонки.ВТойЖеКолонке;
   эл.Данные = "ПродолжительностьВредность";
   эл.ТекстШапки = "Вредность";
   эл.УстановитьЭлементУправления(Тип("ПолеВвода"));
   эл.ЭлементУправления.УстановитьДействие("ПриИзменении", Новый Действие("РаботникиОрганизацииПродолжительностьНенормированныйПриИзмененииПодключаемая"));

4 unk2
 
16.05.13
07:35
Milana да вы правы. Все сработало! Спасибо!
5 Cube
 
16.05.13
07:36
(1) Обновлять потом проще.
6 unk2
 
16.05.13
07:40
Да проще обновлять. Именно за этим такой "изысканный" способ размещения элементов на форме. Вот такой код работает. Спасибо всем за помощь.

ЭлементыФормы.РаботникиОрганизации.Колонки.Добавить("Колонка1",  "Дней компенсации");
ЭлементыФормы.РаботникиОрганизации.Колонки.Колонка1.Данные = "Колонка1";
ЭлементыФормы.РаботникиОрганизации.Колонки.Колонка1.УстановитьЭлементУправления(Тип("ПолеВвода"));
7 Milana
 
16.05.13
07:46
(4) Мне приятно было вам помочь. Сама недавно с этими колонками мучилась. Добрые люди помогли.
8 andreymongol82
 
16.05.13
07:52
(7) Это вы еще на УФ колонки не добавляли, и мучения с обычной формой вам не покажутся мучениями :)
9 kosts
 
16.05.13
07:54
(8) Бусят эти УФ. Ширину колонки нормально и то не задать...
10 cw014
 
16.05.13
07:56
(7)(8) Хорош на УФ гнать - нормально все там добавляется, не надо париться
11 Cube
 
16.05.13
08:51
(10) +100 УФ рулят и педалят!
12 cw014
 
16.05.13
08:58
(11) А так же штырят, плющат и колбасят
13 andreymongol82
 
16.05.13
09:08
(10) Ага добавляются нормально. Только кода раз так в шесть больше
14 cw014
 
16.05.13
09:11
(13) Да ну ты брось
15 cw014
 
16.05.13
09:11
(13) Для тч кода одинаково. Для реквизитов формы - раз так в 10 меньше (ибо исключаются "Лево","Верх","Ширина","Высота","УстановитьПривязки" и прочая ересь)
16 andreymongol82
 
16.05.13
09:15
Для обычной формы, достаточной сказать типа ЭлементыФормы.ТЧ.СоздатьКолонки(), для УФ надо сначала добавить реквизит формы, типа таблица или как ее, потом по отдельности каждую колонку, потом создать элементы формы и потом передать значение в реквизит формы
17 andreymongol82
 
16.05.13
09:16
раз так в 10 меньше (ибо исключаются "Лево","Верх","Ширина","Высота","УстановитьПривязки" и прочая ересь) - а вот с эти согласен
18 andreymongol82
 
16.05.13
09:19
(14) И, кстати, разу пошла такая пьянка, как добавить колонку в для реквизита УФ формы, который не создавался программно?