Настройка вкладки отчетов

Настройка вкладки отчетов

Вкладка Отчеты настраивается с помощью специальных рабочих листов с суффиксом _setup.

Например, используйте лист report_setup для настройки вкладки для листа report.

Такие листы можно создавать с помощью кнопки Создать лист настройки отчетов меню инструментов разработчика.

С помощью кнопки группы Параметры можно легко переключаться между листами отчета и настройки.

Также можно легко проверять изменения настроек на вкладке Отчеты.

Лист настройки вкладки отчета может содержать следующие элементы, разделенные пустыми строками:

Ячейка A1 должна содержать значение savetodb _90.

Фильтр

Элементы фильтра определяют строку и столбец с пустыми значениями ячеек, 0 или 1.

Надстройка скрывает строки и столбцы для 0 и открывает строки и столбцы для 1.

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

Надстройка отображает элементы фильтра в меню Применить группы Настройка.

Ниже приведен пример конфигурации:

ABCDE
filterПрименить фильтрBeforeChange$2:$2$F:$F

Значения столбцов:

A - filter
B - имя фильтра для меню "Применить"
C - имя ImageMso для меню "Применить"
D - адрес строки фильтра
E - адрес столбца фильтра

Значения ImageMso можно найти в Интернет.

Обновить

Элементы reload позволяют перезагружать данные на других рабочих листах с помощью пунктов меню Обновить.

Обычно отчеты используют данные с таких листов с помощью формул.

Ниже приведен пример настройки:

ABCDEFGH
reloadОбновитьRefreshdata

Значения столбцов:

A - reload
B - имя элемента для меню "Обновить"
C - имя ImageMso для меню "Обновить"
D - пусто
E - имя объекта ListObject или листа для перезагрузки
F - пусто
G - имя параметра объекта запроса для обновления
H - значение параметра объекта запроса для обновления

Если обновляемый запрос имеет несколько параметров, используйте строки ниже и заполните столбцы G и H.

Используйте строки ниже и заполните столбцы E, G и H, чтобы обновлять несколько объектов, используя один и тот же пункт меню.

Сохранить

Элементы save позволяют сохранять данные с помощью пунктов меню Сохранить.

Каждый элемент использует два диапазона:

  • Диапазон источников данных
  • Подключенный объект ListObject, используемый для сохранения данных

Надстройка считывает данные из диапазонов, сравнивает данные и выполняет команды SQL для обновления целевого диапазона.
Затем он перезагружает данные объекта ListObject, чтобы они были готовы для сохранения новых данных.

Параметр должен содержать столбец или список столбцов, используемые в качестве ключей строк.
Надстройка использует такие ключи для связывания исходных и целевых строк.
Для связывания строк по их номерам можно использовать значение rownum или rownum2.

Ниже приведен пример конфигурации:

ABCDEFGH
saveСохранить отчетDatabaseSqlServerreportreport_datarownumcategory_id69
time_id67

Значения столбцов:

A - save
B - имя элемента для меню "Сохранить"
C - имя ImageMso для меню "Сохранить"
D - имя исходного диапазона
E - имя подключенного объекта ListObject, используемого для сохранения данных
F - имя столбца или список столбцов, разделенных запятыми, используемый в качестве ключей строк
G - имя параметра объекта запроса, используемого для сохранения данных
H - значение параметра объекта запроса, используемого для сохранения данных

Если целевой запрос имеет несколько параметров, используйте строки ниже и заполните столбцы G и H, как показано в примере.

Для сохранения нескольких диапазонов с использованием одного и того же пункта меню используйте строки ниже и заполните столбцы D-H.

Сохранение слиянием

Режим объединения аналогичен режиму сохранения, описанному выше.

В отличие от режима сохранения, надстройка не удаляет целевые строки, отсутствующие в источнике.

Используйте ключевое слово merge в столбце A.

Действия

Элементы actions позволяют выполнять различные операции с помощью меню Действия.

Ниже приведен пример настройки:

ABCDEFGH
actionsЭкспорт в ExcelExportExcelExportToExcel
 
actionsЭкспорт в PDFPublishToPdfOrEdocExportToPDF
 
actionsСправкаHyperlinkInserthttps://www.savetodb.ru/report_setup_help

Значения столбцов:

A - actions
B - имя элемента для меню "Действия"
C - имя ImageMso для меню "Действия"
D - пусто
E - имя подключенной таблицы ListObject, используемой для получения строки соединения
F - действие для выполнения
G - имя параметра
H - значение параметра

Выполняемое действие может содержать:

  • имя процедуры или SQL-код для выполнения
  • URL-адрес
  • ExportToExcel
  • ExportToPDF

ExportToExcel и ExportToPDF являются встроенными действиями надстройки SaveToDB.

Пример использования хранимых процедур см. ниже.

Контекстное меню

Элементы contextmenu позволяют выполнять различные операции с помощью контекстного меню Excel.

Они аналогичны элементам action, описанным выше.

Однако, контекстное меню должно иметь имя диапазона в столбце D, а действия могут использовать контекст ячейки.

Надстройка отображает элементы контекстного меню для ячеек в заданном диапазоне.

Кроме того, надстройка считывает заголовки столбцов из первой строки диапазона.

Действия контекстного меню могут получать значения активной строки, используя параметры с именами заголовков.

Кроме того, действия контекстного меню могут использовать значения контекста, также как обычные обработчики событий SaveToDB:

  • @column_name
  • @cell_value
  • @cell_number_value
  • @cell_datetime_value и другие

Полный список доступных значений контекста см. в руководстве разработчика.

Ниже приведен пример конфигурации:

ABCDEFGH
contextmenuПоказать детали3892reportdataxls27.xl_actions_budget_report_cell_datacategory_id69
time_id67
entity_id0

Обратите внимание, что элементы контекстного меню требуют значений FaceId, а не ImageMso в столбце C.

Параметр

Элементы parameter позволяют определять параметры ленты.

Ниже приведен пример конфигурации параметра раскрывающегося списка:

ABCDEFG
parameterОтчетlist1
Доходы и расходы
Движение денег
Баланс

Значения столбцов:

A - parameter
B - имя параметра ленты
C - тип данных
D - список значений
E - фактическое значение параметра
F - имя подключенной таблицы ListObject
G - имя параметра подключенной таблицы ListObject

Пример конфигурации определяет четыре элемента списка, включая первый пустой элемент.

При изменении пользователем значения параметра, надстройка обновляет фактическое значение в столбце E.

Такие значения можно использовать в формулах, в том числе для установки значений параметров других элементов конфигурации отчета.

Эта функция работает подобно элементам управления форм VBA. Однако, он определяется на листе и вместо элементов управления форм используются параметры ленты.

Надстройка поддерживает следующие типы данных:

  • list (список)
  • string (строка)
  • integer (целое число)
  • double (число с десятичными знаками)
  • date (дата)
  • bit (бит)
  • boolean (логическое значение)

Элементы типа данных list должны содержать значения списка. Надстройка обновляет столбец E с выбранным индексом элемента, начиная с 1.

Элементы типов данных bit и boolean устанавливают флажки на ленте. Столбец E имеет значения TRUE или FALSE без значения NULL.

Для элементы других типов на ленту помещаются обычные поля ввода. При этом надстройка проверяет входные значения в соответствии с указанным типом данных и обновляет столбец E введенным значением.

Ниже приведен пример конфигурации параметра флажка:

ABCDEFG
parameterПоказать пустые строкиbooleanFALSE

Ниже приведен пример конфигурации параметров подключенного ListObject:

ABCDEFG
parameterКатегория69datacategory_id
 
parameterПериод67datatime_id
 
parameterПодразделениеdataentity_id

Столбец F содержит имя подключенной таблицы ListObject. Например, для подключения используется мастер подключения к базе данных.

Столбец G содержит имена параметров подключенной таблицы ListObject, в то время как столбец B содержит имена параметров ленты.

Значения в столбцах C и D можно опустить, поскольку надстройка автоматически определяет типы данных параметров и списков значений.

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

Например, если пользователь изменяет параметр category_id, надстройка обновляет данные отчета, включая новые пустые и непустые строки.

Если фильтр показывает только непустые строки, то будет отображен отчет с новыми актуальными строками, так как надстройка повторно применяет фильтр.