Конечным результатом учета в любой программе 1С являются отчеты - средство анализа данных, представления результата деятельности и ее итогов. В платформе версии 8 представлен мощный инструмент разработки отчетов - Система компоновки данных . СКД позволяет легко и быстро подготовить нужный вид выходной формы (печатный документ, графики, сводные таблицы), предоставляя пользователю гибкие настройки, эффективно используя ресурсы системы.
Научиться разработке отчетов можно только в процессе решения практических задач. Именно поэтому специалистами Центра V8 создана программа Практика применения СКД 1С Предприятие 8 , позволяющая консультантам и разработчикам не только познакомиться с технологией создания отчетов, но и получить практический опыт их настройки с нуля.
В основе обучающей программы Практика применения СКД лежит Интерактивная технология :
Создание отчетов (практических задач) прямо в программе 1С;
Система автоматической проверки решений;
Качественные методические материалы;
Техническая поддержка учащихся.
В программе изучения СКД представлено несколько десятков заданий - от создания простого отчета, до формирования многоцелевого инструмента анализа данных. Обучение предусматривает у пользователя базовых знаний по программе использования языка запросов .
Подробное описание изучаемых тем
Практические задания представлены по следующим разделам:
- Создание простых отчетов:
Простой отчет без программного кода
- Формирование списков данных
- Базовые настройки представления отчета
- Основные возможности СКД и конструктора схемы компоновки данных:
Настройка полей отчета
- Расчет итогов ресурсов
- Управление выводом общих итогов
- Вывод данных в кросс-таблицу
- Связь нескольких источников данных
- Объединение нескольких источников данных
- Вычисляемые и пользовательские поля
- Использование параметров в отчете
- Стандартные периоды в параметрах отчета
- Установка предопределенных значений параметров
- Использование группы отборов
- Описание группы отчетов и диаграмм
- Управление представлением отчетов:
Настройка представления и группировки полей
- Расположение полей и группировок
- Условное оформление в отчете
- Настройка макета для областей отчета
- Расширенные возможности СКД:
Вывод нарастающего итога
- Дополнение периода
- Использование периодичности Авто
- Вывод характеристик объектов в отчет
- Сложные вычисляемые поля с выражениями
- Вычисляемое значение сортировки данных
- Вывод расширенных значений полей
- Представление итогов по неделям
- Настройка группы отчетов Вложенные схемы
- Самостоятельная работа (несколько заданий).
В заданиях рассмотрены особенности СКД платформы 1С Предприятие 8.3.
Программа изучения СКД сертифицирована фирмой 1С и рекомендована не только для самостоятельной подготовки технических специалистов, но и для организации учебного процесса в рамках ЦСО, АУЦ, учебных центров и т.д.
Наличие прав на использование платформы не является обязательным.
Начать работу
Выберите вариант работы с программой:
Инструкция по установке программы на Ваш компьютер
1. Установить и настроить учебную версию 1С на Ваш компьютер
Запустите скачанный файл setup.exe
(в случае предупреждения об опасности разрешите запуск файла);
Следуйте инструкциям программы установки.
Важно! Для работы программы требуется подключение к сети Интернет.
3. Запустить обучающую программу и выбрать информационную базу
Запустите программу обучения через ярлык "Обучение сайт" на рабочем столе;
- в списке информационных баз выберите созданную ранее;
- запустите "1С:Предприятие".
Так же Вы можете расширить методическую поддержку бесплатной программы,
Описание
Возможности программы:
Создание отчетов прямо в программе 1С (настройка схем компоновки);
- проверка настроек СКД и выдача сведений об ошибках;
- наличие персональной статистики по решению заданий;
- возможность просмотра общего рейтинга участников;
- техническая поддержка учащихся;
- методические материалы и документация по СКД и платформе 1С Предприятие 8;
- рекомендации по решению прикладных задач создания отчетов;
- доступ к иллюстрированным инструкциям, содержащим описание особенностей настройки отчетов.
Начинающим и продвинутым техническим специалистам, желающим освоить особенности технологии создания отчетов на СКД. Специалистам 1С Предприятие 7.7 продукт поможет быстро адаптироваться в технологиях платформы 1С Предприятие 8.
Время занятий: 5 полных рабочих дней (40 академических часов) в учебном классе с 10.00 до 17.00.
Изучение материала в учебном классе проходит по технологии курса-погружения.
Программа курса рассчитана на специалистов, знакомых с основными возможностями системы «1С:Предприятие 8».
Механизм системы компоновки данных – это основной механизм получения отчетных форм в системе «1С:Предприятие 8», он является одним из самых важных и в то же время сложных механизмов платформы. По количеству вопросов, которые мы получаем от наших слушателей стало очевидно, что эта тема все еще недостаточно раскрыта в имеющейся литературе, самостоятельное освоение механизма СКД вызывает затруднения. Поэтому мы разработали специальный курс, чтобы помочь разобраться в этой важной теме, и приглашаем Вас принять в нем участие.
Курс написан и проводится с учетом особенностей и возможностей платформы 1С:Предприятие 8.3. Однако, большая часть материала актуальна и для платформы 1С:Предприятие 8.2, так как изучаемые механизмы доступны и применимы также на платформе 8.2 (кроме некоторых функций и выражений, которые появились в 8.3).
Обучение состоит из 5 занятий.
Занятие №1. Начало. Конструктор схемы компоновки данных
1. Введение
2. Знакомство
3. Свойства поля компоновки
- Поле, путь, заголовок
- Ограничения поля
- Расширение языка запросов
- Особенность работы автозаполнения
- Роли полей
- Роль поля «Период»
- Использование реквизитов периода
- Роли БУ
- Роли поля остатков
- Ограничения при работе с полями периодов и остатков
- Выражения представления, упорядочивания
- Тип значения, доступные значения
- Оформление, параметры редактирования
- Вычисляемые поля
- Общая информация
- Функции общих модулей
- АВС классификация
- Массив, ТаблицаЗначений, СоединитьСтроки
- Вычислить
- Вычислить выражение
Занятие №2. Конструктор схемы компоновки данных. Продолжение
1. Ресурсы
2. Параметры
3. Использование параметров для вывод дополнительной информации
4. Вложенные схемы
- Вложенные схемы
- Расшифровка детальных записей
- Использование группировок в основной схеме
5. Использование нескольких наборов данных
- Общая информация
- Независимые наборы
- Соединение наборов
- Набор данных «Объединение»
- Альтернативная иерархия
- Постановка задачи
- Иерархия по группировке
- Альтернативная иерархия
- Отбор при альтернативной иерархии
- Связь по периодам
6. Работа с характеристиками
- Расширение языка запросов
- Свойства объектов конфигурации
7. Настройки
- Группировки
- Таблицы
- Диаграммы
- Дополнение периодов
8. Оптимизация запроса компоновкой данных
Занятие №3. Программная работа с компоновкой данных. Начало.
1. Этапы компоновки
- Введение
- Этапы компоновки
- Сериализация схемы и макета
2. Вывод данных в коллекцию значений
3. Стандартные расшифровки
4. Вывод дополнительных данных
5. Комплексный пример по работе с настройками
6. Работа с картинками
- Вывод логотипа
- Картинки в строках
7. Работа с макетом
- Вывод заголовка отчета
- Полное переопределение макета
- Использование общих макетов
Занятие №4. Работа с расшифровкой. Использование разных источников данных
1. Расшифровки
- Переопределение простых расшифровок
- Сложные расшифровки, вызов отчета
- Использование специального варианта вызываемого отчета
- Расшифровка по не основной схеме
2. Использование общих форм
3. Фоновое исполнение отчетов
4. Работа с внешними источниками данных
- Использование набора данных «Объект»
- Объект конфигурации «Внешний источник»
- Использование разных источников
Занятие №5. Сопутствующие механизмы. Практикум.
1. Динамические списки
2. Создание внешних печатных форм
3. Создание внешних (дополнительных) отчетов
4. Переопределение хранения настроек
5. Завершающий практикум
Наполнение курса
Всего ресурсов (Web-страниц и страниц с видео) |
Видео материалы (всего минут) |
Практикумы для самостоятельного выполнения |
|
1. Начало. Конструктор схемы компоновки данных. |
2 (не сложных) |
||
2. Конструктор схемы компоновки данных. Продолжение. |
5 (средней сложности) |
||
3. Программная работа с компоновкой данных. Начало. |
133 минуты |
2 (средней сложности) |
|
4. Работа с расшифровкой. Использование разных источников данных. |
2 (средней сложности) |
||
5. Сопутствующие механизмы. Практикум. |
3 (средней сложности и сложный) |
- Общие сведения
- Этапы построения отчета СКД
- Создание схемы компоновки данных
- Состав схемы компоновки данных
- Макет компоновки данных
- Запросы в схеме компоновки данных
- Настройка отборов в СКД
- Сортировка в СКД
- Отборы в пакетном запросе
- Неочивидные действия системы при настройке отборов
- Параметры виртуальных таблиц
- Расширение языка запросов компоновки данных
- Закладка «Комповка данных» в конструкторе запроса
- Использование «ручного» заполнение полей компоновки
- Функции выражений комповноки данных
- Особенности запросов в СКД
- Основные настройки полей компоновки данных: поле и путь
- Использование пути к поле компоновки
- Ограничения использования полей компоновки данных
- Представление полей компоновки в отчете
- Возможности упорядочивания в отчетах
- Настройка типа и доступных значений поля компоновки
- Оформление поля и параметры редактирования
- Вычисляемые поля
- Настройка итогов в СКД
- Настройка ресурсов
- Особенности ресурсов СКД
- Роли полей компоновки данных
- Настройка роли «Период»
- Порядок следования периодов. Дополнительный период
- Настройка роли «Измерение»
- Настройка роли «Счет»
- Настройка роли ресурса
- Настройка роли: Игнорировать NULL
- Настройка роли: Обязательное
- Особенности получения остатков: выбора парных остатков
- Особенности получения остатков: периодичность Неделя
- Особенности получения остатков: группировка по реквизитам периода
- Особенности получения остатков: использование вложенных запросов
- Особенности получения остатков: указание периода при получении остатка на дату
- Особенности получения остатков: обращение к таблице «Остатки и обороты»
- Использование характеристик в отчетах на компоновке
- Настройки источников характеристик
- Варианты отчетов
- Настройка варианта отчета: общие сведения
- Создание варианта отчета вручную
- Пользовательские настройки
- Включение в пользовательские настройки элементов отчета
- Стандартный период и стандартная дата
- Группировка и детальные записи
- Учет иерархии при выводе группировки
- Указание нескольких полей в группировке
- Настройки группировки по периоду
- Выбранные поля
- Пользовательские поля
- Системные поля
- Настройка отборов в отчете
- Группировка условий
- Отбор по ресурсам
- Автополя
- Настройка условного оформления
- Условное оформление диаграмм
- Другие настройки варианта отчета
- Настройки расположения полей относительно друг друга
- Формы отчета
- Реквизиты формы отчета
- Параметры расширения формы отчета
- Открытие отчета с определенным вариантом отчета
- Свойства, методы и события Отчет Объект
- Программное формирование отчета на СКД
- Программная установка параметров отчета СКД
- Набор данных – Объект
- Вывод журнала регистрации в отчет
- Программный интерфейс настроек вариантов отчета
- Пример программного создания варианта отчета
- Отладка алгоритмов
- Работа с отборами, условным оформлением
- Программный интерфейс работы со схемой компоновки
- Пример программного создания схемы компоновки
- Последовательный вывод элементов отчета
- Задача фиксации шапки отчета
- Выполнение не основной схемы компоновки
- Набор данных – Объединение
- Соединение наборов данных
- Отличия расчета итогов в запросах и СКД
- Преимущество соединение наборов на уровне СКД
- Передача параметров в дочерний набор данных
- Тип связи соединения наборов данных
- Несвязанные наборы данных
- Создание собственной иерархии: общая схема
- Одноуровневая иерархия
- Многоуровневая собственная иерархия
- Оптимизация построения иерархии
- Контроль иерархии
- Прочие параметры связей наборов данных
- Вывод иерархии на уровне детальных записей
- Вложенные схемы
- Установка связи по периоду между родительской и дочерней схемой
- Настройка отчета с использованием вложенной схемы
- Возможности оформления отчета
- Макеты отчетов
- Независимый макет оформления
- Предопределенные макеты
- Просмотр общей структуры отчета
- Стандартная расшифровка отчета
- Собственная обработка расшифровки: получение значения расшифровки
- Открытие отчета расшифровки
- Вызов действий расшифровки
- Расшифровка при программном формировании отчета
Скачать бесплатно:
================== Архив 299,62 Мб
- Различные способы формирования отчетов (вывод в табличный документ, построитель отчета, универсальный отчет, СКД)
- Настройка отчетов в режиме «1С:Предприятие»
- Инструменты отладки отчетов на СКД. Какой запрос на самом деле получает данные из базы?
- Для чего нужно множество галочек в настройке полей компоновки
- Как переопределить представление поля в отчете
- Как получить корректные итоги в отчетах на СКД вне зависимости от того, какие поля выводятся в отчет?
- Как вывести корректные остатки по документам-регистраторам?
- Как, не установив всего несколько галочек, получить ошибочные итоги в отчете?
- Как использовать собственные функции из общих модулей в отчете на СКД?
- Как исключить некорректные сложения USD + EUR; Шт. + кг
- Как создать несколько представлений (вариантов отчета) на основании одних и тех же данных
- Какие возможности по выводу данных в графическом виде (диаграммы, графики, гистограммы) есть в СКД, а когда придется полученную диаграмму «доработать» программным кодом
- Как без программирования организовать вывод данных по иерархии? И как организовано получение таких данных на низком уровне?
- Как без программного кода вывести все даты за период, а не только те, на которые есть данные в отчете?
- Как настроить отчет, где пользователь самостоятельно может выбирать требуемую периодичность (год, месяц, день)?
- Как без программирования расположить на форме отчета «быстрые» настройки, которые нужны пользователю для формирования отчета?
- Комбинирование отборов – И, Или, Не.
- Как вывести заголовок поля вертикально, а сами значения – горизонтально.
- Вывод в итогах только некоторых ресурсов
- Отличия расчета итогов в запросах и СКД
- Срез последних на каждую дату при помощи СКД
- Работа с произвольными характеристиками объектов, которые пользователь создает в режиме «1С:Предприятие» в отчете на СКД
- Использование вложенных схем – разработка нового отчета на базе существующих
- Практические примеры использования сложно произносимых функций
ВычислитьВыражениеСГруппировкойМассив,
ВычислитьВыражениеСГруппировкойТаблицаЗначений и т.д.
Для решения каких задач их можно применять? - Особенности работы с макетами в отчетах на СКД
- При помощи ручного вывода данных в табличный документ можно реализовать сложные и комплексные отчеты. А как получить такой же отчет, но со всеми гибкими настройками СКД (произвольными отборами и т.д.)?
- Как сформировать отчет программно? Как сформировать отчет с отбором по конкретному товару из списка номенклатуры?
- Вывод сформированных данных не в отчет, а в таблицу значений
- Программная работа с пользовательскими настройками
- Как построить отчет по таблице, которая получается программно или загружается из внешней системы?
- Реализация настраиваемого отбора не в отчетах – обработках, справочниках и т.д. Хранение произвольных отборов, введенных пользователями в режиме «1С:Предприятие»
- Программная обработка расшифровки
- Создание собственного меню для расшифровки отчета
- Как реализовать переход из отчета на сайт двойным кликом в ячейке отчета?
- Как вывести картинки в отчет? Как сформировать прайс-лист с изображениями товаров?
- Как вывести логотип компании в отчете на СКД?
- Какие возможности СКД можно использовать при отображении списков? Динамические списки
- Как система обеспечивает быстрое отображение списков, в которых могут храниться десятки тысяч элементов?
Одна из самых важных областей бизнес-софта – это отчетность. От того, насколько легко настроить под меняющиеся потребности бизнеса (и законодательства) существующий отчет или сделать новый, может зависеть (причем не в переносном смысле!) судьба бизнеса, будь то отчет для налоговой инспекции или диаграмма зависимости спроса на товары от сезона и других факторов. Мощная и гибкая система отчетности, позволяющая легко извлечь из системы нужные данные, представить их в доступном для понимания виде, позволяющая конечному пользователю перенастроить стандартный отчет так, чтобы увидеть данные в новом свете – это идеал, к которому должна стремиться каждая бизнес-система.
В платформе «1С:Предприятие» за построение отчётов отвечает механизм под названием «Система компоновки данных» (сокращенно СКД). В этой статье мы постараемся дать краткое описание идеи и архитектуры механизма СКД и его возможностей.
СКД – это механизм, основанный на декларативном описании отчетов. СКД предназначен для построения отчетов и для вывода информации, имеющей сложную структуру. Кстати, помимо разработки отчетов механизм СКД также используется в «1С:Предприятии» в динамическом списке , средстве показа списочной информации с богатой функциональностью (показ плоских и иерархических списков, условное оформление строк, группировки и т.п.).
Немного истории
В самой первой версии платформы «1С:Предприятие 8», версии 8.0, отчеты делались так:- Писался один или несколько запросов на языке запросов 1С (SQL-подобный язык, подробнее о нем ниже).
- Писался код, который переносил результаты выполненных запросов в табличный документ или в диаграмму. Код также мог делать работу, которую в запросе сделать невозможно – например, вычислял значения, используя встроенный язык 1С.
Одной из идей, легших в основу СКД, была гибкость и настраиваемость отчетов, причем доступная как разработчику, так и конечному пользователю. В идеале хотелось бы дать доступ конечному пользователю к тому же набору инструментов для дизайна отчета, что и разработчику. Логично было бы сделать единый набор инструментов, доступный всем. Ну а раз инструменты предполагают участие конечного пользователя – значит, нужно использование программирования в них убрать до минимума (лучше всего – устранить совсем), и по максимуму использовать визуальные настройки.
Постановка задачи
Задача перед командой разработки стояла такая – сделать систему создания отчетов, основанную не на алгоритмическом (т.е. через написание кода), а на декларативном подходе к созданию отчетов. И мы считаем, что задачу успешно решили. По нашему опыту, около 80% требуемой отчетности может быть реализована с помощью СКД без единой строчки кода (за исключением написания формул вычисляемых полей), по большей части - через визуальные настройки.Разработка первой версии СКД заняла около 5 человеко-лет.
Два языка
В создании отчетов задействованы два языка. Один – язык запросов, используемый для выборки данных. Второй – язык выражений компоновки данных, предназначен для записи выражений, используемых в различных частях системы, например, в настройках компоновки данных, для описания выражений пользовательских полей.Язык запросов
Язык запросов основан на SQL и легко осваивается знающими SQL. Пример запроса:Легко видеть аналоги стандартных для SQL-запроса секций - SELECT, FROM, GROUP BY, ORDER BY.
При этом язык запросов содержит значительное количество расширений, ориентированных на отражение специфики финансово-экономических задач и на максимальное сокращение усилий по разработке прикладных решений:
- Обращение к полям через точку. Если поля какой-либо таблицы имеют ссылочный тип (хранят ссылки на объекты другой таблицы), разработчик может в тексте запроса ссылаться на них через ".", при этом количество уровней вложенности таких ссылок система не ограничивает (например, ЗаказКлиента.Соглашение.Организация.Телефон).
- Многомерное и многоуровневое формирование итогов. Итоги и подитоги формируются с учетом группировки и иерархии, обход уровней может выполняться в произвольном порядке с подведением подитогов, обеспечивается корректное построение итогов по временным измерениям.
- Поддержка виртуальных таблиц. Виртуальные таблицы, предоставляемые системой, позволяют получить практически готовые данные для большинства прикладных задач без необходимости составления сложных запросов. Так, виртуальная таблица может предоставить данные по остаткам товаров в разрезе периодов на какой-то момент времени. При этом виртуальные таблицы максимально используют хранимую информацию, например, ранее рассчитанные итоги и т.д.
- Временные таблицы. Язык запросов позволяет использовать в запросах временные таблицы. С их помощью можно повысить производительность запросов, в некоторых случаях снизить количество блокировок и сделать текст запроса более легким для восприятия.
- Пакетные запросы. Для более удобной работы с временными таблицами в языке запросов поддерживается работа с пакетными запросами - таким образом, создание временной таблицы и ее использование помещаются в один запрос. Пакетный запрос представляет собой последовательность запросов, разделенных точкой с запятой (";"). Запросы в пакете исполняются один за другим. Результатом выполнения пакетного запроса, в зависимости от используемого метода, будет являться либо результат, возвращаемый последним запросом пакета, либо массив результатов всех запросов пакета в той последовательности, в которой следуют запросы в пакете.
- Получение представлений ссылочных полей. Каждая объектная таблица (в которой хранится справочник или документ) имеет виртуальное поле - «Представление». Это поле содержит текстовое представление объекта и облегчает работу создателя отчетов. Так, для документа это поле содержит всю ключевую информацию - название типа документа, его номер и дату (например, «Продажа 000000003 от 06.07.2017 17:49:14»), избавляя разработчика от написания вычисляемого поля.
- и др.
Есть также специальные расширения языка запросов для СКД. Расширение осуществляется при помощи специальных синтаксических инструкций, заключаемых в фигурные скобки и помещаемых непосредственно в текст запроса. С помощью расширений разработчик определяет, какие операции конечный пользователь сможет проводить, настраивая отчет.
Например:
- ВЫБРАТЬ. В этом предложении описываются поля, которые пользователь сможет выбирать для вывода. После данного ключевого слова через запятую перечисляются псевдонимы полей из основного списка выборки запроса, которые будут доступными для настройки. Пример: {ВЫБРАТЬ Номенклатура, Склад}
- ГДЕ. Описываются поля, на которые пользователь сможет накладывать отбор. В данном предложении используются поля таблиц. Использование псевдонимов полей списка выборки недопустимо. Каждая часть объединения может содержать собственный элемент ГДЕ. Примеры: {ГДЕ Номенклатура.*, Склад }, {ГДЕ Документ.Дата >= &ДатаНачала, Документ.Дата <= &ДатаКонца}
- и др.
Язык выражений компоновки данных
Язык выражений компоновки данных предназначен для записи выражений, используемых, в частности, для описания выражений пользовательских полей. СКД позволяет определять в отчете пользовательские поля, используя либо собственные выражения, либо наборы вариантов с условиями их выбора (аналог CASE в SQL). Пользовательские поля являются аналогом вычисляемых полей. Они могут задаваться как в конфигураторе, так и в режиме «1С:Предприятие», но в выражениях пользовательских полей нельзя использовать функции общих модулей. Поэтому пользовательские поля предназначены скорее для пользователя, чем для разработчика.Пример:
Процесс создания отчета на СКД
При создании отчета нам нужно создать макет, определяющий, как данные будут отображаться в отчете. Можно создать макет, базирующийся на схеме компоновки данных. Схема компоновки данных описывает суть данных, которые предоставляются отчету (откуда получать данные и как можно управлять их компоновкой). Схема компоновки данных представляет собой базу, на основе которой могут быть сформированы всевозможные отчеты. Схема компоновки данных может содержать:- текст запроса с инструкциями системы компоновки данных;
- описание нескольких наборов данных;
- подробное описание доступных полей;
- описание связей между несколькими наборами данных;
- описание параметров получения данных;
- описание макетов полей и группировок;
- и др.
Например, можно в качестве набора данных добавить в схему компоновки данных запрос, и вызвать конструктор запроса, позволяющий в графическом виде составить запрос произвольной сложности:
Итогом запуска конструктора запросов будет текст запроса (на языке запросов «1С:Предприятия»). Этот текст можно при необходимости скорректировать вручную:
Наборов данных в схеме компоновки данных может быть несколько, наборы данных могут быть связаны в макете произвольным образом, могут быть добавлены вычисляемые поля, заданы параметры отчета и т.п. Стоит упомянуть интересную особенность работы механизма запросов в 1С:Предприятии. Запросы в конечном итоге транслируются в диалект SQL, специфичный для СУБД, с которой непосредственно работает приложение. Мы вообще стараемся задействовать возможности серверов СУБД по максимуму (нас ограничивает то, что мы используем только те возможности, которые есть одновременно во всех поддерживаемых платформой «1С:Предприятие» СУБД – MS SQL, Oracle, IBM DB2, PostgreSQL). Таким образом, на уровне запроса в вычисляемых полях мы можем использовать только те функции, которые транслируются в SQL.
А вот на уровне схемы компоновки данных мы уже можем добавлять пользовательские поля и использовать в них функции на встроенном языке разработки 1С (в том числе и написанные нами), что сильно расширяет возможности отчетов. Технически это выглядит так – всё, что можно транслировать в SQL, транслируется в SQL, запрос выполняется на уровне СУБД, результаты запроса помещаются в память сервера приложений 1С и СКД вычисляет для каждой записи значения вычисляемых полей, чьи формулы написаны на языке 1С.
Добавление пользовательских полей
В отчет можно добавить произвольное количество таблиц и диаграмм:
Дизайнер отчетов
Отчет во время выполнения
С помощью СКД пользователь может добавлять в отчет сложные отборы (которые будут добавлены к запросу в нужных местах), условное оформление (позволяющее по-разному форматировать – шрифтом, цветом и т.д. – выводимые поля в зависимости от их значений) и многое другое.
Коротко описать процесс построения и формирования отчета можно так:
- Разработчик в design time с помощью дизайнера (или в runtime с помощью кода) определяет схему компоновки данных:
- Текст запроса/запросов
- Описание вычисляемых полей
- Связи между запросами (если их несколько)
- Параметры отчета
- Настройки по умолчанию
- И т.д.
- Вышеописанные настройки сохраняются в макете
- Пользователь открывает отчет
- Возможно, делает дополнительные настройки (например, меняет значения параметров)
- Нажимает кнопку «Сформировать»
- Настройки пользователя применяются к схеме компоновки данных, определенной разработчиком.
- Формируется промежуточный макет компоновки данных, содержащий в себе инструкции, откуда получать данные. В частности, корректируются запросы, заданные в макете. Так, из запроса удаляются поля, которые не используются в отчете (это делается с целью минимизировать объем получаемых данных). В запрос добавляются все поля, участвующие в формулах вычисляемых полей.
- В дело включается процессор компоновки данных. Процессор компоновки выполняет запросы, осуществляет связь наборов данных, рассчитывает значения вычисляемых полей и ресурсов, выполняет группировку. Словом, делает все расчеты, которые не были выполнены на уровне СУБД.
- Процессор вывода данных запускает запрос на исполнение и выводит полученные данные в табличный документ, диаграмму и т.п.
Процесс формирования отчета механизмом СКД
Мы стараемся минимизировать объем данных отчетов, передаваемых с сервера в клиентское приложение. При показе данных в табличном документе при открытии табличного документа мы передаем с сервера только те строчки, которые пользователь видит в начале документа. По мере продвижения пользователя по строкам документа на клиента подкачиваются с сервера недостающие данные.
Пользовательские настройки
Весь инструментарий СКД доступен как разработчику, так и конечному пользователю. Но практика показала, что конечного пользователя часто пугает обилие возможностей инструмента. Тем более что в большинстве случаев вся мощь настроек конечному пользователю и не нужна – ему достаточно иметь быстрый доступ к настройке одного-двух параметров отчета (например, периода и контрагента). Начиная с определенной версии платформы у разработчика отчета появилась возможность отметить, какие настройки отчета доступны пользователю. Делается это с помощью флажка «Включать в пользовательские настройки». Также у настроек отчета появился флаг «Режим отображения», принимающий одно из трех значений:- Быстрый доступ. Настройка будет выведена непосредственно в верхнюю часть окна отчета.
- Обычный. Настройка будет доступна через кнопку «Настройки».
- Недоступный. Настройка будет недоступна конечному пользователю.
Режим отображения настройки в design time
Отображение настройки в режиме «Быстрый доступ» во время выполнения (под кнопкой «Сформировать»)