Имя: Пароль:
1C
1С v8
v8: УФ Как сделать таблицу значений на форме и обновлять ее
0 profman2012
 
18.07.12
10:53
Вроде элементарная задача. есть обработка. На форме должна быть ТЗ, в которую я пережаю разные таблицы. Что бы посмотреть результат.
В 1с82 без УФ сделано и работает. Все просто:
сделал реквизит формы - Моя_ТЗ и связал его с табличным полем на форме. И когда надо передаю в Моя_ТЗ таблицу и пишу:
ЭлементыФормы.ТабличноеПоле1.ОбновитьСтроки();
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();

В УФ не прокатывает. Как не бился. Как я делал:
Сначала сделал так же реквизит формы - таблица значений. И передаю туда таблицу. Но пишет - типа изменять нельзя.
Тогда сделал переменную и сделал так:

&НаКлиенте
Перем МояТЗ Экспорт;

&НаКлиенте
Процедура ОбновитьТЗ(Команда)
   ОбновитьТЗНаСервере(МояТЗ)
   // Вставить содержимое обработчика.
КонецПроцедуры

&НаСервере
Процедура ОбновитьТЗНаСервере(МояТЗ)
   МояТЗ = Новый ТаблицаЗначений;
   МояТЗ.Колонки.Добавить("Колонка1");
КонецПроцедуры

Опять не получается.
Прошу помочь - подскажите как правильно и грамотно сделать
1 profman2012
 
18.07.12
10:54
т.е. мне надо на УФ создать призвольную ТЗ и передавать туда для отображения произвольные таблицы.
На сервере я получаю ТЗ, но в клиенте не удается ее отобразить
2 profman2012
 
18.07.12
11:39
неужели никто не делал?
3 sanja26
 
18.07.12
11:44
НаКлиенте нет ТЗ, на тонком
Передавай коллекцтю колонок с сервера и присваивай потом табличному полю формы свою ТЗ
4 profman2012
 
18.07.12
12:01
>> НаКлиенте нет ТЗ, на тонком

Это я понял

>>Передавай коллекцтю колонок с сервера и присваивай потом табличному полю формы свою ТЗ
А как передать коллекцию колонок - во что выгружать?

>> и присваивай потом табличному полю формы свою ТЗ
А  как? На клиенте?
5 profman2012
 
18.07.12
12:01
нет ли примера какого?
6 profman2012
 
18.07.12
12:09
тип табличного поля формы какой?
таблица значений? Или табличный документ ?
7 profman2012
 
18.07.12
13:06
апну ка
8 sanja26
 
18.07.12
13:41
ЭлементыФормы.ТабличноеПоле.Колонки.Загрузить(КоллекцияКолонокТЗССервера);
или
Для каждого Колонка из КоллекцияКолонокТЗССервера цикл
ЭлементыФормы.ТабличноеПоле.Колонки.Добавуить();
тра-та-та
конецЦикла

ЭлементыФормы.ТабличноеПоле.Загрузить(ТЗ);

как-то так думаю
9 profman2012
 
18.07.12
14:17
(8)а как выгрузить с сервера ?

И что значит ЭлементыФормы.ТабличноеПоле.Загрузить(ТЗ) - это к чему - после создания структуры загружаем ТЗ ?
но таблица значений не определена на клиенте.
Или это все на сервере делать?
10 profman2012
 
18.07.12
14:58
друг! не пропадай
11 olegves
 
18.07.12
15:32
можешь в реквизиты формы добавить реквизит с типом ТаблицаЗначений, кот будет тебе доступна в серверных и клиентских контекстных процедурах и функциях. Я только с программным добавлением колонок не игрался (там тип реквизита будет немного отличаться по методам, но Найти и НайтиСтроки доступно)
Кури в СинтПоме ДанныеФормыКоллекция