|   |   | 
| 
 | Как заполнить табличное поле данными запроса? | ☑ | ||
|---|---|---|---|---|
| 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 | 
        Огромное спасибо! Вот рабочий код
 Если ЗначениеЗаполнено(Результат) Тогда Форма = ЭтотОбъект.ПолучитьФорму("ТабличноеПоле"); Форма.ТабличноеПолеДокументов= ТаблицаДляЗагрузки; Форма.ЭлементыФормы.ТабличноеПолеДокументов.СоздатьКолонки(); Форма.Открыть(); КонецЕсли; | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |