10.11.2020 Ольга Волкова 31506
Построитель отчетов в 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С:ERP Управление предприятием 2.0

- Расчеты с контрагентами;
- Производственные операции;
- Управление скла...

ПЭК
ПЭК

Отрасль:
Грузоперевозки

Внедренное типовое решение:
1С:Зарплата и управление персоналом

- Перевод зарплатных баз с версии ЗУП 2.5 на версию ЗУП 3.1.
- Сопровождение в п...

Внедрение ПП "1С:Управление небольшой фирмой 8 ПРОФ" в
ИП Любо Виктория Александровна (ООО «Рекреация»)

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

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

Осуществлены разработки:
– отчета по спецификации Заказа;
– загрузки сп...

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

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

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

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

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

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

Внедренное типовое решение:
1С:Управление небольшой фирмой 8 ПРОФ

- Взаиморасчеты с поставщиками
- Учет прихода ТМЦ
- Взаиморасчеты с поку...

Автоматизации учета затрат и расчета себестоимости с использованием конфигурации «Koderline: Управление проектами строительства скважин»
ООО «Буровая сервисная компания «ГРАНД»

Отрасль:
Нефтесервис

Внедренное типовое решение:
«Koderline: Управление проектами строительства скважин»

Учет и планирование:
- собственную разработку компании «Кодерлайн» – конф...

Автоматизация кадрового учета на базе «1С:ERP Управление предприятием 2.0»
Автопредприятие ПАО «Газпром»

Отрасль:
Транспорт

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

- Настройка подсистемы кадрового учета;
- Перенос персональных данных;
- З...

ХИТЕК-ГРУП
ХИТЕК-ГРУП

Отрасль:
Продажа парикмахерского инструмента и аксессуаров

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

Документооборот (ECM)
• Делопроизводство
Управление бизнес-процессами и И...

АО «Вертолетная сервисная компания»
АО «Вертолетная сервисная компания»

Отрасль:
МТО эксплуатации вертолетной техники

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

- Консультации по сложным вопросам налогового и бухгалтерского учета;
- Ра...

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

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

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

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