Форум программистов, компьютерный форум, киберфорум
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.66/62: Рейтинг темы: голосов - 62, средняя оценка - 4.66
20 / 21 / 3
Регистрация: 04.09.2011
Сообщений: 185
1

Вывод отчета в поле табличного документа с иерархией

06.11.2011, 15:50. Просмотров 12229. Ответов 2
Метки нет (Все метки)

Здравствуйте, стоит задача сделать отчет, который должен выводиться в поле табличного документа.
Каким образом вывести данный отчет так, чтобы он сворачивался по первой колонке "Триста"(должен быть + разворачивающий все остальные детальные записи). В консоле запросов я так сделать могу(если выбрать способ выгрузки "дерево"). Вот сам код

1C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
Процедура КнопкаСформироватьНажатие(Кнопка)
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |   ВЫБОР
    |       КОГДА ХозрасчетныйОстатки.СуммаОстаток > 300000
    |           ТОГДА ""Более трехсот""
    |       ИНАЧЕ ""Менее трехсот""
    |   КОНЕЦ КАК Поле1,
    |   ХозрасчетныйОстатки.Субконто1,
    |   СУММА(ХозрасчетныйОстатки.СуммаОстаток) КАК СуммаОстаток
    |ИЗ
    |   РегистрБухгалтерии.Хозрасчетный.Остатки КАК ХозрасчетныйОстатки
    |
    |СГРУППИРОВАТЬ ПО
    |   ХозрасчетныйОстатки.Субконто1,
    |   ВЫБОР
    |       КОГДА ХозрасчетныйОстатки.СуммаОстаток > 300000
    |           ТОГДА ""Более трехсот""
    |       ИНАЧЕ ""Менее трехсот""
    |   КОНЕЦ
    |
    |УПОРЯДОЧИТЬ ПО
    |   Поле1
    |ИТОГИ
    |   СУММА(СуммаОстаток)
    |ПО
    |   Поле1";
    
    ЭлементыФормы.ДокументРезультат.Очистить();
    
    Макет = ПолучитьМакет("Анализ");
    
    ЗаголовокОтчета = Макет.ПолучитьОбласть("ЗаголовокОтчета");
    
    ЭлементыФормы.ДокументРезультат.Вывести(ЗаголовокОтчета);
    
    //ЭлементыФормы.ДокументРезультат.НачатьАвтогруппировкуСтрок();
    
    ОбластьСтрокаСчет = Макет.ПолучитьОбласть("Строка");
    
    ЭлементыФормы.ДокументРезультат.НачатьАвтогруппировкуСтрок();
    
    Результат = Запрос.Выполнить();
    ВыборкаПоТриста = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией,"Поле1");
    Пока ВыборкаПоТриста.Следующий() Цикл
        ВыборкаПоКонтрагентам = ВыборкаПоТриста.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
            Пока ВыборкаПоКонтрагентам.Следующий() Цикл
                ОбластьСтрокаСчет.Параметры.Триста = ВыборкаПоКонтрагентам.Поле1;
                ОбластьСтрокаСчет.Параметры.Контрагент = ВыборкаПоКонтрагентам.Субконто1;
                ОбластьСтрокаСчет.Параметры.СуммаОстаток = ВыборкаПоКонтрагентам.СуммаОстаток;
                ЭлементыФормы.ДокументРезультат.Вывести(ОбластьСтрокаСчет);
            КонецЦикла;
 
    КонецЦикла;
    
    ЭлементыФормы.ДокументРезультат.ЗакончитьАвтогруппировкуСтрок();
    
КонецПроцедуры
Вот скриншоты:

Как должно.jpg
Не правильно(То есть как у меня) - Не правильно.jpg
0
Миниатюры
Вывод отчета в поле табличного документа с иерархией   Вывод отчета в поле табличного документа с иерархией  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.11.2011, 15:50
Ответы с готовыми решениями:

Поле табличного документа
В поле табличного документа загружаю файл Excel. Делее нужно выбирать нужные ячейки из нужных...

Поле табличного документа
Помогите заполнить отчет через поде табличного документа. Как заполнять строки по наименованию...

Печать табличного документа
Здравствуйте. Существует табличный документ, состоящий из 2-ух страниц. Как програмно реализовать...

Группировки строк табличного документа 1c 8.1
Необходимо сделать группировку строк в табличном документе. Чтобы можно было пользователю...

2
133 / 133 / 42
Регистрация: 02.11.2010
Сообщений: 316
06.11.2011, 20:53 2
Используй для вывода корня
SQL
1
ЭлементыФормы.ДокументРезультат.Вывести(ОбластьСтрокаСчет, 1, "Поле1", Истина);
и
SQL
1
ЭлементыФормы.ДокументРезультат.Вывести(ОбластьСтрокаСчет, 2);
для вывода подчиненных элементов внутри твоих циклов.
1
20 / 21 / 3
Регистрация: 04.09.2011
Сообщений: 185
08.11.2011, 16:51  [ТС] 3
Честно говоря решил проблему через построитель, все равно спасибо - другим пригодиться
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.11.2011, 16:51

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Формирование табличного документа из макета
Осваиваю печать в табличный док-т. Почитал в толстой книжке: Область.Параметры.Клиент_Адрес =...

Заполнение параметров табличного документа
Добрый день. Есть такая проблемка. Есть документ "Анкета", регистр сведений "данные анкеты", ПВХ...

Формат ячейки табличного документа
Всем доброго времени суток! Есть такая ситуация: Формируется некий отчет, данные которого...

Вывод запроса с иерархией
Здраствуйте, у меня вопрос. У меня есть запрос: Запрос.Текст = "ВЫБРАТЬ | ЕПСБУОстатки.Счет...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.