Система компоновки данных

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

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

Срез последних на каждую дату в СКД

С задачей получения среза последних на каждую дату рано или поздно сталкиваются все. Безусловно, это задача достаточно просто решается запросом с соединением по максимальной дате из меньших или равных дат. Но эту же задачу можно решить и с помощью компоновки данных. Не будем рассуждать о том, какой из способов более производителен, все может зависеть от конкретной задачи.

Внешние функции – программное подключение

При программном запуске отчета (например, с другой схемой компоновки) могут не работать внешние функции. По простой причине – возможность их подключения надо явно указать . ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных,,Истина);ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ВнешниеНаборыДанных,,Истина); Синтаксис:Инициализировать(, , , )…

Использование стандартных периодов

Для удобства работы с параметрами типа дата, в системе компоновки данных существует возможность использовать Стандартные периоды. Как же их использовать? Мы имеем отчет, в котором 2 параметра: Начало периода и Конец периода. Добавим в параметры третий параметр, назовем его Стандартный…

Параметр – список значений с пустым значением

Нашёл такие грабли – когда делаешь параметр списком значений, СКД зачем-то сама в этот список вставляет строку с пустым значением.Я этот параметр передаю в запрос, и если тип параметра является иерархическим справочником, это пустое значение похоже отбирает любого родителя в…

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

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

Программный вывод отчета

Несмотря на то, изучающие СКД встречаются с этим на первый или второй день, это должно быть в разделе FAQ. Простой пример программного вывода отчета на компоновке, использующий настройки по умолчанию. //Получаем схему из макета СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); //Из схемы возьмем…

Пример использования внешнего набора данных

Для использования в схеме компоновки данных внешнего набора данных сначала необходимо создать набор данных объект, и указать имя объекта, содержащего данные: Далее необходимо программно выполнить формирование отчета, заполнив внешний набор данных: ВнешниеНаборыДанных = Новый Структура; ВнешниеНаборыДанных.Вставить("ТЗ", ТЗ);   СхемаКомпоновкиДанных =…

В отчет не попадают данные за последний день…

Пользователь выбрал период формирования отчета с 1июля по 31. Почему при формировании отчета в него не попадают данные за 31 число? На самом деле, это одна из самых распространенных ошибок при разработке отчетов. В 1С 8.х дата содержит время с…