Инструменты пользователя

Инструменты сайта


Боковая панель

Если вам не пришло письмо с регистрационными данными, проверьте папку «Спам»

Новости:

20 мая
* Новая версия DataExpress



Обратная связь

Wiki-синтаксис
Как написать хорошую статью
Полигон

rukovodstvo_po_polzovaniu_dx:otchjot:otchjot

6. Отчёты

Примеры отчетов См. также статью.

Отчеты (и запросы) - простое средство извлечения и сведения данных из разных форм. Отчет может группировать данные и проделывать с ними различные вычисления. Примерами отчетов могут быть: остатки товаров на складе, доходы и расходы за период, статистика продаж и т. д. Отчет отображается в отдельном окне в виде таблицы. Данные отчета могут быть ограничены параметрами, которые определяет набор отображаемых данных.

Отчёт в рабочем режиме

Управление отчетами

Управления отчетами осуществляется в окне отчетов, доступном из меню «Файл-Отчеты». Отчеты можно настраивать в дизайнере и в пользовательском режиме. Отчет имеет множество настроек. Все начинается с настройки отбора.

Настройка отчёта

Настройки отбора

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

  • Сумма - вычисляет итоговую сумму.
  • Среднее - вычисляет среднее значение.
  • Максимум - вычисляет максимальное значение.
  • Минимум - вычисляет минимальное значение.
  • Количество - считает количество записей или непустых значений (зависит от того выбрано ли поле).
  • Баланс - вычисляет разницу прихода и расхода. Нужно обязательно указывать тип источника: приход или расход.
  • Кол-во различных - считает кол-во уникальных значений поля.
  • Соединить - соединяет значения поля в одну строку, разделяя значения точкой с запятой и пробелом. В результат не включаются повторяющиеся значения.
  • Соединить все - соединяет значения поля в одну строку, разделяя значения точкой с запятой и пробелом. В результат входят все значения, в том числе повторы.

Для функций «Сумма», «Среднее», «Баланс» подходят только числовые поля. Для остальных функций подходят любые поля.

Пустые ячейки при настройке отбора

В некоторых случаях допускается не выбирать поле источника. Например, для функции «Количество» обычно поля в источниках не выбираются. В этом случае, функция считает количество записей. При извлечении данных из нескольких источников в некоторых из них может не быть подходящего поля. Вместо отсутствующего поля будет подставлено значение NULL, что соответствует пустой ячейке. Также поле может не выбираться специально для функций, чтобы вычислить результат не для всех источников. Значение, которое будет подставлено вместо отсутствующего поля зависит от функции. Так для функций «Сумма» и «Баланс» вместо отсутствующего поля будет подставлен 0. Для остальных функций будет подставлено значение NULL, которое функции не учитывают при вычислении.

Использование параметров

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

Вид параметра зависит от типа поля. Здесь все так же, как и в фильтре формы. Для чисел задается диапазон значений, для списков и объектов - раскрывающийся список, и т. д. Если в отборе поле объекта, то тип определяется по полю объекта. Чтобы в параметрах можно было выбирать объект из списка, добавьте его в отбор.  Выбор объекта

Вычисление функций за период

Если в отборе присутствует дата и функции, то можно группировать результаты вычислений функций по периодам: дням, неделям, месяцам, кварталам, полугодиям и годам. Для этого в списке «Группировка по дате» выбирается поле даты и выбирается период. Дата будет преобразована к виду, в зависимости от выбранного периода. К примеру, если выбран период «Месяц», то из даты будет извлекаться месяц и год и преобразовываться к виду: год.месяц. С помощью такой группировки вы легко можете узнать, например, сумму заказов в каждом месяце.

Когда настроена группировка по дате, в окне отчетов появляется дополнительная кнопка, которая позволяет выбрать другой период. Выбор периода

Фильтр источника

Фильтр источника Текст фильтра источника
В каждом источнике может быть задан фильтр, который позволяет извлекать данные по определенным критериям. Фильтр источника записывается в виде текста. Например:

[!Статус]='Выдано' | [!Статус]='Готово'

Помните, что несмотря на сходство с выражениями, фильтр составляется по следующим правилам. Слева пишется поле формы-источника, затем операция сравнения (=, <>, < и т. д.), затем выражение. Условия могут соединятся логическими операциями & - И, | - ИЛИ. Если выражение содержит символы & и |, выражение должно браться в круглые скобки.

В качестве поля источника может быть поле родительской или подчиненной формы. Поля родительской формы обозначаются восклицательным знаком перед именем поля, поля подчиненной формы записываются без восклицательного знака. Если поле источника является объектом, то можно обратиться к полю объекта. Глубина вложений объектов не ограничена. Например:

[!счет|закрыт]=0

К обычным операциям сравнения для текстовых полей добавлено еще две: == (найти фрагмент текста) и # (найти, кроме фрагмента текста).

Необязательные поля в фильтре

Еще одна возможность: в фильтрах можно использовать необязательные поля. Если значение такого поля равно Null, то оно исключается из фильтра. Для этого перед именем поля ставьте ? (вопросительный знак). Например:

[?!клиент]=getvar('заказчик') & [!статус]='Готово'

Если переменная «заказчик» равна Null, то условие исключается из выражения.

Дополнительные операции сравнения и необязательные поля работают ТОЛЬКО в фильтрах списков и источников, в обычных выражениях они не применяются.

Изменение приоритета условий фильтра

Условия фильтра можно брать в фигурные скобки, чтобы изменить их приоритет. Например:

{[!устройство]='Принтер' | [!устройство]=null} & {[!марка]='Canon' | [!марка]=null}

Таблица

Настройка табличной части отчета ничем не отличается от настройки табличной части формы, кроме того, что нельзя поменять заголовки столбцов.

Вычисляемые поля

Вычисляемые поля Вычисляемые поля позволяют проводить разные вычисления с данными отчета. Например, сложить 2 поля отчета, или обратиться к базе данных за дополнительными сведениями. Примеры выражений:

[оклад]+[доход]

[сумма]*1.25

'Константа'

dbsum('Заказ', 'Сумма', '[клиент]=' + cstr([код клиента]) + ' & [!дата]>=date')

[!год]=2016

Вычисление выражений происходит во всех записях отчета после их извлечения из базы. Для каждого вычисляемого поля выбирается тип данных, которые будут в нем содержаться. Результат выражения должен совпадать с типом поля. Для чисел и текста также задаются точность и длина текста. Во всех числовых полях включена группировка цифр по классам, т. е. числа будут иметь вид: 1 000 000, 1 200 и т. д.

Выходной фильтр

После того как данные отчета получены и рассчитаны вычисляемые поля (если они есть) может потребоваться дополнительная фильтрация данных. Она выполняется с помощью логического выражения. Если выражение истинно, то запись пропускается, если ложно, удаляется из набора. Примеры выражений:

[Количество]<=0
[!год]=YearOf([дата])
MonthOf([дата])=10 

Раскраска

Раскраска позволяет выделить цветом ячейки и строки цветом в зависимости от результата логического выражения. Настройка раскраски Если результат истинный, то ячейка или строка будет окрашена в заданный цвет. Если несколько условий истинно, то будет выбрано первое истинное условие. Для окраски строки поле не выбирается.

Итоги

Дополнительно ко всему в окне отчета можно вычислять итоги по столбцам и выводить результат в нижней части окна. Настройка итогов Для вычисления итогов доступны следующие функции: сумма, среднее, количество, максимум, минимум. Для функции «Количество» допускается не указывать поле.

Справочный текст

В отчет можно добавить какое-нибудь пояснение, чтобы помочь пользователю разобраться с ним и понять его назначение. В окне отчета появляется дополнительная кнопка «Помощь». Настраивается точно так же, как справочный текст в форме.

Копирование стиля

Чтобы ускорить настройку внешнего вида отчетов, воспользуйтесь кнопкой «Копировать стиль». Копирование стиля Выберите отчеты, к которым будут применены настройки табличной части текущего отчета (который выделен в окне управления отчетами).

Экспорт отчетов

Любой отчет можно экспортировать в файл формата CSV - это текстовый формат, в котором значения отделяются точкой с запятой. В первой строке файла находятся названия полей, в остальных - значения полей. Обычно файл открывается в табличном редакторе, например в Excel. Экспорт отчета В диалоговом окне выберите поля для экспорта и введите имя файла, куда будут экспортированы данные отчета. Если поле для ввода имени файла оставить пустым, то отчет будет экспортирован во временный файл и программа откроет его в программе по умолчанию. Данные могут быть сохранены в кодировке UTF-8 или ANSI.

Печать отчетов

Для печати отчета создайте один или несколько шаблонов и укажите их в свойстве отчета «Шаблоны», аналогично свойству формы Шаблоны. Дополнительная обработка данных при печати настраивается в свойстве отчета «При печати» (аналогично свойству формы Вычисляемые поля).

Шаблоны отчета Вычисления при печати Шаблон отчета

Окно отчета как форма

Для обеспечения печати параметров и итогов отчета, наряду с его данными, окно отчета представляется как форма, а параметры и итоги представляются как поля формы. Названия полей этой формы совпадают с названиями параметров и итогов отчета. Кроме того для параметров создаются дополнительные поля для печати таких значений, как: Не, Пусто, Начальное значение, Конечное значение, Все значения. Этим значениям соответствуют имена поля, оканчивающиеся соответственно на: _not, _null, _begin, _end, _text. Например (см. скриншоты), для параметра «Дата», кроме поля «Дата», создаются дополнительные поля: Дата_not, Дата_null, Дата_begin, Дата_end, Дата_text. Само поле «Дата» будет содержать текстовое представление первого значения параметра, например: 01.01.2018 .. 31.12.2018. Все поля, кроме _text, содержат только первое значение параметра. Для каждого параметра и итога отчета программа подбирает поле соответствующего типа. Т. е. если это число, то поля «_begin», «_end» будут числовыми с той же точностью и группировкой цифр, что и в форме-источнике. Если параметр объект, то и поле будет объектом и в шаблоне, и в вычислениях при печати можно ссылаться на поля объекта.

Обращаться к полям формы окна отчета можно только в шаблоне и в вычислениях при печати. В вычисляемых полях отчета это делать невозможно.

К самим данным отчета в вычислениях при печати можно обращаться так, как если бы это был запрос на форме. Посмотреть пример использования печати отчетов можно в демонстрационной базе, идущей в составе программы (см. отчет «Доход по клиентам»).

rukovodstvo_po_polzovaniu_dx/otchjot/otchjot.txt · Последние изменения: 2019/03/13 22:56 — 7bit