Имя: Пароль:
1C
1С v8
Управляемая форма
,
0 Alex1979rak
 
09.12.13
11:47
Здравствуйте, уважаемые форумчане.

Помогите, пожалуйста, разобраться в ситуации.

Есть управляемая форма объекта Обработка1.
У формы есть реквизит ТабличнаяЧасть1 (тип - ТабличнаяЧасть).

Мне нужно программно добавлять в эту ТЧ данные.

Как это сделать?
И еще. Как правильно преобразовать реквизит ТабличнаЧасть1 в значение методом РеквизитФормыВЗначение. Ну не догоняю я этот метод.

Просьба - сильно не пинать.
1 hhhh
 
09.12.13
11:51
похоже надо Объект преобразовать в значение методом РеквизитФормыВЗначение. А уже уобъекта брать ТЧ
2 Alex1979rak
 
09.12.13
11:54
(1) я так понял, что сразу преобразовать ТЧ не получится. спасибо.
3 sapphire
 
09.12.13
11:55
(2) Объект.ТабличнаЧасть1
4 ladalk
 
09.12.13
11:57
оо.. у меня тоже вопрос с табчастью на уф. Как можно программно добавить колонку? (думала как-нибудь через ТЗ, а не получается)
5 Wobland
 
09.12.13
11:57
(4) ИзменитьРеквизиты
6 hhhh
 
09.12.13
11:58
(3) у меня не получилось так.
7 jsmith82
 
09.12.13
11:58
>>У формы есть реквизит ТабличнаяЧасть1
Не у формы, а у объекта
>>Мне нужно программно добавлять в эту ТЧ данные
НоваяСтрока = Объект.ТабличнаяЧасть1.Добавить();
НоваяСтрока.Колонка1 = Значение1;
8 jsmith82
 
09.12.13
11:59
(4) Завязывай с программным изменением реквизитов. От лукавого это
9 ladalk
 
09.12.13
12:00
(8) ситуация: нужно выводить таблицу с количеством столбцов, равным количеству дней в месяце. Думаю, как это можно сделать.
10 Wobland
 
09.12.13
12:01
(9) выводить 31, далее управлять видимостью
11 hhhh
 
09.12.13
12:01
(9) ну, ИзменитьРеквизиты
12 hhhh
 
09.12.13
12:02
хотя да, можно накопировать на форме 31 колонку и не париться.
13 jsmith82
 
09.12.13
12:02
(10) +100500
14 jsmith82
 
09.12.13
12:03
>>Как правильно преобразовать реквизит ТабличнаЧасть1 в значение методом РеквизитФормыВЗначение
Икс = РеквизитыФормыВЗначение(ИмяРеквизитаФормы);
15 ladalk
 
09.12.13
12:04
(10), (11) т.е. у таб части создавать 31 реквизит?
16 hhhh
 
09.12.13
12:06
(15) ну, таблицу значений зафигачь.
17 dj_serega
 
09.12.13
12:06
(4) вот так программно создаются колонки в уп ТЧ

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

    Для Каждого ТекущийКонтрагент Из Объект.ТаблицаКонтрагентов Цикл
        
        КолонкаИмя        = ТекущийКонтрагент.ИмяКолонки;
        КолонкаСиноним    = ТекущийКонтрагент.Контрагент.Наименование;
        КолонкаТип        = ОписаниеТиповЧисла;
        
        НоваяКолонка = Новый РеквизитФормы(КолонкаИмя, КолонкаТип, "ОсновнаяТаблица", КолонкаСиноним, Истина);
        
        МассивРеквизитов.Добавить(НоваяКолонка);
        
    КонецЦикла;
    
    ИзменитьРеквизиты(МассивРеквизитов);
    
    Для Каждого ТекущийКонтрагент Из Объект.ТаблицаКонтрагентов Цикл
        
        КолонкаИмя        = ТекущийКонтрагент.ИмяКолонки;
        КолонкаСиноним    = ТекущийКонтрагент.Контрагент.Наименование;
        
        НовыйЭлемент = Элементы.Добавить("ОсновнаяТаблица" + КолонкаИмя, Тип("ПолеФормы"), Элементы.ОсновнаяТаблица);
        НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлемент.ПутьКДанным = "ОсновнаяТаблица." + КолонкаИмя;
        
    КонецЦикла;
18 ladalk
 
09.12.13
12:06
(16) вот я и не могу понять, как через ТЗ на уф сделать
19 ladalk
 
09.12.13
12:07
(17) спасибо, сейчас посмотрю
20 sapphire
 
09.12.13
12:08
(4) Можно и программно добавлять
21 sapphire
 
09.12.13
12:09
(6) Что не получилось?
22 dj_serega
 
09.12.13
12:09
(19) Объект.ТаблицаКонтрагентов это таблица значений в обработке, в которой я перед этим программно создал колонки.
23 sapphire
 
09.12.13
12:10
(9) Я делал через табличный документ
24 hhhh
 
09.12.13
12:11
(22) лучше непрограммно создать. Программно это если изначально неизвестно какие колонки.
25 dj_serega
 
09.12.13
12:14
(24) так на 100% не известно какое количество колонок будет :)
Хотя, я бы в данном случае создал ручками 31 колонку, а их количество уже бы видимостью ограничивал.
26 ladalk
 
09.12.13
12:17
(24), (25) я вот тоже склоняюсь к этому. спасибо за помощь!
Ошибка? Это не ошибка, это системная функция.