Имя: Пароль:
1C
1С v8
Как выгрузить табличную часть докумнта в таблицу на форме обработки?
0 Начинающий Программер
 
29.09.11
08:58
Вопрос, наверное, простой, но что-то не могу найти ответ:
Есть обработка, у неё на форме создал визуальную таблицу значений (Имя = "ТЗ", тип значения - "Таблица значений"). Далее, в процедуре нахожу документ и хочу выгрузить всю его табличную часть в визуальную таблицу на форме:

Док = Документы.РегистрацияРазовыхНачисленийРаботниковОрганизаций.НайтиПоНомеру("00000000003", Дата("2010", "12", "31"));
ТЗДок = Док.ОсновныеНачисления.Выгрузить(); //Получаем виртуальную таблицу

А вот как в форму выгрузить?
В семерке был метод - ВыгрузитьТабличнуюЧасть(ИмяТЗ). А здесь подобное не работает.
1 zak555
 
29.09.11
08:59
может нужно загрузить ?
2 Мимохожий Однако
 
29.09.11
09:01
Что такое "визуальная таблица значений"?
3 Начинающий Программер
 
29.09.11
09:06
(2) это элемент на форме обработки, тип - таблица значений. Хочу, чтобы туда выгружалась табличная часть найденного документа автоматически, без ручного создания колонок и обхода строк табличной части документа.
4 Начинающий Программер
 
29.09.11
09:07
(1) Метод Загрузить() в синтаксис-помощнике говорит, что для управляемых форм. У меня обычная форма, 8.2.
5 Мимохожий Однако
 
29.09.11
09:10
Табличную часть документа можно выгрузить в массив, а массив загрузить в таблицу значений, а таблицу значений отобразить на форме в табличном документе.
6 Начинающий Программер
 
29.09.11
09:11
Попробовал так:

Док = Документы.РегистрацияРазовыхНачисленийРаботниковОрганизаций.НайтиПоНомеру("00000000003", Дата("2010", "12", "31"));
   ТЗДок = Док.ОсновныеНачисления.Выгрузить();
   ЭлементыФормы.ТЗ.Загрузить(ТЗДок);

Но ругается, что Метод объекта не обнаружен (Загрузить).

И ещё - почему-то в отладчике по shift F9 переменная ТЗДок определяется, как таблица значений, но данных в ней нет.
7 unregistered
 
29.09.11
09:12
МояТЗ = ДокументОбъект.ТабличнаяЧастьДокумента.Выгрузить();
ЭлементыФормы.ТабличноеПоле.СоздатьКолонки();
8 and2
 
29.09.11
09:12
ТЗ= Док.ОсновныеНачисления.Выгрузить();
ТЗ.СоздатьКолонки();
ТЗ.ОбновитьСтроки();
9 unregistered
 
29.09.11
09:13
*(7) Естественно в качестве данных у элемента формы ТабличноеПоле должно быть указано МояТЗ.
10 Начинающий Программер
 
29.09.11
09:15
(7), (8) Спасибо, получилось. Не прочитал про метод СоздатьКолонки(), думал, это просто метод для "расчерчивания" таблицы значений:-)
11 Поручик
 
29.09.11
09:16
(4) Пример не предлагать:

ТаблицаДанных = Док.ОсновныеНачисления.Выгрузить(); //Получаем виртуальную таблицу;
ЭлементыФормы.ТабличноеПоле1.Значение = ТаблицаДанных;
ЭлементыФормы.ТабличноеПоле1.СоздатьКолонки();