Имя: Пароль:
1C
 
создаю программно колонки
0 ХочуСпец
 
11.04.11
13:27
на форме есть табличное поле, непривязанное к табличной части объекта

программно добавляю колонку:

МассивТипов = Новый Массив();
МассивТипов.Добавить(Тип("Число"));
КЧ = Новый КвалификаторыЧисла(3,3);
ОписаниеНужныхТипов = Новый ОписаниеТипов(МассивТипов,,,КЧ);


НоваяКолонка = МояТЗ.Колонки.Добавить("МояКолонка", ОписаниеНужныхТипов);
           
ЭлементыФормы.МояТЗ.СоздатьКолонки();

В итоге: колонку создает, но не дает редактировать
в чем праблэмо, спасибо
1 Ursus maritimus
 
11.04.11
13:28
Нужно элемент управления назначить.
2 ХочуСпец
 
11.04.11
13:30
(1) назначал - не помогло
3 vicof
 
11.04.11
13:36
4 vicof
 
11.04.11
13:37
5 Ursus maritimus
 
11.04.11
13:38
ТабличноеПоле = Форма.ЭлементыФормы.РасшифровкаПлатежа;
   Колонка          = ТабличноеПоле.Колонки.Добавить("СтавкаНДС","Ставка НДС");
   Колонка.Данные = "СтавкаНДС";
   Колонка.УстановитьЭлементУправления(Тип("ПолеВвода"));    
   Колонка.ЭлементУправления.КнопкаВыбора = Истина;
   Колонка.ЭлементУправления.УстановитьДействие("ПриИзменении",Действие);
6 ХочуСпец
 
11.04.11
13:38
(4) НЕ ТО
7 lxs
 
11.04.11
13:39
У тебя табличное поле вообще доступно?
8 lxs
 
11.04.11
13:40
Может установлен только просмотр
9 ХочуСпец
 
11.04.11
13:42
(5) где тип указать?
(7) доступно
(8) только просмотр отлючен, доступность влючена
10 ХочуСпец
 
11.04.11
13:56
(4) сделал также как описано, ситуация не изменилась
11 ХочуСпец
 
11.04.11
13:57
кстати прогаю в 82
12 Злобный монстр
 
11.04.11
14:02
"МояТЗ" источник данных для "ЭлементыФормы.МояТЗ" ?
13 lxs
 
11.04.11
14:08
(12) 8.2
14 Злобный монстр
 
11.04.11
14:09
(13) и?
15 ХочуСпец
 
11.04.11
14:11
(12) да, МояТЗ - это реквизит формы
16 ХочуСпец
 
11.04.11
14:12
сделал так, но проблема по-прежнему осталась

   НоваяКолонка = ЭлементыФормы.МояТЗ.Колонки.Добавить("МояКолонка");
   МояТЗ.Колонки.Добавить("МояКолонка", ОписаниеНужныхТипов);
       
       
       
       НоваяКолонка.Данные = НоваяКолонка.Имя;
17 Злобный монстр
 
11.04.11
14:13
(15) Да не в реквизите дело, может у тебя на форме 2 таблицы и Данные перепутаны
18 ХочуСпец
 
11.04.11
14:13
(17) нет
19 Злобный монстр
 
11.04.11
14:14
Тьфу, не прочитал что колонку все таки создает
20 Злобный монстр
 
11.04.11
14:15
Отладчик что говорит про флажки доступности колонки после ее создания?
21 Злобный монстр
 
11.04.11
14:16
Тебе новую строку надо добавить интерактивно или то что есть редактировать?
22 ХочуСпец
 
11.04.11
14:16
отладчик грит что колонка благополучно создается
ТолькоПросмотр = Ложь
Доступность = Истина
Данные = ИмяКолонки
Тип - Число
23 Злобный монстр
 
11.04.11
14:16
Те её на форме видишь?
24 ХочуСпец
 
11.04.11
14:17
(21) мне просто надо добавить колонки
а потом пользователь сам эти колонки редактируеи
25 ХочуСпец
 
11.04.11
14:17
(23) Shift f9
26 ХочуСпец
 
11.04.11
14:19
Почитал другие ветки
ограничиваются таким кодом и все в шоколаде:

НоваяКолонка = ЭлементыФормы.МояТЗ.Колонки.Добавить("МояКолонка");
МояТЗ.Колонки.Добавить("МояКолонка", ОписаниеНужныхТипов);
НоваяКолонка.Данные = НоваяКолонка.Имя;

но у меня проблема остается, редактировать не могу
27 Злобный монстр
 
11.04.11
14:22
(26) Флаг "РедактированиеТекста" ?
28 Злобный монстр
 
11.04.11
14:23
(26) Редактировать не можешь только эту колонку? остальные можешь?
29 ХочуСпец
 
11.04.11
14:24
не могу редактировать только колонки, которые добавляю программно
30 ХочуСпец
 
11.04.11
14:26
(26) РедактированиеТекста = Истина
31 ХочуСпец
 
11.04.11
14:36
создал новую обработку, новое табличное поле на форме этой обработке
ситуация не изменилась
32 Злобный монстр
 
11.04.11
14:38
(31) Нередактирование не заключается случайно в том что не вводится целая часть, а только после запятой?
33 Злобный монстр
 
11.04.11
14:39
(31) Мышко
34 Злобный монстр
 
11.04.11
14:39
й после запятой щелкни и вводи
35 ХочуСпец
 
11.04.11
14:40
(34) ты прав, е-мое
ну как так то )))

спасибо
36 ХочуСпец
 
11.04.11
14:41
а почему целая часть то не вводится
37 ХочуСпец
 
11.04.11
14:42
изменил квалификатор числа
все отлично
38 Злобный монстр
 
11.04.11
14:43
КЧ = Новый КвалификаторыЧисла(3,3) т.е. 3 знака из них 3 после запятой
39 Злобный монстр
 
11.04.11
14:43
)))
40 NcSteel
 
11.04.11
14:49
Re: Отображение в управляемой форме динамически создаваемой на сервере ТЗ  12.11.2010 18:20 Глазунов Алексей (Информационно-медицинский центр, Самара)  
3,0 858802

Возникла аналогичная задачка. Потрачено уйма времени на поиск решения.  Выкладываю результат, может кому пригодится.



&НаСервере
Процедура ЗаполнитьТабЧастьНаФорме()
// Реквизит формы "ДанныеТаблицы" создан средствами интерфейса конфигуратора(можно и программно), программно создадим колонки
// Элемент формы "ДанныеТаблицыНаФорме" создан средствами интерфейса конфигуратора(можно и программно), программно создадим колонки
// СодержимоеТаблицы - таблица значений

// создаем реквизиты для РЕКВИЗИТА ФОРМЫ "ДанныеТаблицы" (тип Таблица Значений)
МассивДобавляемыхРеквизитов = Новый Массив;

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

// пакетное создание и удаление колонок в РЕКВИЗИТЕ ФОРМЫ "ДанныеТаблицы" (тип Таблица Значений)
ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);

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

ЭтаФорма.ДанныеТаблицы.Загрузить(СодержимоеТаблицы);

КонецПроцедуры