Интерактивные отчеты: Создание нового отчета
Материал из wiki.standart-n.ru
Содержание
Новая запись в SP$ANALITICS (Типы отчетов)
D$UUID - идентификатор типа отчета, генерируется автоматически D$SRVUPDDT - служебное поле, не заполняется PARENT_UUID - код записи таблицы SP$ANALYTICS родителя. Иерархичность структуры CAPTION - Название типа отчета DESCR - Описание SORTING - Порядок сортировки STATUS - Статус (0-включен, 1-выключен) DATA - Зарезервированное поле для переноса настройки аналитических отчетов из автоматизации (Настройка формирования) USERDATA - Зарезервированное поле для переноса настройки аналитических отчетов из автоматизации (Входящие параметры пользователя) TMS_SID - Строковый код записи таблицы SP$GROUPS (SID). Определяет вызываемый TMS скрипт
Список возможных отчетов для формирования вы можете посмотреть в своднике, меню сервис - интерактивные отчеты.
Новая запись в SP$GROUPS (TMS скрипт)
В spacepro меню группы - подпрограммы TMS Создаем новую подпрограмму, запоминаем код.
Ищем подобный отчет, возьмем его для основания нашего отчета, запоминаем код. В IBExperte в таблице SP$GROUPS находим подпрограмму основание, копируем поле DATA на диск Находим новую запись (будет в конце списка), в поле DATA загружаем с диска бинарный файл.
SID - указываем строковый идентификатор, должен соответствовать TMS_SID из SP$ANALYTICS
Новая запись в SP$FRREPORTS
В IBExpert создаем новую запись в SP$FRREPORTS. Для удобства можно скопировать в поле DATA подобную печатную форму с другой записи данной таблицы. Если в готовом интерактивном отчете не предполагается наличие печатной формы, то можно не создавать новую запись.
Новая запись в SP$WDICTS
Если интерактивному отчету будет соответствовать не только печатная форма, но и интерактивная сетка, то создаем необходимый справочник в SP$WDICTS
Редактирование TMS скрипта
Для редактирования скрипта с зажатой клавишей shift создайте отчет. Поскольку наш TMS скрипт будет уже не пустой, то нам остается только 1. Исправить константы: const WDICT_SID=; //Код справочника SP$WDICTS. Если , то создаваться не будет REPORT_ID=79; //Код отчета SP$FRREPORTS. Если 0, то создаваться не будет ANALYTIC_TYPE='8328BFD7-BE61-3D4E-A536-B956951F386A'; //Код аналитического отчета SP$ANALYTICS
2. Написать хранимую процедуру формирования данных в IBExperte. Указать ее выполнение в TMS в процедуре fill
Редактирование формы
Для редактирования печатной формы нажмите на кнопку "печать в отдельном окне" с зажатой клавишей shift. На редактирование откроется та печатная форма, которую вы указали в константах TMS.
Принцип хранения данных отчетов
Каждый сохраненный отчет делится на 2 и более таблицы хранения: 1. SP$ANALYTIC_DOCS - заголовочная часть отчетов Запись в этой таблице формируется автоматически. 2. Детализация отчета, которая может состоять из нескольких таблиц. Например, для товарного отчета, это таблицы ANALYTIC_TO_TOTALSBEG, ANALYTIC_TO_ALLDATA, ANALYTIC_TO_KASSA и т.д. данные в этих таблицах должны заполняться хранимой процедурой, которую указали в процедуре fill TMS отчета.