|   |   | 
| 
 | Получить данные в отчёт | ☑ | ||
|---|---|---|---|---|
| 0
    
        ilyayakimets 11.09.19✎ 11:03 | 
        Добрый день!
 Есть форма, на ней программно заполняется таблица значений. Необходимо сделать отчет, который будет вызываться из этой формы по кнопке. Вопрос: Как получить данные таблицы значений из формы для отображения в отчете? | |||
| 1
    
        catena 11.09.19✎ 11:12 | 
        Так же, как заполняется, только получить.     | |||
| 2
    
        ilyayakimets 11.09.19✎ 11:15 | 
        (1) А по-другому никак?     | |||
| 3
    
        catena 11.09.19✎ 11:20 | 
        (2)У вас что конкретно не получается? Обработка заполнения есть? Как там обращаться к таблице можете посмотреть? В синтаксис-помощнике почитать, какие методы есть у таблицы значений?     | |||
| 4
    
        ilyayakimets 11.09.19✎ 11:25 | 
        (3) Просто на данный момент не могу до конца понять, как она формируется. Думал сделать как-то быстрее, например выгрузить нужные колонки в отдельную ТЗ и использовать в отчете.     | |||
| 5
    
        catena 11.09.19✎ 11:27 | 
        (4)Выгружайте нужные колонки в отдельную ТЗ, я разрешаю.     | |||
| 6
    
        ilyayakimets 11.09.19✎ 11:27 | 
        (5) А как потом их в отчет вывести?     | |||
| 7
    
        ilyayakimets 11.09.19✎ 11:30 | 
        (5) Ну то есть, как получить что-то запросом я понимаю, и вывести в отчет. А запросом получить эту ТЗ я ведь не смогу, т.к. она при открытой форме формируется.
 Ну, если я правильно понимаю | |||
| 8
    
        SuperMario 11.09.19✎ 11:35 | 
        (7) кабздец!
 Если я сейчас напишу, что в качестве источника данных для СКД можно использовать Объект ты не поймешь, то это не твоё. | |||
| 9
    
        HardBall 11.09.19✎ 11:38 | 
        Выбрать * из &ТЗ
 Поместить ВТ_ТЗ Запрос.УстановитьПараметр("ТЗ",ТЗ); | |||
| 10
    
        ilyayakimets 11.09.19✎ 12:07 | 
        (9) Ну на самой форме я могу запросом получить, да.
 А что сделать, чтобы мой отчёт смог "увидеть" эту таблицу и в дальнейшем вывести её? Туплю на ровном месте, ткните куда | |||
| 11
    
        hhhh 11.09.19✎ 12:10 | 
        (10) ну, написать в отчете запрос из (9)     | |||
| 12
    
        ilyayakimets 11.09.19✎ 12:21 | 
        (11) Может есть где почитать?
 Вот мой код на форме: МассивОрдеров = Новый ТаблицаЗначений; МассивОрдеров = РаспоряженияНаОтбор.Выгрузить(,"Распоряжение, Состояние, ДатаОтгрузки"); (РаспоряжениеНаОтбор это другая таблица значений) Как правильно написать запрос в отчете к МассивуОрдеров? | |||
| 13
    
        catena 11.09.19✎ 12:23 | 
        Выбрать * из &ТЗ
 Поместить ВТ_ТЗ Запрос.УстановитьПараметр("ТЗ",МассивОрдеров); | |||
| 14
    
        ilyayakimets 11.09.19✎ 12:27 | 
        (13) 
 Ожидается псевдоним запроса <<?>>Поместить ВТ_ТЗ | |||
| 15
    
        SuperMario 11.09.19✎ 12:28 | 
        Взрослые дома есть? Может их попросить , а ты потом посмотришь как дяди пишут запросы.     | |||
| 16
    
        hhhh 11.09.19✎ 12:29 | 
        (14) Выбрать * из &ТЗ КАК ТЗ
 Поместить ВТ_ТЗ | |||
| 17
    
        catena 11.09.19✎ 12:31 | 
        Род занятий:    Программист     | |||
| 18
    
        Мимохожий Однако 11.09.19✎ 12:34 | 
        по правой клавиши мыши выбери запрос с обработкой и в режиме вывода в табличный документ получишь рыбу для вывода отчета.     | |||
| 19
    
        vova1122 11.09.19✎ 12:39 | 
        (0) в гугле -  работа с таблицей значений  
 Первая ссылка | |||
| 20
    
        ilyayakimets 11.09.19✎ 12:55 | 
        Всем спасибо     | |||
| 21
    
        ilyayakimets 12.09.19✎ 10:27 | 
        Снова пытаюсь разобраться, вот таблица. Она находится на форме обработки.
 Мне необходимо создать отчет, вызываемый с этой формы, который бы отобразил 1 в 1 эту таблицу: http://prntscr.com/p52fsw Как это можно сделать, с чего начать? Может есть, где подробнее почитать? Я так понимаю, мне нужно полностью программно создавать отчет? | |||
| 22
    
        catena 12.09.19✎ 10:36 | 
        (21)А вчерашние ответы повторять или они забракованы?     | |||
| 23
    
        HardBall 12.09.19✎ 10:38 | 
        Кури программное формирование отчета на СКД. Набор данных - Объект     | |||
| 24
    
        ilyayakimets 12.09.19✎ 10:44 | 
        (22) Специально написал, что мне нужно сделать. Значит на данный момент отчет ещё никак не формируется. И как мне понять куда вставлять например то, что в (16) ?
 Весь вопрос в том, отчет ведь никак не связан с формой этой, и вот не понимаю как получить данные.. Может быть можно программно отчет напрямую из формы создавать, а не из его модуля. Тогда вопрос - как это сделать? | |||
| 25
    
        ilyayakimets 12.09.19✎ 10:44 | 
        (23) Спасибо     | |||
| 26
    
        ilyayakimets 12.09.19✎ 10:46 | 
        Пытался написать в СКД запрос, где получаю данные из таблицы-параметра, который бы потом на форме, при вызове отчета, заполнялся нужной ТЗ. Но такой запрос не даёт создать..     | |||
| 27
    
        ilyayakimets 12.09.19✎ 10:47 | ||||
| 28
    
        vova1122 12.09.19✎ 10:52 | 
        (26)  что нужно в итоге? скопировать таблицу значений?
 КопияТаб = Таб.ТзОрдеров("ДатаОтгрузки, Распоряжение, Состояние"); | |||
| 29
    
        vova1122 12.09.19✎ 10:53 | 
        (28) Сорри
 КопияТаб = ТзОрдеров.СкопироватьКолонки("ДатаОтгрузки, Распоряжение, Состояние"); | |||
| 30
    
        ilyayakimets 12.09.19✎ 10:55 | 
        (28) Да скопировать то я могу, как мне потом её использовать в отчете, всё никак догнать не могу.
 Вот как у меня вызывается отчет из этой формы на данный момент: ФормаОтчета = ПолучитьФорму("Отчет.ЭО_КоличествоОрдеров.Форма"); //КомпоновщикНастроек = ФормаОтчета.Отчет.КомпоновщикНастроек; //Настройки = КомпоновщикНастроек.Настройки; //ПараметрыДанных = Настройки.ПараметрыДанных.Элементы; //Параметр = ПараметрыДанных.Найти(Новый ПараметрКомпоновкиДанных("ТЗОрдеров")); //Параметр.Значение = РаспоряженияНаОтбор; //Параметр.Использование = Истина; ФормаОтчета.Открыть(); Собственно, где комментарии, пытался подставить параметр, но СКД не дало такой запрос написать. Вот и вопрос, как это сделать.. | |||
| 31
    
        vova1122 12.09.19✎ 11:03 | 
        построитель = Новый ПостроительОтчета;
 Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЗОрдеров); Построитель.Макет = Неопределено; Макет = Построитель.Макет; Область = Макет.Область(); Область.ШиринаКолонки = 10; Построитель.Макет = Макет; Построитель.Выполнить(); Построитель.Вывести(); | |||
| 32
    
        hhhh 12.09.19✎ 11:04 | 
        (30) ну наверно форма отчета тебе не нужна. от слова совсем. Смотри лучше в моддуль объекта отчета, там обычно параметры устанавливаются, при компоновке результата     | |||
| 33
    
        ilyayakimets 12.09.19✎ 11:05 | 
        (31) Это где должно быть?     | |||
| 34
    
        vova1122 12.09.19✎ 11:07 | 
        (33) после того где ты сделал копию Таблицы значений     | |||
| 35
    
        ilyayakimets 12.09.19✎ 11:19 | 
        (34) Ничего не вывело     | |||
| 36
    
        hhhh 12.09.19✎ 11:22 | 
        (35) а что такое ТЗОрдеров? откуда оно берется?     | |||
| 37
    
        vova1122 12.09.19✎ 11:22 | 
        (35) всмысле вывело только заголовки таблицы или вообще ничего? Может не в том месте пишешь? или неправильно написал название таблицы значений (ТЗОрдеров)?     | |||
| 38
    
        ilyayakimets 12.09.19✎ 11:26 | 
        (37) У меня управляемые формы, наверное поэтому 
 (36) ТаблицаЗначений, в которую необходимые колонки скопированы | |||
| 39
    
        ilyayakimets 12.09.19✎ 11:58 | 
        Есть ещё способы программного создания отчета напрямую в форме?     | |||
| 40
    
        hhhh 12.09.19✎ 12:07 | 
        (39) ну без проблем, возьми любую печатную форму
 ТабДок = НОвый ТабличныйДокумент; Макет = ПолучитьМакет(ТакойТО); ОбластьШапка = Макет.ПолучитьОбласть("Шапка"); ОбластьСтрока = Макет.ПолучитьОбласть("Строка"); ТабДок.Вывести(ОбластьШапка); ТабДок.Вывести(ОбластьСтрока); и на клиенте потом ТабДОк.Показать(); | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |