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

Различная отраслевая специфика:
- Переработка давальческого сырья
- Учет спецодежды и спецоснастки
Управление отношениями с кли...

Автоматизация подсистемы учета взаиморасчетов с агентами и интернет-магазинами на базе «1С:Управление холдингом 8»
ОАО «Фрейт Линк»

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

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

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

Компания IBS
Компания IBS

Отрасль:
Системный интегратор

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

- Интеграция систем – АСУП и «1С:Управление производственным предприятием»...

Внедрение блока расчета себестоимости РАУЗ в 1С:УПП 8
ООО «Пелигрин Матен»

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

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

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

Внедрение блоков в 1С:Комплексная автоматизация 8
ООО «Больцен Рус»

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

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

- Оперативный учет...

ФГУП «Почта России»
ФГУП «Почта России»

Отрасль:
Почта, доставка

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

- Оформление заказов поставщикам
- Оформление заказов покупателей
- Управление складскими запасами ...

ООО «ПКП КАБЭЛЕКТРОСНАБ»
ООО «ПКП КАБЭЛЕКТРОСНАБ»

Отрасль:
Производство кабельной продукции

Внедренное типовое решение:
1С:Управление небольшой фирмой 1.6

- Оформление заказов покупателей;
- Управление складскими запасами;
- Анализ запасов/остатков...

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

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

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

- Финансово-бухгалтерский блок
- Казначейство ...

Филиал ГлавУпДК при МИД России фирма «Инпредкадры»
Филиал ГлавУпДК при МИД России фирма «Инпредкадры»

Отрасль:
Государственное управление

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

- Расчеты с контрагентами;
- Управленческий учет;
- Формирование отраслевой отчетности;
- Интеграция с отраслевыми продуктами ст...

Внедрение «1С:Бухгалтерия 8 ПРОФ» в компании «Мостехника»
ООО «Мостехника»

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

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

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

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

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

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

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

Апгрейд 1С:Бухгалтерия 8 ПРОФ (USB) до версии 1С:Бухгалтерия 8 КОРП (USB)
ООО «Ява Строй»

Отрасль:
Строительство

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

- Создание чистых конфигураций. Внесение изменений в БД ЗУП и новая расчетная ведомость;
- Администрирование MS SQL Server;
- Сжати...

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

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

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

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