1С СКД: варианты отчетов из произвольной таблицы
-

1С СКД: варианты отчетов из произвольной таблицы

0
18125
31.07.2018 Кирилл Карцев

Содержание:

1.  Как вывести отчет СКД программно

2.  СКД: форма отчета через внешний набор данных перед выводом

 

   К сожалению, не всегда удается реализовать отчет на базе Системы компоновки данных (СКД). Иногда СКД настройка отчета подразумевает необходимость разрабатывать сложные алгоритмы сбора и подготовки данных. Но есть способ воспользоваться функциональностью СКД, если предварительно подготовить произвольные таблицы вне СКД.


Для разработки отчета на СКД из произвольных данных, нужно сделать следующее:


1.     Создать отчет на СКД, в котором нужно добавить набор данных с типом «объект»;

2.     Вывод результата СКД в форму программным способом;

3.     В момент инициализации во внешние наборы данных должна быть передана подготовленная произвольная таблица.


СКД форма отчета - создаем отчет с набором «объект»


Лучше в качестве заготовки взять один из отчетов текущей системы 1С или сделать новый.

Добавляем новый набор данных, тип набора - «объект». Добавляем и настраиваем поля. У полей указываем тип и роль при необходимости.



Рис. 1. Набор данных с типом «объект»  


1.  Как вывести отчет СКД программно


В модуле отчета СКД заполняем предопределенную процедуру «ПриКомпоновкеРезультата». В процедуре стоит отказаться от стандартной обработки и реализовать программную обработку вывода СКД. Чтобы сформировать внешний отчет СКД, нужно выполнить последовательно компоновку макета, формирование внешних наборов данных, инициализацию процесса компоновки данных и вывод результата компоновки данных.



Рис. 2. Процедура «ПриКомпоновкеРезультата»  


2.  СКД: форма отчета через внешний набор данных перед выводом


В процедуру инициализации процессора компоновки данных нужно передать структуру «внешний набор данных», в которой добавить все внешние наборы отчета. Также можно передать в процедуру сбора данных необходимые отборы из настроек СКД.


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



Рис. 3. Формирование произвольной таблицы


Итог


Таким способом можно упростить разработку отчетов, в которых нет возможности использовать СКД.


Теперь с помощью СКД можно производить гибкую настройку отчета. Например, добавлять нужные отборы, менять структуру, добавлять и убирать поля (и прочее) в форме отчета в пользовательском режиме. В случае программной реализации для этого потребовалось бы дорабатывать форму, обрабатывать запросы и менять макет вывода.


На рисунке ниже я добавил отбор по организации и вывел дополнительно единицу изменения номенклатуры в пользовательском режиме.



Рис. 4. Гибкая настройка в СКД


Руководитель отдела внедрения ООО «Кодерлайн»

Кирилл Карцев.

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

Добавить комментарий
Текст сообщения*
Защита от автоматических сообщений
 
Услуги программиста 1С
Получите специалиста
для решения всех задач
в области 1С
Программы 1С
Цены и подробное описание программ 1С:Предприятие 8.