Интерактивные отчеты: Создание нового отчета

Материал из 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$WDICTS
Список возможных отчетов для формирования вы можете посмотреть в своднике, меню сервис - интерактивные отчеты. 
Создание новой ТМС

Новая запись в SP$GROUPS (TMS скрипт)

В spacepro меню группы -  подпрограммы TMS
Создаем новую подпрограмму, запоминаем код.
Список интерактивных отчетов
Ищем подобный отчет, возьмем его для основания нашего отчета, запоминаем код.
В IBExperte в таблице SP$GROUPS находим подпрограмму основание, копируем поле DATA на диск
Находим новую запись (будет в конце списка), в поле DATA загружаем с диска бинарный файл.
Копирование ТМС
SID - указываем строковый идентификатор, должен соответствовать TMS_SID из SP$ANALYTICS


Новая запись в SP$FRREPORTS

В IBExpert создаем новую запись в SP$FRREPORTS. 
Для удобства можно скопировать в поле DATA подобную печатную форму с другой записи данной таблицы.
Если в готовом интерактивном отчете не предполагается наличие печатной формы, то можно не создавать новую запись.
Создание новой записи в SP$FRREPORTS

Новая запись в 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
Процедура Fill

Редактирование формы

Для редактирования печатной формы нажмите на кнопку "печать в отдельном окне" с зажатой клавишей shift.
На редактирование откроется та печатная форма, которую вы указали в константах TMS.

Принцип хранения данных отчетов

Каждый сохраненный отчет делится на 2 и более таблицы хранения:
1. SP$ANALYTIC_DOCS  - заголовочная часть отчетов
   Запись в этой таблице формируется автоматически.
2. Детализация отчета, которая может состоять из нескольких таблиц.
   Например, для товарного отчета, это таблицы ANALYTIC_TO_TOTALSBEG, ANALYTIC_TO_ALLDATA, ANALYTIC_TO_KASSA и т.д.
   данные в этих таблицах должны заполняться хранимой процедурой, которую указали в процедуре fill TMS отчета.