Имя: Пароль:
1C
1С v8
Заполнение таблицы значений на форме (УТ 11.4)
0 MAPATNK2
 
naïve
28.08.19
13:25
Всем доброго дня. В запросе получила Таблицу значений, теперь хотелось бы её вывести на форму. Но заполнять в цикле не хочу, долго, нудно, тем более колонки постоянно меняются. Видела как то для Управляемых форм функцию на сайте 1С, которая позволяла создавать колонки и заполнять ТЗ, может кто нибудь сталкивался тоже? Помню точно, что там говорилось, что в цикле заполнять не правильно, а правильно вот через эту функцию. Может кто подскажет? Совсем не помню где искать...
1 MAPATNK2
 
naïve
28.08.19
13:28
Может я сама себе напридумывала...
2 JeHer
 
28.08.19
13:30
(0) ТЗ.Загрузить(РезультатЗапроса.Выгрузить());
3 JeHer
 
28.08.19
13:30
Упс, если колонки динамические, то маленько по-другому. Щас покопаюсь в чулане
4 bootini
 
28.08.19
13:32
В обычных формах было,
       Форма.ТабличноеПолеДокументов= ТаблицаДляЗагрузки;
       Форма.ЭлементыФормы.ТабличноеПолеДокументов.СоздатьКолонки();
5 JeHer
 
28.08.19
13:32
&НаСервере
Процедура СформироватьКолонкиТаблицы1(ТаблицаРезультат)
    
    // Удалим колонки таблицы перед обновление
    Таблица = РеквизитФормыВЗначение("ТоварыКОбеспечению");
    МассивРеквизитов = Новый Массив;

    Для Каждого Колонка Из Таблица.Колонки Цикл
        МассивРеквизитов.Добавить("ТоварыКОбеспечению." + Колонка.Имя);      
    КонецЦикла;
    // Вторым параметром передаем то что нужно удалить
    // Первым параметром то что нужно создать
    ИзменитьРеквизиты(,МассивРеквизитов);
    
    // Теперь удаляем таблицу с формы
    ЭлементТаблица = Элементы.Найти("ТоварыКОбеспечению");
    Если ЭлементТаблица <> Неопределено Тогда
        Элементы.Удалить(ЭлементТаблица);      
    КонецЕсли;    
    // И добавляем ее заново
    ЭлементТаблица=Элементы.Добавить("ТоварыКОбеспечению", Тип("ТаблицаФормы"));
    ЭлементТаблица.ПутьКДанным = "ТоварыКОбеспечению";
    ЭлементТаблица.Отображение = ОтображениеТаблицы.Список;  

    // Создаем реквизиты таблицы значений
    МассивРеквизитов.Очистить();
    Для Каждого Колонка ИЗ ТаблицаРезультат.Колонки Цикл
        МассивТипов = Новый Массив;
        МассивТипов.Добавить(Колонка.ТипЗначения);
        НоваяКолонка = Новый РеквизитФормы(Колонка.Имя,
                                Новый ОписаниеТипов(МассивТипов), "ТоварыКОбеспечению");
        МассивРеквизитов.Добавить(НоваяКолонка);
    КонецЦикла;
    // Первый параметр, это то что нужно создать
    ИзменитьРеквизиты(МассивРеквизитов);
    ЗначениеВРеквизитФормы(ТаблицаРезультат, "ТоварыКОбеспечению");
    
    // Создаем на форме элементы управления
    // Т.е. выводим таблицу значений и ее колонки
    ЭлементТЗ = Элементы.ТоварыКОбеспечению;
    Для Каждого Колонка ИЗ ТаблицаРезультат.Колонки Цикл
        НовыйЭлементФормы = Элементы.Добавить("ТоварыКОбеспечению" + Колонка.Имя,
                                                Тип("ПолеФормы"), ЭлементТЗ);
        НовыйЭлементФормы.Вид = ВидПоляФормы.ПолеВвода;
        НовыйЭлементФормы.ПутьКДанным = "ТоварыКОбеспечению." + Колонка.Имя;
    КонецЦикла;
    
КонецПроцедуры


Подойдет, не?
6 MAPATNK2
 
naïve
28.08.19
13:33
(4)это да, а в управляемых что-то новенькое видела
7 bootini
 
28.08.19
13:33
А в управляемых Динамический список есть, куда можно запихать запрос и все будет само выводиться
8 JeHer
 
28.08.19
13:33
(5)+ если запостил чужой код мистянина, прошу прощения
9 MAPATNK2
 
naïve
28.08.19
13:34
(5) Это в цикле обход, но спасибо за пример.
10 MAPATNK2
 
naïve
28.08.19
13:34
(7) Может про это как раз и была статейка.
11 MAPATNK2
 
naïve
28.08.19
13:36
(7) А нет, не то. У меня ТЗ формируется не только из запроса, что то с Excel подгружает, что то из сети. В итоге получаю ТЗ. Вот как то можно было в 2 строки её выводить, когда на форме пустая ТЗ есть.
12 JeHer
 
28.08.19
13:39
(11) "в 2 строки" имеется ввиду расположение на форме? Ну дык, лови строку и ставь её как хочешь.
13 MAPATNK2
 
naïve
28.08.19
13:41
(12) Ничего не поняла. В 2 строки кода можно вывести ТЗ на форму. Вот и копаю, ищу, как.
14 bootini
 
28.08.19
13:44
тут описано, но не в две строчки:
http://catalog.mista.ru/public/960353/
15 MAPATNK2
 
naïve
28.08.19
13:54
(14) Пыталась, ошибка постоянно вылазит

{ВнешняяОбработка.пкм_УниверсальнаяЗагрузкаИзExcel.Форма.РаботасExcel.Форма(65)}: Получение элемента по индексу для значения не определено
    Для каждого Эл Из Элементы[ТабЭлементФормы].ПодчиненныеЭлементы Цикл
16 MAPATNK2
 
naïve
28.08.19
14:58
Пускай уж и не в 2 строчки. А есть ещё какой-нибудь Работающий методы вывода тз на форму? правда с управляемыми формами я не работала раньше, что ни нахожу в интрнете, ничего не работает.