-

Построитель отчетов в 1С

0
7032
10.11.2020 Ольга Волкова

Содержание:

1.       Применение построителя отчетов

2.       Настройки из текста запроса 1С

3.       Пример разработки отчета 1С 


1.      Применение построителя отчетов

 

Построитель отчетов — это объект, встроенного языка, предназначенный для динамического создания отчета в 1С 8.3 как программными, так и интерактивными средствами. 

 

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

 

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

 

1С Предприятие имеет особые расширения синтаксиса, предназначенные специально для построителя отчетов в 1С. Такие инструкции оформляются в фигурные скобки {...}. При обычном выполнении запроса они будут игнорироваться платформой. Механизм работы скобок прост: вне скобок прописывается текст запроса для построителя, в внутри – запрос для настроек.  

 

2.      Настройки из текста запроса 1С


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


Настройки включают в себя:

·         выбранные поля;

·         доступные поля;

·         измерения колонки;

·         измерения строки;

·         отбор;

·         порядок;

·         условное оформление.


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


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


Построитель отчета 1С позволяет вывести данные в табличный документ или диаграмму.


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


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


3.      Пример разработки отчета 1С


Рассмотрим пример.


Наш отчет будет выводить данные в элемент формы – табличный документ, а также в элемент формы – диаграмму. В отчете с использованием табличного документа мы настроим отбор по номенклатуре и (или) по периоду.


То есть в отчете можно будет посмотреть остатки по номенклатуре 1С, по периоду (условие больше или равно), и по номенклатуре и по периоду.
Итак, начнем.

1.      Объявляем создание нового объекта типа ПостроительОтчета;

Построитель=новый ПостроительОтчета;


2.      Источником данных мы выберем текст запроса 1С.


ПостроительОтчета.Текст =

"ВЫБРАТЬ

|          ОстаткиНоменклатурыОстатки.Номенклатура КАК Номенклатура,

|          ОстаткиНоменклатурыОстатки.КоличествоОстаток КАК КоличествоОстаток,

|          ОстаткиНоменклатурыОстатки.СуммаОстаток КАК СуммаОстаток

|ИЗ

|          РегистрНакопления.ОстаткиНоменклатуры.Остатки КАК ОстаткиНоменклатурыОстатки

|{ГДЕ ОстаткиНоменклатурыОстатки.Номенклатура КАК Номенклатура

|          }

|ИТОГИ СУММА(КоличествоОстаток), СУММА(СуммаОстаток) ПО

|          ОБЩИЕ,

|          Номенклатура КАК Номенклатура";

ПостроительОтчета.ЗаполнитьНастройки();

   ПостроительОтчета.Выполнить();

 

Конструкция ПостроительОтчета.ЗаполнитьНастройки(); Выполняет автоматическое заполнение настроек построителя из текста запроса.

Пример описания Таблицы значений в качестве источника данных.:

ПостроительОтчета.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТаблицаЗначенийРезультат);


3.      Можно воспользоваться макетом, созданным разработчиком:


ПостроительОтчета.Макет = ПолучитьМакет("МакетОтчета");

 

Или автоматически сформированным макетом, со своими настройками:

Построитель.Макет = Неопределено;

Макет = Построитель.Макет;

Макет.Область().ВысотаСтроки=11;

Макет.Область().ЦветФона = Новый Цвет(100,100,100);

Макет.Область().ЦветТекста = Новый Цвет(222,222,222);

 

// Установка макета построителя отчета

Построитель.Макет = Макет;


4.      Настройка отбора, который связан с полями ввода формы: номенклатура и период


Отбор = Построитель.Отбор;

если не Номенклатура.Пустая() тогда

Если Отбор.Найти("Номенклатура") = Неопределено Тогда

Отбор.Добавить("Номенклатура");

КонецЕсли;

Отбор["Номенклатура"].Использование = Истина;

Отбор["Номенклатура"].Значение      = Номенклатура;

Отбор["Номенклатура"].ВидСравнения = (Номенклатура.ЭтоГруппа,ВидСравнения.ВСпискеПоИерархии,ВидСравнения.Равно);

конецесли;

если не Период="" тогда

Если Отбор.Найти("Период") = Неопределено Тогда

Отбор.Добавить("Период");

КонецЕсли;

Отбор["период"].Использование = Истина;

Отбор["период"].Значение      = Период;

Отбор["период"].ВидСравнения = ВидСравнения.БольшеИлиРавно;

КонецЕсли;


5.      Некоторые настройки отчета в 1С 8.3


Построитель.ТекстЗаголовка="Отчет с использованием Запроса по периоду";

Построитель.ИзмеренияСтроки.Найти("Номенклатура").Макет = Макет.ПолучитьОбласть("Номенклатура");

Построитель.ВыводитьОбщиеИтоги = ложь;

Построитель.ВыводитьПодвалТаблицы = ложь;

Построитель.ВыводитьДетальныеЗаписи=Истина;

Построитель.ВыводитьШапкуТаблицы=Истина;

Построитель.ВыводитьОбщиеИтоги=Истина;


6.      Запуск метод Вывести() (в табличный документ, или в соответствующий элемент формы).


ПостроительОтчета.Выполнить(); // выводит в отдельном окне

ПостроительОтчета.Вывести(ЭлементФормы.Диаграмма);// вывод в элемент формы диаграмму.

 



Специалист компании «Кодерлайн»

Ольга Волкова

 

Задать вопрос автору статьи
Тема вопроса*
Ваше имя*
E-mail или телефон*
Ваш вопрос*
 

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Теги
#1С: CRM #1С: ERP #1С: ERP Управление строительной организацией #1С: ERP. Управление буровой компанией #1С: WMS Управление складом #1С: Аренда и управление недвижимостью #1С: БУХ #1С: Договорчики #1С: Документооборот #1С: ЗУП #1С: Интеграция #1С: КА #1С: Колледж #1С: Конвертация данных #1С: Модули #1С: Платформа #1С: Розница #1С: Сценарное тестирование #1С: ТОИР #1С: УАТ #1С: УКФ #1С: Университет #1С: УНФ #1С: УПП #1С: Управление строительной организацией #1С: УТ #1С: УХ #1С:ERP #1С:БГУ #1С:БП #1С.6-НДФЛ #ADO #APACHE #API #canonical #com-объекты #Excel #Excel в 1С #GoogleDrive #HTTP #ITIL #Koderline: Управление медиа-холдингом #Koderline: Управление проектами строительства скважин #LINUX #MS SQL Server #WEB #WEB-сервисы 1С #Word #XML #Администрирование 1С #акты в 1С #Безопасность сервера #Бесшовная интеграция #БИТ.Финанc #Битрикс24 #Блокировки в 1С #БСП #БУ #Бурение скважин #Бюджетирование #Внедрение #Внедрение ERP #Закрытие месяца #Запросы 1С #Интеграция 1С #КАК ОТРАЖАЮТСЯ ТОВАРЫ В ПУТИ 1С #Как сделать в 1С #Конвертация данных #Корпоративное сопровождение #Лизинг #Лицензии 1С #Механизм Анализа Данных в 1С #Моделирование #Модуль Диадок #МСФО #Налоги #Обмен между базами #Обновления #Оптимизация #Отпуск #Отчетность #Отчеты в 1С #Оценка задач #Перенос данных #Планирование #Полезные обработки #Правила обмена #предопределенные элементы справочников #Проводки 1С #Программирование в 1С #Программные права #Продажи #Производство #Работа с объектами в 1С #Расширение конфигурации #РСБУ #С # #СКД #Соединение COM в 1С платформе #Сравнение конфигураций #Тестирование 1С #Техническое задание #Торговое оборудование #Транспортная логистика #Управление проектами #Финансовый учет #Хранилище настроек #Ценообразование #Экзамен 1С #Яндекс.Касса 1С под Linux 1С:УНФ Email или телефон Работа с объектами в 1С Функциональные опции в 1С
Услуги программиста 1С
Получите специалиста  
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.