10.11.2020 Ольга Волкова 24887
Построитель отчетов в 1С

Содержание:

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.      Запуск метод Вывести() (в табличный документ, или в соответствующий элемент формы).


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

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

 



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

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

 

Наши проекты

ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)
ЗАО «Многопрофильная формирующая авиагруппа» (ЗАО МФГ)

Отрасль:
Оптовая торговля транспортными средствами и оборудованием

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Финансы, управленческий учет, мониторинг показателей
- Бухгалтерский учет:
- Банк и касса...

ООО «ПраксисКом»
ООО «ПраксисКом»

Отрасль:
Аутсорсинг бухгалтерских услуг

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

- Бухгалтерский учет:
Банк и касса
Завершение периода
Нематериальные активы
Основные средства
Расчет зарплаты и кадровы...

Доработка конфигурации Заказчика «1С:Управление строительной организацией»
ЗАО «Стройтрансгаз»

Отрасль:
Проектирование

Внедренное типовое решение:
1С:Управление строительной организацией

Взаиморасчеты с поставщиками;
- Оформление заказов поставщикам;
- Склад и логистика;
- Транспорт;
- Планирование расхода ГС...

МИР ХОББИ
МИР ХОББИ

Отрасль:
Торговля. Интернет магазин

Внедренное типовое решение:
1С:ERP Управление предприятием 2.0

Оформление заказов поставщикам
Взаиморасчеты с покупателями
Оформление заказов покупателей
Логистика адресного склада
Управление...

ООО «Лаборатория успеха»
ООО «Лаборатория успеха»

Отрасль:
Общественное и плановое питание, гостиничный бизнес, туризм

Внедренное типовое решение:
1С:Зарплата и управление персоналом 8. КОРП

Кадровый учет;
Расчет зарплаты;...

Госкорпорация «Ростех»
Госкорпорация «Ростех»

Отрасль:
Производство, ТЭК >> Машиностроение, приборостроение

Внедренное типовое решение:
1С:Управление холдингом 1.3.

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную систему управления финансовой и закупочной деятельностью (АС ФЗД) ...

Внедрение ПП "1С:Бухгалтерия 8 ПРОФ" в ООО "ДЕКОР"
ООО «ДЕКОР»

Отрасль:
Производство

Внедренное типовое решение:
1С:Бухгалтерия 8 ПРОФ

Управление персоналом и кадровый учет (HRM):
- Кадровый учет
- Расчет зарплаты
- Учет рабочего времени
Управление продажами...

ПАО «АрселорМиттал Кривой Рог»
ПАО «АрселорМиттал Кривой Рог»

Отрасль:
Металлургическая промышленность

Внедренное типовое решение:
1С:Управление производственным предприятием для Украины

- Кадровый учет
- Расчет зарплаты
- Регламентированная отчетность
- Учет рабочего времени ...

Группа компаний АО «Киномакс»
Группа компаний АО «Киномакс»

Отрасль:
Культура, шоу-бизнес

Внедренное типовое решение:
БИТ.Финанс

- Разработка Положения о Казначействе группы компаний
- Разработка Положения об управлении договорами группы компаний ...

ООО ХДМ Рус
ООО ХДМ Рус

Отрасль:
Торговля

Внедренное типовое решение:
1С:Бухгалтерия ПРОФ

Бухгалтерский учет Банк и касса Расчеты с контрагентами Торговые операции ...

1с-РАРУС МСК
1с-РАРУС МСК

Отрасль:
Разработка компьютерного программного обеспечения

Внедренное типовое решение:

- Совместная работа по внедрению разных решений, в том числе «1С:ERP Управление предприятием», «1С:Управление корпоративными финансами»...

ООО «Экслтрейд»
ООО «Экслтрейд»

Отрасль:
Торговля

Внедренное типовое решение:
1С:Управление торговлей

Оформление заказов поставщикам Оптовая торговля Торговые операции ...

Наши соц. сети

Telegram-канал «Koderline 1С» Группа в Вконтакте «Кодерлайн КОРП» Rutube

Остались вопросы - обратитесь к нам!

Впишите свои Имя и Телефон, чтобы мы ответили на все интересующие Вас вопросы.
ФИО*
E-mail*
Телефон*
Сообщение