Что такое построитель отчета в 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

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



Расширение для обмена между "1С:Зарплата и управление персоналом 3.1" и "1С:Бухгалтерия предприятия 2.0"
Продукт предназначен для обмена между "1С:Зарплата и управление персоналом 3.1" и "1С:Бухгалтерия предприятия 2.0". Данное решение является расширением для конфигурации ...
Регистрация телефонных звонков (CRM)
IT-Решение: Регистрация телефонных звонков (CRM) позволяет вести автоматический учет телефонных звонков. С помощью нее у пользователя есть возможность определить звонящего ...
Google открыла доступ к трехмерной библиотеке геоданных
Google выложила в открытый доступ библиотеку, на которой построена мировая географическая база данных компании ...
Ознакомительная версия «1С:Библиотеки интеграции с МДЛП»
Фирма «1С» выпустила ознакомительную версию «1С:Библиотеки интеграции с МДЛП», которая предоставляет набор механизмов для обмена данными с системой маркировки ФГИС ...
Стартовал второй международный конкурс  «1С:Проект года»
Фирма «1С» начала принимать заявки на второй международный конкурс лучших проектов автоматизации и учета «1С:Проект года» для проектов, реализованных в ...
Google закрывает раздел с приложениями для Chrome
О намерении убрать браузерные приложения из Chrome для Windows, macOS и Linux компания заявила еще год назад, однако закрыла соответствующий ...
Покупка валюты (без использования счета 57 "Переводы в пути")
Для ведения учета операций с иностранной валютой организация вправе использовать счет 57 "Переводы в пути", но если списание рублей со ...
Новый релиз Управление небольшой фирмой, редакция 1.6
Текущая версия конфигурации "Управление нашей фирмой" предназначена для использования с версией системы 1С:Предприятие 8.3 не ниже 8.3.10.2650. Обновление предназначено для ...
«1С» и АТОЛ выпустили бюджетный комплект для торговли по 54-ФЗ
Фирма «1С» совместно с АТОЛ разработали компактное и эргономичное решение для автоматизации розничной торговли на предприятиях малого и микробизнеса ...
Инфостарт приглашает на Единый семинар «1С» для бухгалтеров и руководителей
20 декабря 2017 года в 100 городах пройдет очередной Единый семинар «1С». В Санкт-Петербурге организатором мероприятия выступит Инфостарт ...
Фирма «1С» выпустила программный продукт «1С:Заказчик-застройщик. Модуль для 1С:ERP»
Модуль предназначен для интеграции в единую информационную систему на базе «1С:ERP Управление предприятием 2» и позволяет покрыть потребности по автоматизации ...
Минфин предлагает ввести уголовную ответственность за расчеты в криптовалютах
Министерство финансов РФ хочет запретить ведение торгового обмена с использованием виртуальных денег любого вида. За это планируют ввести административную и ...
В России введут учет IoT-устройств
Правительство РФ планируют регистрировать все устройства интернета вещей, поскольку в последнее время с их помощью участились случаи хакерских атак на ...
Новый релиз Комплексная автоматизация, редакция 1.1
Текущий релиз конфигурации "Комплексная автоматизация" предназначен для использования с версией системы 1С:Предприятие 8 не ниже 8.2.19.130, а также может использоваться ...
Покупка валюты (без использования счета 57 "Переводы в пути")
Для ведения учета операций с иностранной валютой организация вправе использовать счет 57 "Переводы в пути", но если списание рублей со ...