10.11.2020 Ольга Волкова 31921
Построитель отчетов в 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С:Бухгалтерия 8
ООО «Джи Эй Си Шиппинг энд Лоджистикс»

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

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

Построение единого информационного пространства финансовой службы;
Учет ...

Фармацевтическое предприятие «Оболенское»
АО «Фармацевтическое предприятие «Оболенское»

Отрасль:
Фармацевтическая промышленность

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

- Адаптации блоков/подсистем планирования продаж, закупок и казначейства. ...

Разработка функциональных требований к информсистеме на базе «1С:Управление холдингом 8»
ФГУП «СВЯЗЬ-безопасность»

Отрасль:
Охранные услуги

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

- Зафиксировали процессы по блокам бухгалтерского, налогового учета, казначÐ...

Внедрение 1С:Управление торговлей
ООО «Амперсенд»

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

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

- Оформление заказов поставщикам;
- Управление отношениями с поставщиками;...

Внедрение ПП "1С:CRM ПРОФ" в ООО «Торговый Дом Факел»
ООО «Торговый Дом Факел»

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

Внедренное типовое решение:
1С:CRM ПРОФ

- Управление отношениями с клиентами (CRM) ...

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

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

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

Специалисты «Кодерлайн» помогли разработать и внедрить автоматизированную...

ООО "СЖД"
ООО "СЖД"

Отрасль:
Торговля, склад, логистика, транспорт

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

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

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

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

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

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

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

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

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

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

ООО «Фипар»
ООО «Фипар»

Отрасль:

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

Специалисты «Кодерлайн» внедрили «1С:ERP. Управление предприятием 2» и автомаÑ...

ООО «Иви.ру»
ООО «Иви.ру»

Отрасль:
Медиаиндустрия

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

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

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

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

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

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

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

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

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

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