НАЧАЛО >> Табличные и статистические формы >> Статистические формы📄 Скачать в DOCX
Статистическая форма строит двумерную таблицу распределения записей базы данных по двум признакам: строкам и столбцам. Признаки вычисляются форматами ИРБИС, а набор допустимых значений берётся из справочников MNU.
В текущей веб-реализации результат формируется действием TabForms/BuildSTF как HTML-файл StatFormResult.html. Старый механизм Excel-шаблонов из классических .STF-описаний в этом действии не используется.
После завершения построения пользователь получает ссылку на временный файл результата. Скачивание и автоматическое закрытие окна выполнения операции описаны в разделе Получение файла результата.
Используйте статистические формы, когда нужно посчитать количество записей по пересечению двух классификационных признаков, например по виду документа и разделу знаний.
Форма может строиться:
Кнопка Статистические формы добавляется в панель списка записей компонентом WIrbis.RecListPanel128. Для АРМ «Каталогизатор» доступность связана с правом ALLOWSTATFORMS и параметром показа статистических форм в профиле.
По умолчанию список форм берётся из справочника stf.mnu. В компоненте списка имя справочника может быть переопределено параметром stfMnu.
Описание формы находится в файле <имя>.stf в каталоге соответствующей базы данных. Имя формы должно присутствовать в справочнике stf.mnu или другом справочнике, который передан в интерфейс как список статистических форм.
Связанные файлы также должны быть доступны в каталоге базы данных:
vdu_sf.mnu;rzn3_sf.mnu;WSS, если форма требует параметров;.stf..STFТекущий загрузчик TabForms/LoadSTF читает файл построчно. Нумерация ниже дана как в текстовом файле.
| Строка | Назначение | Использование в текущем TabForms |
|---|---|---|
| 1 | Имя Excel-шаблона без расширения | Сохраняется для совместимости старых описаний, в HTML-генерации не используется |
| 2 | Формат для вычисления ключа строки | Используется как StrFormat |
| 3 | Справочник строк MNU |
Используется как StrMnu |
| 4 | Формат для вычисления ключа столбца | Используется как StbFormat |
| 5 | Справочник столбцов MNU |
Используется как StbMnu |
| 6 | Координаты верхней левой ячейки переменной части Excel-шаблона | В HTML-генерации не используется |
| 7 | Имя WSS и метка модельного поля через запятую |
Используется для формы ввода ограничений и передачи параметров в форматы |
| 8 | Формат переменного заголовка | Используется как заголовок HTML-результата |
| 9 | Координаты ячейки переменного заголовка | В HTML-генерации не используется |
| 10 | Формат заголовка группы строк | Используется как заголовок первого измерения, если задан |
| 11 | Формат заголовка группы столбцов | Используется как заголовок второго измерения, если задан |
Строки 10 и 11 являются расширением текущей веб-реализации. В старых инструкциях они могут отсутствовать; тогда заголовки измерений не формируются.
Справочники задают допустимые ключи строк и столбцов. Результат форматирования приводится к нижнему регистру и сопоставляется с ключами справочника.
Если формат вернул значение, которого нет в справочнике, код подставляет ключ *. Поэтому для формы с группой «Прочие» добавляйте в справочник строку *. Если ключа * нет, такие значения не попадут в итоговую матрицу.
Количество строк и столбцов результата определяется справочниками, а не Excel-шаблоном.
Если в строке 7 указан WSS, интерфейс показывает пользователю форму ввода параметров. Введённые значения передаются в модельное поле с указанной меткой.
Например, строка:
999.wss,1000
означает, что параметры вводятся по рабочему листу 999.wss, а в форматах формы доступны как поле 1000.
.STFForm3
if (&uf('AV907^A#1')>=v1000^A) and (&uf('AV907^A#1')<=v1000^B) then (v900^B/) fi
vdu_SF.mnu
if (&uf('AV907^A#1')>=v1000^A) and (&uf('AV907^A#1')<=v1000^B) then (v60/) fi
rzn3_SF.mnu
4,7
999.wss,1000
'Виды документов по разделам знаний, введенные за период с ',v1000^A*6.2".",v1000^A*4.2".",v1000^A.4,' по ',v1000^B*6.2".",v1000^B*4.2".",v1000^B.4
1,1
В этом примере форма распределяет записи по виду документа из v900^B и разделу знаний из v60, но учитывает только записи, дата ввода которых попадает в период из модельного поля 1000.
Для каждой записи действие TabForms/BuildSTF:
Если один формат возвращает одно значение, а другой несколько значений, одиночное значение применяется ко всем значениям второго измерения.
StatFormsМодуль StatForms хранит PHP-описания *.stt128 для другого механизма статистических таблиц. Файлы .STF, описанные на этой странице, обрабатываются модулем TabForms.