powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / [игнор отключен] [закрыт для гостей] / Создание отчета с динамическими столбцами
3 сообщений из 3, страница 1 из 1
Создание отчета с динамическими столбцами
    #35835084
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Опять новичковский вопрос .. но . .. подскажите мануал ???????

Пишу с нуля (без конструктора отчета) создал макет, форму запуска с параметрами..
Отчет рабочий все выводится ... но есно не так как надо ... вкратце результат запроса - строки
Код, контрагент, сумма

Необходимо получить шахматку - т.е. по горизонтали -код, по вертикали контрагент, на пересечении сумма.

Подскажите какие функции и настройки в макете надо сделать чтоб получить шахматку...
З.Ы. вопрос - не напишите готовое решение, а подскажите какими функциями/объектами пользоваться, и если есть где про это написано - хотя бы в примитивном примере ??????


Код: plaintext
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.
ТабДокумент = Новый ТабличныйДокумент;
Макет = ПолучитьМакет("Макет");
ОбластьМакетаЗаголовок = Макет.ПолучитьОбласть("Заголовок");
ОбластьМакетаЗаголовок.Параметры.ДатаДокумента = ЭтаФорма.ЭлементыФормы.ДатаОтчета.Значение; 
ТабДокумент.Вывести(ОбластьМакетаЗаголовок);


 ОбластьМакетаТаблица = Макет.ПолучитьОбласть("Таблица");
 Запрос = Новый Запрос ("ВЫБРАТЬ
 |	УправленческийОстаткиИОбороты.Субконто1,
 |	УправленческийОстаткиИОбороты.Субконто2,
 |	УправленческийОстаткиИОбороты.СуммаКонечныйОстатокКт
 |ИЗ
 |	РегистрБухгалтерии.Управленческий.ОстаткиИОбороты(&НачПер, &КонПер) КАК УправленческийОстаткиИОбороты
 |ГДЕ
 |  УправленческийОстаткиИОбороты.Счет.Код = &Счет");
 Запрос.УстановитьПараметр("НачПер",ЭтаФорма.ЭлементыФормы.ДатаОтчета.Значение);//ТекущаяДата()	
 Запрос.УстановитьПараметр("КонПер",ЭтаФорма.ЭлементыФормы.ДатаОтчета.Значение);		
 Запрос.УстановитьПараметр("Счет","501.14");
 
 ТаблицаЗначений = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.Прямой);
 
Пока ТаблицаЗначений.Следующий() Цикл
  ОбластьМакетаТаблица.Параметры.НаименованиеЭКР = ТаблицаЗначений.Получить( 0 ).РасшифровкаНаименования;
  ОбластьМакетаТаблица.Параметры.НаименованиеТО = ТаблицаЗначений.Получить( 1 ).Наименование;
  ОбластьМакетаТаблица.Параметры.Сумма = ТаблицаЗначений.Получить( 2 );	 
  ТабДокумент.Вывести(ОбластьМакетаТаблица);
 КонецЦикла;



ТабДокумент.ОтображатьСетку = Ложь;
ТабДокумент.Защита = Ложь;
ТабДокумент.ТолькоПросмотр = Ложь;
ТабДокумент.ОтображатьЗаголовки = Ложь;
ТабДокумент.Показать();
...
Рейтинг: 0 / 0
Создание отчета с динамическими столбцами
    #35835207
Егорище85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТабличныйДокумент (SpreadsheetDocument)
Присоединить (Join)
Синтаксис:
Присоединить(<Таблица>, <Уровень>, <Имя группы>, <Открыта>)
Параметры:
<Таблица> (обязательный)
Тип: ТабличныйДокумент, ПолеТабличногоДокумента. Выводимая таблица.
<Уровень> (необязательный)
Тип: Число. Уровень используется для автоматической группировки колонок табличного документа. Соседние колонки с одинаковым уровнем будут отнесены к одной группе.
<Имя группы> (необязательный)
Тип: Строка. Название группы, к которой относятся выводимые колонки.
<Открыта> (необязательный)
Тип: Булево. Истина - выведенная группа будет открыта,
Ложь - группа будет выведена в свернутом виде.
Возвращаемое значение:
Тип: ОбластьЯчеекТабличногоДокумента. Область, в которую был осуществлен вывод.
Описание:
Присоединяет табличный документ к результирующему табличному документу, помещая его в следующей колонке правее самой правой выведенной колонки, начиная со строки, с которой выводился предыдущий табличный документ.
Пример:
ТабДок = Новый ТабличныйДокумент;
Секция = ТабДок.ПолучитьОбласть("R1C1");
ТабДок.НачатьАвтогруппировкуКолонок();
Секция.Область("R1C1").Текст = "Параметр";
ТабДок.Вывести(Секция,1,"Группа 1",Ложь);
Для К=1 По 10 Цикл
Секция = ТабДок.ПолучитьОбласть("R1C1");
Секция.Область().Текст = "А"+К;
Секция.Область().ГоризонтальноеПоложение = ГоризонтальноеПоложение.Право;
ТабДок.Присоединить(Секция,2,"Группа 2",Истина);
КонецЦикла;
Секция.Область("R1C1").Текст = "Итого:";
ТабДок.Присоединить(Секция,1,"Группа 2",Ложь);
Секция.Область("R1C1").Текст = "Значение";
ТабДок.Вывести(Секция,1,"Группа 2",Ложь);
Цена = 10; Итог = Цена;
Для К=1 По 10 Цикл
Секция = ТабДок.ПолучитьОбласть("R1C1");
Секция.Область().Текст = Цена;
ТабДок.Присоединить(Секция,2,"Группа 2",Истина);
Цена = Цена + 10;
Итог = Итог + Цена;
КонецЦикла;
Секция.Область("R1C1").Текст = Итог;
ТабДок.Присоединить(Секция,1,"Группа 2",Ложь);
ТабДок.ЗакончитьАвтогруппировкуКолонок();
ТабДок.ИтогиСправа = Истина;
ТабДок.ОтображатьСетку = Ложь;
ТабДок.Защита = Ложь;
ТабДок.ТолькоПросмотр = Истина;
ТабДок.Показать("Пример использования гор. автогруппировки");
См. также:
ТабличныйДокумент, метод Вывести
...
Рейтинг: 0 / 0
Создание отчета с динамическими столбцами
    #35835405
Фотография Masygreen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Оличный рабочий пример .. Егорище85 огромное спасибо .. до остального надеюсь додумаюсь :)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Создание отчета с динамическими столбцами
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]