Посты с тэгами "Процессор вывода"

Индикатор в строке состояния с помощью СКД

Ваш отзывFavoriteLoadingВ закладки

Иногда хочется видеть подобие индикатора, но в строке состояния. Это можно сделать только с помощью СКД, и то есть небольшой минус: невозможно убрать или изменить надпись “Вывод отчета”. Сделать это можно примерно следующим образом:

ПроцессорКомпоновки = Новый ПроцессорВыводаРезультатаКомпоновкиДанных
ВТабличныйДокумент;
ПроцессорКомпоновки.ОтображатьПроцентВывода = Истина ;
ЭлементКомпоновки = Новый ЭлементРезультатаКомпоновкиДанных;

ПроцессорКомпоновки.НачатьВывод();
//Считаем проценты по своему алгоритму, для примера:
Для Сч = 1 По 100 Цикл
   ЭлементКомпоновки.ПроцентВывода = Сч;
   ПроцессорКомпоновки.ВывестиЭлемент(ЭлементКомпоновки);
КонецЦикла;
ПроцессорКомпоновки.ЗакончитьВывод();
Иногда хочется видеть подобие индикатора, но в строке состояния. Это можно сделать только с помощью СКД, и то есть небольшой минус: невозможно убрать или изменить надпись “Вывод отчета”. Сделать это можно примерно следующим образом: ПроцессорКомпоновки = Новый ПроцессорВыводаРезультатаКомпоновкиДанных ВТабличныйДокумент; ПроцессорКомпоновки.ОтображатьПроцентВывода = Истина ; ЭлементКомпоновки = Новый ЭлементРезультатаКомпоновкиДанных; ПроцессорКомпоновки.НачатьВывод(); //Считаем проценты по своему алгоритму, для примера: Для Сч = 1 По 100 Цикл ЭлементКомпоновки.ПроцентВывода = Сч; ПроцессорКомпоновки.ВывестиЭлемент(ЭлементКомпоновки); КонецЦикла; ПроцессорКомпоновки.ЗакончитьВывод(); Перейти к...

Далее

Фиксация шапки в СКД

Отзывов (7)FavoriteLoadingВ закладки

Для того, чтобы зафиксировать шапку в скд, необходимо обрабатывать табличный документ.  В инструментах скд этот механизм отсутствует.

Код вывода с фиксацией шапки:

Результат = ЭлементыФормы.Результат;
Результат.Очистить();

ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанных
                                                   ВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(Результат);

ПроцессорВывода.НачатьВывод();

ТаблицаЗафиксирована = Ложь;
Пока Истина Цикл
    ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
    Если ЭлементРезультата= Неопределено Тогда
        Прервать;
    Иначе
        ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
        Если Не ТаблицаЗафиксирована
        И ЭлементРезультата.ЗначенияПараметров.Количество() >  0 Тогда

            ТаблицаЗафиксирована = Истина;
            Результат.ФиксацияСверху = Результат.ВысотаТаблицы - 1;

        КонецЕсли;
    КонецЕсли;
КонецЦикла;

ПроцессорВывода.ЗакончитьВывод();

Для того, чтобы зафиксировать колонку по горизонтали, можно просто выполнить следующее:

Результат.ФиксацияСлева = 1;

UPD В 1с 8.2 в отчете у модуля объекта появился метод ПриКомпоновкеРезультата(), у которого есть параметр ДокументРезультат – табдок, который генерирует СКД.
По сути в модуле объекта можно прописать следующее:

Для того, чтобы зафиксировать шапку в скд, необходимо обрабатывать табличный документ.  В инструментах скд этот механизм отсутствует. Код вывода с фиксацией шапки: Результат = ЭлементыФормы.Результат; Результат.Очистить(); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанных ВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(Результат); ПроцессорВывода.НачатьВывод(); ТаблицаЗафиксирована = Ложь; Пока Истина Цикл ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий(); Если ЭлементРезультата= Неопределено Тогда Прервать; Иначе ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата); Если Не ТаблицаЗафиксирована И ЭлементРезультата.ЗначенияПараметров.Количество() > 0 Тогда ТаблицаЗафиксирована = Истина; Результат.ФиксацияСверху = Результат.ВысотаТаблицы - 1; КонецЕсли; КонецЕсли; КонецЦикла; ПроцессорВывода.ЗакончитьВывод(); Для того, чтобы зафиксировать колонку по горизонтали, можно просто выполнить следующее: Результат.ФиксацияСлева = 1; UPD В 1с 8.2 в отчете у модуля объекта появился метод ПриКомпоновкеРезультата(), у которого есть параметр ДокументРезультат – табдок, который генерирует СКД. По сути в модуле объекта можно прописать следующее:...

Далее

Установка заголовка отчета программно

1 отзывFavoriteLoadingВ закладки

Иногда в качестве заголовка отчета требуется задать что-нибудь сложное, вроде:
“Отчет за период с ” + ДатаНачала + по ” + ДатаКонца

Задать его таким образом в настройках не получится. Придется сделать это программно следующим образом:

ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыВывода.
НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Title"));

ЗначениеПараметра.Значение="Отчет за период с "+ДатаНачала+" по "+ДатаКонца;
ЗначениеПараметра.Использование = Истина;
Иногда в качестве заголовка отчета требуется задать что-нибудь сложное, вроде: “Отчет за период с ” + ДатаНачала + “ по ” + ДатаКонца Задать его таким образом в настройках не получится. Придется сделать это программно следующим образом: ЗначениеПараметра = КомпоновщикНастроек.Настройки.ПараметрыВывода. НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("Title")); ЗначениеПараметра.Значение="Отчет за период с "+ДатаНачала+" по "+ДатаКонца; ЗначениеПараметра.Использование = Истина; Перейти к...

Далее

Вывод отчета в коллекцию значений

Отзывов (4)FavoriteLoadingВ закладки

В системе компоновки данных существует возможность выводить отчет не только в табличный документ, но и в коллекции значений (таблица значений, дерево значений).
Для вывода отчета в коллекцию предназначен объект ПроцессорВыводаРезультатаКомпоновкиВКоллекциюЗначений.

В системе компоновки данных существует возможность выводить отчет не только в табличный документ, но и в коллекции значений (таблица значений, дерево значений). Для вывода отчета в коллекцию предназначен объект ПроцессорВыводаРезультатаКомпоновкиВКоллекциюЗначений. Пример вывода отчета в дерево значений: КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанных ВКоллекциюЗначений; ДеревоЗначений = Новый ДеревоЗначений; ПроцессорВывода.УстановитьОбъект(ДеревоЗначений); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); В данном примере результат вывода помещается в переменную ДеревоЗначений. Работа с выводом в таблицу значений аналогична. Стоит отметить, что при выводе результата компоновки в коллекцию значений существует несколько ограничений: В настройках нельзя использовать таблицы, диаграммы и вложенные схемы; Не используется условное оформление; Игнорируются папки в выбранных полях....

Далее

Устройство системы компоновки данных

Отзывов (6)FavoriteLoadingВ закладки

В данной статье мы попробуем объяснить устройство системы компоновки данных понятным языком.

Фактически, формирование отчета средствами СКД разбито на несколько этапов. Причем нужно понимать, что разработчик может внести свои изменения во время любого из этапов.

В данной статье мы попробуем объяснить устройство системы компоновки данных понятным языком. Фактически, формирование отчета средствами СКД разбито на несколько этапов. Причем нужно понимать, что разработчик может внести свои изменения во время любого из этапов. По сути, формирование отчета это всего лишь два “глобальных” этапа:  сама компоновка данных, согласно схемы, и вывод результата пользователю. На самом деле объектов компоновки немного больше чем два. Для того чтобы скомпоновать данные в СКД существуют объекты: Компоновщик макета и Процессор компоновки данных. Рассмотрим принцип их работы.  Компоновщик макета на основании схемы компоновки данных и настроек компоновки данных формирует макет компоновки данных: Теперь наш сформированный макет необходимо заполнить данными. Именно эту функцию и выполняет Процессор компоновки данных. Процессор формирует результат компоновки. Также покажем это графически: Далее результат компоновки обрабатывается Процессором вывода, который выводит результат компоновки данных в один из следующих форматов: Табличный документ; Таблица значений; Дерево значений. Таким образом, мы познакомились со структурой системы компоновки данных, основными её элементами. Более подробное изучение работы данных объектов в дальнейших статьях цикла “Первые шаги”....

Далее

Авторизация

Логин:
Пароль:
Регистрация

Архивы

Закладки

  • Your favorites will be here.