Qform DSL knowledge base

<fieldset> ×183 в коде

Структура: форма

Вложенный набор записей (one-to-many или M2M через дочернюю таблицу)

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

ТегОписаниеВключений здесь
Структура: форма 1 · включений здесь: 162
<elements> Все элементы формы: поля, html-вставки, группы полей (fieldset) и прочее необходимо оборачивать в… 162
Структура: БД 1 · включений здесь: 149
<table> Имя SQL-таблицы (с опциональным database, impl-delete, name) 149
Поля ввода 3 · включений здесь: 40
<condition> Условие отображения/применимости элемента (зависит от значения другого поля) 38
<field> Поле для ввода информации в форму. 2
<choice> не везде Вариант выпадающего списка (статичный или динамический через SQL/array)
SQL/обработка 3 · включений здесь: 8
<defaultdata> Блок предзаполнения строк fieldset при создании новой родительской записи 6
<onchange> Обработчик изменения поля: do=update обновляет связанные элементы, do=js — JS-выражение 2
<mod> не везде Подгружает значение поля из SQL:
Кнопки/действия 1 · включений здесь: 0
<button> не везде Кнопка действия (открыть форму, выполнить SQL/JS/PHP-блок)
Оформление (HTML) 1 · включений здесь: 0
<html> не везде HTML-блок: alert-сообщение, информационный блок или произвольная разметка в форме

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

ТегОписаниеВключений здесь
Структура: форма 1 · включений здесь: 143
<elements> Все элементы формы: поля, html-вставки, группы полей (fieldset) и прочее необходимо оборачивать в… 143
Отчёты 1 · включений здесь: 17
<tab> Описание вкладки (tab) формы — группа элементов на отдельной странице 17
Поля ввода 1 · включений здесь: 1
<field> Поле для ввода информации в форму. 1

Атрибуты 17

АтрибутОписаниеЗначения
Идентификация 1 · включений: 182
name
×182

Имя fieldset — соответствует имени дочерней таблицы (one-to-many или M2M)

_other_check_passedsuper_statusesfieldslockablefieldsfields_dop
Fieldset 6 · включений: 117
reload-on-update
×34

Перезагружать содержимое fieldset при обновлении формы (1=да)

1_qscript_
overwrite
×32

Перезаписывать всю таблицу при сохранении: 1=удалить все и вставить заново, 0=только дельту

01_qscript_
order-enabled
×19 · пример

Разрешить пользователю менять порядок строк через drag-and-drop (1=да, 0=нет)

0
hidden_row_number
×14 · пример

Скрыть номер строки в fieldset (1=да; используется для одиночных вложенных записей)

1
limit
×13 · пример

Максимальное количество строк в fieldset

505201014
delete_plus

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

1
(без группы) 4 · включений: 54
hidden не везде
×25
_qscript_01
prompt не везде
×11
Перечень проектовКатегория документа_qscript_Значения
clear не везде
×9
0
style

Inline CSS-стили блока fieldset

border-top: 1px;
Поведение/валидация 3 · включений: 36
readonly
×16 · пример

Условие read-only для всего fieldset ({{выражение}} или 0/1)

_qscript_1
nostore
×14 · пример

Не сохранять данные fieldset в БД (1=да; для временных/вычисляемых блоков)

10
disabled

Заблокировать fieldset для редактирования (1=да; данные видны но не меняются)

1
Размеры 1 · включений: 20
width
×20

Ширина fieldset в пикселях

_int_956
Расположение 1 · включений: 20
interval-next не везде
×20
none
Сортировка/поиск 1 · включений: 5
sortable

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

01

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

@order-enabled packages/ecology/NVOS_accounting_objects.xml:481
<fieldset name="cadastral_numbers"  order-enabled="0" overwrite="0" width="1260">
    <condition field="none_cadastral_numbers" value="0"  />
    <table>
        <name>nvos_general_cadastral_numbers4object</name>
        <this_key>object_id</this_key>
    </table>
    <elements>
        <field name="cadastral_number" prompt="Кадастровый номер" required="1"/>
    </elements>
</fieldset>
@readonly @limit packages/admissions/loto/loto.xml:313
<fieldset name="affected_sibling_did_elements" reload-on-update="1" readonly="{{!can_change_sibling_did_settings}}" limit="5" overwrite="0" unique-field="id">
    <condition field="affects_sibling_did" checkbox="1" />
    <table>
        <name>admissions_loto_affected_sibling_did</name>
        <this_key>admissions_loto_id</this_key>
        <key_value>{{id}}</key_value>
    </table>
    <elements readonly="{{!can_change_sibling_did_settings}}">
        <field name="affected_did" type="dropdown" prompt="Смежное подразделение" required="1" external-select="1" external-select-url='/{{sys.workspace}}/dtree?embeded=1&amp;disbanded=0&amp;company_id={{field.company_id}}'>
            <onchange do="update" name="parent.change_cxheck" />
            <choice key="">-</choice>
            <choice key="id" field="shortpath">
                <sql>
                    <![CDATA[
                        SELECT departments.id, departments.shortpath
                        FROM departments
                        WHERE 1 AND departments.company_id = {{field.company_id}} AND departments.deleted=0 AND departments.disbanded=0
                    ]]>
                </sql>
            </choice>
        </field>
    </elements>
</fieldset>
@hidden_row_number @delete_plus packages/audit_dva/audit.xml:467
<fieldset name="member_holder" limit="1" hidden_row_number="1" delete_plus="1" delete_minus="1">
    <table>
        <name>audit_dva_audits_member</name>
        <this_key>audit_id</this_key>
        <where key="type" value="holder"/>
    </table>
    <elements readonly="({{role_cd}})?(1):({{readonly}})">
        <field name="type" default="holder" hidden="1"/>
        <include src="includes/field_member.inc" element_type="fieldset.field" allow_strangers="0" readonly="({{role_cd}})?(1):({{readonly}})"/>
    </elements>
</fieldset>
@nostore packages/ecology/_reports/reporting_excel.xml:23
<fieldset name="free_choice" nostore="1">
<condition field="type_srok" value="4" />
    <elements>
        <field name="ayear" prompt="Год" type="dropdown" required="1" default="{{sys.year}}" width="150" continue="1">
            <choice array="qaYears"></choice>
        </field>
        <field name="amonth" prompt="Месяц" type="dropdown" required="1" default="{{sys.month}}" width="150">
            <choice array="qaMonthNames"></choice>
        </field>
    </elements>
</fieldset>
@style packages/notifications/notifications_rules.xml:590
<fieldset name="changed_fields" order-enabled="0" reload-on-update="1" style="border-top: 1px;">
    <table></table>
    <condition field="only_changed" checked="1"/>
    <elements></elements>
</fieldset>
@disabled packages/new_risks/appoint_check_list_form.xml:27
<fieldset name="risk_barrier_check_list" limit="10" disabled="1" nostore="1">
    <table></table>
    <elements></elements>
</fieldset>
@sortable packages/edu4/courses_instruction.xml:485
<fieldset name="from_scripts_instr" sortable="1">
    <table></table>
    <elements></elements>
</fieldset>