Имя: Пароль:
1C
 
Как заполнить табличное поле данными запроса?
0 NewTesla
 
18.09.15
10:02
Всем привет! Такая задача, надо запустить обработину, у которой две формы, одна из форм содержит Табличное поле, я делаю запрос, и получаю ТаблицуЗначений из результата этого запроса , а вот как мне ее заполнить?) Пишу код

  Результат = Запрос.Выполнить();
  
   ТаблицаДляЗагрузки = Результат.Выгрузить();
  
   ВыборкаЗап = Результат.Выбрать();
  
   Пока ВыборкаЗап.Следующий() Цикл
      
       Сообщить("В выборку попал документ"+ ВыборкаЗап.Ссылка);
      
   КонецЦикла;
  
   Если ЗначениеЗаполнено(Результат) Тогда
      
       Форма = ЭтотОбъект.ПолучитьФорму("ТабличноеПоле");
       Форма.ТабличноеПолеДокументов.ЗаполнитьЗначения(ТаблицаДляЗагрузки);
       Форма.Открыть();
      
   КонецЕсли;
но не заполнет
1 NewTesla
 
18.09.15
10:04
+ у табличного поля ТипЗначения= ТаблицаЗначений
2 lxndr
 
18.09.15
10:04
ТабличноеПолеДокументов = Запрос.Выполнить().Выгрузить()
3 НЕА123
 
18.09.15
10:06
Форма.ТабличноеПолеДокументов = ТаблицаДляЗагрузки;
4 NewTesla
 
18.09.15
10:09
(3) Чето не хочет

   Если ЗначениеЗаполнено(Результат) Тогда
      
       Форма = ЭтотОбъект.ПолучитьФорму("ТабличноеПоле");
       Форма.ТабличноеПолеДокументов = ТаблицаДляЗагрузки;
       Форма.Открыть();
      
   КонецЕсли;

Дело в том что я вызываю обработку программно при начале запуска программы
5 NewTesla
 
18.09.15
10:09
+ эта процедура записана в модуле обработки и сама она сделана Экспортной
6 Molinor
 
18.09.15
10:15
ЭлементыФормы
7 NewTesla
 
18.09.15
10:17
(6) Всмысле? Надо прописать Форма.ЭлементыФормы.ТабличноеПолеДокументов = ТаблицаДляЗагрузки; ? так?
8 bootini
 
18.09.15
10:29
(7) Так тем более не будет работать.

Колонки у Табполя есть?
Названия колонак соответствуют названиям из ТаблицаДляЗагрузки?
9 aleks_default
 
18.09.15
10:32
Если я правильно помню для обычных форм было что-то типа такого:
Форма = ЭтотОбъект.ПолучитьФорму("ТабличноеПоле");
       Форма.ТабличноеПолеДокументов.Значение = ТаблицаДляЗагрузки;
Форма.ТабличноеПолеДокументов.СоздатьКолонки;

       Форма.Открыть();
10 bootini
 
18.09.15
10:41
(9) Так должно быть если колонок у табполя нет:

Форма.ТабличноеПолеДокументов = ТаблицаДляЗагрузки;
Форма.ЭлементыФормы.ТабличноеПолеДокументов.СоздатьКолонки();
11 Molinor
 
18.09.15
10:41
(8)
Чего это? Всё будет.

        Форма = ЭтотОбъект.ПолучитьФорму("Форма1");
      
        Запрос = Новый Запрос;
        Запрос.Текст = "ВЫБРАТЬ
        |    Контрагенты.Ссылка,
        |    Контрагенты.Наименование
        |ИЗ
        |    Справочник.Контрагенты КАК Контрагенты";
                      
        Выгрузка = Запрос.Выполнить().Выгрузить();
      
        Форма.ЭлементыФОрмы.ТабличноеПоле1.Значение = Выгрузка.Скопировать();
        Форма.Открыть();
12 Molinor
 
18.09.15
10:42
Ну если колонок нет, то тут другой разговор, но в (0) об этом ни слова.
13 NewTesla
 
18.09.15
11:26
(12) Колонок нет) Я дкмал тк ТипЗначения = Таблица Значений, то автоматом должно загружаться)
14 NewTesla
 
18.09.15
11:54
Огромное спасибо! Вот рабочий код

  
   Если ЗначениеЗаполнено(Результат) Тогда
      
       Форма = ЭтотОбъект.ПолучитьФорму("ТабличноеПоле");
       Форма.ТабличноеПолеДокументов= ТаблицаДляЗагрузки;
       Форма.ЭлементыФормы.ТабличноеПолеДокументов.СоздатьКолонки();
      
       Форма.Открыть();
      
   КонецЕсли;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан