Qform DSL knowledge base

<list> ×794 в коде

Структура: список

Можно использовать <list> не только как embedded во вкладке, но и как полную замену списка модуля — ссылка на готовый список из другой формы:

Может содержать 23

ТегОписаниеВключений здесь
Структура: список 4 · включений здесь: 782
<cols> Контейнер столбцов списка (с атрибутами defaultsort, *-flag и пр.) 585
<col> Один столбец списка 192
<list> Можно использовать <list> не только как embedded во вкладке, но и как полную замену списка модуля… 4
<groupcol> Группировка строк списка — первый уровень 1
Текст/заголовки 2 · включений здесь: 744
<text> Текстовый блок: либо контейнер заголовков (внутри list/form), либо самостоятельный текст в форме 581
<legend> Легенда списка — описание цветов/иконок, используемых в столбцах 163
Параметры 1 · включений здесь: 623
<param> Один параметр, передаваемый в дочернюю форму/модуль/список 623
SQL/обработка 4 · включений здесь: 619
<sql> SQL-запрос: основной запрос списка, или вспомогательный запрос для choice/check/finishsql и пр. 584
<php> PHP-блок (выполняется на сервере) — onsuccess/store/beforestore/ondeleted 32
<javascript> JS-блок, выполняющийся в браузере (onsuccess/afterinit/presubmit/update/ondeleted/onerror) 3
<onchange> не везде Обработчик изменения поля: do=update обновляет связанные элементы, do=js — JS-выражение
Структура: фильтры 1 · включений здесь: 432
<filters> Контейнер фильтров списка 432
Кнопки/действия 1 · включений здесь: 122
<buttons> Контейнер кнопок списка (под таблицей) 122
Отчёты 2 · включений здесь: 42
<reports> Контейнер описаний отчётов, доступных из списка 38
<tab> Описание вкладки (tab) формы — группа элементов на отдельной странице 4
(без группы) 2 · включений здесь: 31
<export> не везде 28
<disabled_filters> не везде 3
Структура: форма 2 · включений здесь: 11
<form> Основной тэг формы. В нём описываются вкладки и поля формы.… 11
<elements> не везде Все элементы формы: поля, html-вставки, группы полей (fieldset) и прочее необходимо оборачивать в…
Поля ввода 1 · включений здесь: 3
<condition> Условие отображения/применимости элемента (зависит от значения другого поля) 3
Значения по умолчанию 1 · включений здесь: 1
<defaults> Блок настроек по умолчанию (gray-flag и пр.) 1
Оформление (HTML) 1 · включений здесь: 0
<html> не везде HTML-блок: alert-сообщение, информационный блок или произвольная разметка в форме
Структура: БД 1 · включений здесь: 0
<database> не везде Имя SQL-базы (для cross-database таблиц)

Может встречаться внутри 5

ТегОписаниеВключений здесь
Корневой 1 · включений здесь: 587
<qform> Корневой тег DSL Qform 587
Структура: форма 1 · включений здесь: 156
<elements> Все элементы формы: поля, html-вставки, группы полей (fieldset) и прочее необходимо оборачивать в… 156
Структура: список 1 · включений здесь: 4
<list> Можно использовать <list> не только как embedded во вкладке, но и как полную замену списка модуля… 4
Отчёты 1 · включений здесь: 0
<tab> не везде Описание вкладки (tab) формы — группа элементов на отдельной странице
Структура: доступ 1 · включений здесь: 0
<access> не везде Декларация прав доступа к сущности (entity, role-model, marker-flags)

Атрибуты 57

АтрибутОписаниеЗначения
Поведение интерфейса 12 · включений: 2 035
rowsperpage
×516

Строк на странице (def. 25)

50100-15002001000
hidenewrec
×425

Скрыть «Добавить» (0/1)

01_qscript_
hidetoolbars
×396

Скрыть тулбары (0/1)

01_qscript_
hidedelete
×149

Скрыть удаление (0/1)

1_qscript_0
dblclick
×114

Открывать запись по двойному клику (0/1, можно тернарник: dblclick="({{readonly}})?(0):(1)")

0_qscript_1
hideedit
×112

Скрыть редактирование (0/1)

10_qscript_
tabs-menu-level
×106

Глубина таб-навигации для embedded списков. Дефолт 1 для DOCTYPE 2.5+, 0 для более старых. Часто 2 для вложенных таблиц. Можно тернарник.

2104_qscript_
multiedit
×84

Множественное inline-редактирование (0/1)

01_qscript_
cookieprefix
×74

Префикс для сохранения фильтров (обычно {{sys.file}}_v1)

_qscript_1.0edu_att_program20241223-2cr_intermediate_meropr_1.11edu_att_program_20260127
hideview
×42

Скрыть просмотр (0/1)

01_qscript_
hidedbl
×11

Запретить открытие по двойному клику

1
hideaddmore

Скрыть кнопку "Сохранить и добавить ещё" в форме редактирования (1=да)

1
(без группы) 18 · включений: 415
hidebuttons
×115

Скрыть все кнопки действий (0/1) — для read-only списков

1_qscript_0
hidesysfields
×81

Скрыть системные колонки (id, deleted) (0/1)

10
responsive не везде
×50
10
hasreports
×24

Показывать кнопку формирования отчётов (1=да). Может быть динамическим выражением

0_qscript_1
embeded не везде
×20
_qscript_1
force-defaultsort не везде
×20
1_qscript_
sql-divide-query
×16 · пример

Разделять основной SQL-запрос на части для оптимизации (auto — автоматически)

auto
hidefiltercreator не везде
×15
_qscript_
showalways
×13 · пример

Показывать список даже если родительская запись не сохранена (1=да; для зависимых списков на формах)

10
parent не везде
×11
plan_idrequest_idflow_idsop_idteam_member_id
title не везде
×11
Этапы flow-диаграммыКто ознакомлен с СОППодтверждённые компетенцииЗаписи оценки влиянияШаги согласованияПостверификации внедрения
parent_id не везде
×8
_qscript_
showreports

Показывать кнопку "Отчёты" в тулбаре списка (1=да)

10
hidecopy не везде
×5
1
multidelete

Разрешить удаление нескольких выбранных строк сразу (1=да, 0=по одной)

0_qscript_
group
×0

Группировка колонок (общий заголовок)

printable
×0

Не печатается

Идентификация 3 · включений: 306
src
×203

Путь к Qform-сущности (списку), который встраивается как вложенный список в форму

_other_bbs/bbs_audit_testingecology/general/nvos_general_wa…ecology/general/nvos_general_ar…testing/testing_questionsprojects_dr/tasks
name
×103

Алиас (когда имя != полю)

_other_tasksListpersons_listarea4objectdoctors_listlist_tasks
field
×0

Поле из SQL

Размеры 4 · включений: 70
height
×45

Высота вложенного списка в пикселях

6401000290300378230
width не везде
×25

Ширина

8001000400
maxwidth
×0

Ширина

minwidth
×0

Ширина

Сортировка/поиск 3 · включений: 32
hidefilterauthor
×32

Скрыть фильтр "Только мои записи" (1=да)

1_qscript_
searchable
×0

Не ищется

sortable
×0

Не сортируется

Поведение списка 1 · включений: 6
impl-delete не везде
×6
0
Источник данных (SQL) 1 · включений: 0
sqlrepr
×0

SQL для сортировки/поиска

Отображение 3 · включений: 0
caption
×0

Заголовок

hint
×0

Tooltip

short
×0

Короткий заголовок

Расположение 1 · включений: 0
hidden
×0

Скрыта по умолчанию

Связи/навигация 5 · включений: 0
Стиль 5 · включений: 0
align
×0

left/center/right

caption-icon
×0

Иконка вместо текста

cell-color
×0

Цвет ячейки по умолч.

color-flag
×0

Поле с цветом строки

nowrap
×0

Без переноса

Числовые форматы 1 · включений: 0
zero
×0

Что показывать вместо нулей

Примеры из реального кода 5

    <list rowsperpage="50" hidenewrec="1" hideview="1" hideedit="1" hidedelete="({{edu4_entity}}=1 && {{edu4_entities_kind}}=0 && {{!block_module}})?(0):(1)"
          cookieprefix="{{sys.file}}_1.2" dblclick="0"
          sql-divide-query="auto"
          sql-divide-query-auto-reduce-search="1"
          hidesysfields="1"
          hasreports="{{!block_module}}"
          hasexport="{{!block_module}}"
    >
        <reports></reports>
        <text></text>
        <legend></legend>
        <sql key="id"></sql>
        <cols default-col-width="100"
            hide-buttons-flag="hide_add_to_list_button,hide_remove_from_list_button,hide_passed_button"
        ></cols>
<!--if({{!block_module}}){-->
        <buttons></buttons>
<!-- } -->
        <filters></filters>

    </list>
@showalways packages/cr/rules_report.xml:168
<list name="persons_list" src="cr/rules_report_persons" hidesysfields="1" hidetoolbars="0" height="600" showalways="1">
    <param name="rule_id">{{id}}</param>
    <param name="company_id">{{field.company_id}}</param>
    <param name="did">{{field.did}}</param>
    <param name="do_include_children">{{field.do_include_children}}</param>
    <param name="position_full">{{field.position_full}}</param>
</list>
@showreports packages/contragenty/contractors.xml:41
<list rowsperpage="50"
    hidetoolbars="0"
    hidedelete="{{readonly}}"
    hidenewrec="{{readonly}}"
    hideedit="{{readonly}}"
    multiedit="({{rel}}=2||{{rel}}=3)?(1):(0)"
    cookieprefix="{{sys.file}}_v2beta"
    showreports="1">


    <text></text>
    <sql key="id"></sql>
    <cols defaultsort=""></cols>
    <filters>
    </filters>
</list>
@hideaddmore packages/ecology/general/nvos_general_2_tp_waste.xml:20
<list rowsperpage="50"  hidenewrec="0"  hidetoolbars="0" hidedbl="1" hideaddmore="1">
    <text></text>
    <legend></legend>

    <sql key="id"></sql>
    <cols defaultsort="ayear DESC" editable-flag="editable" deletable-flag="editable" viewable-flag="viewable" ></cols>
        <buttons></buttons>
    <filters></filters>
</list>
@multidelete packages/bbs/bbs_departments.xml:17
<list rowsperpage="50" hideedit="1" hidedbl="1" hideview="1" multidelete="0" multipleedit="0" dblclick="0" tabs-menu-level="2">
    <text></text>
    <sql key="id"></sql>
    <cols defaultsort="dep_array"></cols>
    <filters></filters>
</list>