Что такое построитель отчета в 1С?

Восьмая версия платформы 1С предлагает достаточно много новых объектов конфигурации, каждый из которых обладает своими методами и свойствами, позволяющими упростить процесс разработки приложений и оптимизировать производительность. Один из них – построитель отчетов.

О том, что такое построитель отчета в 1с, какие функции он выполняет, и какое применение он нашел в программировании, и хотелось бы поговорить в этой статье.

Построитель отчета в 1С – что это?

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

  1. Таблица значений;
  2. Результат выполнения запроса;
  3. Область ячеек табличного документа;
  4. Табличная часть документа или справочника;
  5. Набор записей регистра.

Кроме этого построитель отчета в 1С имеет реквизит «Текст» в который может передаваться текст запроса, результат которого надо посмотреть.

На Рис.1 представлен участок кода, который позволяет с помощью «Построителя отчета» вывести на экран произвольную таблицу значений

Рис.1

Таким образом, очевидным вариантом использования построителя является проектирование отчетов. Не таким явным направлением использования построителя является его использование для настройки пользователем различных элементов запроса (группировок, отборов и т.д.).

Кстати, результат выполнения кода, указанного на Рис.1 можно увидеть на Рис.2

Рис.2

Настройка построителя

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

Как и СКД построитель включает:

  • Группировки (уровни иерархии при выводе информации);
  • Показатели (значения, по которым необходимо получить итог);
  • Дополнительные рассчитываемые поля (реквизиты элементов, результаты действий со значениями);
  • Фильтры (отборы);
  • Сортировки.

Настройки макета оформления построителя предполагают различные уровни и точности детализации.

Алгоритм использования построителя

Естественно, в зависимости от ситуации, код программы использования построителя отчета может серьезно различаться. Основной алгоритм использования не меняется:

  1. Объявляем создание нового объекта типа ПостроительОтчета;
  2. На этом этапе можно либо использовать ПостроительЗапроса для создания текста выборки, либо, используя объект ОписаниеИсточникаДанных воспользоваться существующей выборкой;
  3. Настройки построителя отчета можно задать, используя метод объекта построителя ЗаполнитьНастройки();
  4. Отказаться от использования стандартного макета оформления, создающегося методом автогенерации, можно определив свойство объекта Макет у построителя;
  5. Если не используется ОписаниеИсточникаДанных, на этом этапе необходимо выполнить запрос, используем метод Выполнить();
  6. Последним этапом является запуск метода Вывести(), вывод можно осуществить в табличный документ, или в соответствующий элемент формы.

Использование расшифровки в построителе

Третья строчка на Рис.1 включает расшифровку ячеек результата выполнения построителя.

Для этого мы воспользовались свойством ЗаполнениеРасшифровки. Тип этого свойства – ВидЗаполненияРасшифровкиПостроителяОтчета, оно может принимать одно из трех значений:

  1. ЗначенияГруппировок – при активизации ячейки будет использоваться значение указанной в ней группировки;
  2. НеЗаполнять – значение по умолчанию, означающее, что для конечного результата расшифровка использоваться не будет;
  3. Расшифровка – структура расшифровки будет заполнена значениями всех группировок исходной выборки.

Кроме этого пользователь имеет возможность самостоятельно задать расшифровку, используя метод НастроитьРасшифровку(). Участок кода, запускающий этот метод представлен на Рис.3

Рис.3

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

Немного практической части. Иногда случается ситуация, когда необходимо создать отчет с некоторыми отборами. Решить эту задачу можно и с использованием СКД, а можно воспользоваться построителем:

  1. Начнем с создания внешнего отчета и добавление в него реквизита с произвольным именем и типизацией ПостроительОтчета (Рис.4);

Рис.4

  1. Создаем форму отчета и размещаем на ней интерфейсный объект ТабличноеПоле, типизируем его как Отбор и связываем со свойством Отбор созданного реквизита Рис.5

Рис.5

  1. Создаем процедуру ПриОткрытии(), связанную с соответствующем событием нашей формы;

Рис.6

  1. Код, прописанный в ней обязательно должен содержать запрос построителя отчета, пример кода приведен на Рис.6, для создания текста построителя можно воспользоваться конструктором запроса, в конструкторе условия построителя и дополнительные его настройки указываются на соответствующей закладке Рис.7;

Рис.7

  1. Условия отбора, прописанные в фигурных {} скобках текста запроса будут исполняться только в случае если соответствующий отбор активирован и использован пользователем;

  2. Процедура, выводящая результат построителя представлена на Рис.8 и связана с нажатием на кнопку Сформировать;

Рис.8

  1.   Сохраняем наш отчет.

Внешний вид созданного нами отчета  и его результат показан на Рис.9

Рис.9

Безусловно, в пределах одной статьи достаточно сложно продемонстрировать все возможности нового объекта, но получить о нем представление и начать его использовать с учетом полученных знаний, нам кажется, можно.


Добавить комментарий

Ваш e-mail не будет опубликован.

*

code


«Яндекс» окружает: от «Яндекс.Станции» к смартфонам и умному дому
«Яндекс» регистрирует два новых устройства – «Яндекс.Телефон» и «Яндекс.Модуль». Как будут развиваться стартапы и стоит ли ожидать пополнения семейства умных ...
Вдохнуть вторую жизнь: технологию Fan ID распространят на другие мероприятия
Президент РФ Владимир Путин заявил о целесообразности использования опыта Fan ID, полученного во время ЧМ-2018, на всех крупных культурно-спортивных и ...
Время пришло: сдаем декларацию 6-НДФЛ, не за горами блокировка расчетных счетов
Пока сотрудники ФНС принимают отчеты по форме 6-НДФЛ за первое полугодие, Госдума одобрила блокировку расчетных счетов для уклоняющихся от сдачи ...
Минкомсвязь: льготы по страховым взносам для ИТ-компаний доказали свою эффективность
Минкомсвязь признало эффективной программу льгот по страховым взносам для ИТ-компаний. Общая база для начисления страховых взносов за 2011-2016 годы увеличилась ...
А. Конашенков: «После каждой конференции я привожу исписанный блокнот с новыми идеями»
Накануне INFOSTART EVENT 2018 мы выяснили, что среди участников есть настоящие завсегдатаи, которые из года в год посещают наши мероприятия ...
Работа с данными выбора
В управляемом интерфейсе заложена мощная возможность описывать связи реквизитов формы через параметры. Установка параметров связей позволяет ограничить выбор данных так, ...
Двойная биометрия: банки будут проверять данные россиян по два раза
Разработчики из компании VisionLabs заявили, что вся информация будет проходить двойную проверку до и после фотографирования. Также стало известно, что ...
Крупнейшему производителю меди придумают ИТ-платформу для контроля за производством
«Русской медной компании» (РМК) создадут софт для мониторинга производственной деятельности своих предприятий путем внедрения специального софта ...
Производитель авиаракет заплатит 12,2 млн рублей за перенос своих процессов на 1С
Входящее в состав госкорпорации «Ростех» НПО «Сплав» объявило тендер на выполнение работ по переводу своей системы управления персоналом, алгоритмов и ...
Жажда контроля: Минфин тоже хочет собирать информацию о россиянах
Экспертный совет раскритиковал проект Минфина по созданию реестра с юридически значимой информацией о гражданах РФ ...
Люди vs роботы: выгодный союз или жесткая конкуренция?
Искусственный интеллект проникает во многие сферы жизни человека. А как роботизация может повлиять на число рабочих мест, свободных для людей? ...
Распознавание лиц (off-line). Демонстрационная база
Распознавание лиц входит в нашу жизнь стремительными темпами, бизнес стремиться за событиями. В публикации находится описание и пример использования нейросетей ...
NotificationServer - Сервер оповещений
Механизм передачи текстовых сообщений, в режиме реального времени, между сеансами 1С(клиент, сервер, а также сеансами в разных информационных базах) и ...
Один за всех: как Единый портал госуслуг набирает новую аудиторию
Единый портал госуслуг отчитался о результатах работы за первое полугодие 2018 года. Количество пользователей растет, новые сервисы появляются, но что ...