Перейти до вмісту

Практична робота в K2 ERP PHP

Матеріал з K2 ERP Wiki

width: 9.5

form_script: offAutocomlite();showKult();$('editmoddp2_protokol_zern').attr('height','100px');$('#tr_zajavkid').hide(); caption: Тривалість днів

alias: zhuk

Приклад показує:

alias: z.dp2_zavdan_rowsid
  1. Icons: https://icons.getbootstrap.com/icons/
  2. https://fontawesome.com/icons
caption: С

видів, шт/кг alias: zovn_vygl_colir field: is_vlasn height: "90%" alias: bakterioz

  1. - name: "k2test_stimulsoft"
  2. caption: "StimulSoft Demo"
  3. url: "?adm=k2test_stimulsoft"
  4. command:

field: zignilogo neprorosli: vyhid:

# Exanole: addcaption_style: "{addcaption}"
# caption: "PHPGrid Demo6"
# badge bg-success text-bg-secondary me-3

</syntaxhighlight>

createuser:

rowpos: 27

  1. - name: "k2test_newphpgrid"
  2. caption: "PHPGridNew"
  3. url: "?adm=k2test_newphpgrid"
  4. command:

</syntaxhighlight> width: 75 rowpos: 21 formoptions:

caption: Вага на зараженість

naybshkidl:

align: center caption: Д align: center align: center alias: protokolid

align: right

alias: z.zajavkid type_field: checkbox hidden: true field: vmist_kult

label: "Дата протоколу" align: center

field: active

where: WHERE (zajavkid='<%zajavkid%>') width: 75

dstu_metod: readonly: false

active:

8.1. Майстер (dp2_zavdan_lab)

align: center

is_cond:

field: vaga_volog

caption - заголовок меню. * width задає ширину у гріді; width_form — у формі. Приклади нижче базуються на ваших файлах dp2_zavdan_lab (майстер) та dp2_zavdan_rows (детайл). formoptions:

caption: Змінено

type_field: date

usercreate, datecreate, userupdate, dateupdate, is_close, nakaz, is_cond, add_dstu, oecd, invoice, gmo, razresh_vidat_cert, opys_zrazka, vmist_oblushch, vmist_zernov,

order_ins:

formoptions: align: center

alias: z.zavdanid

readonly: false colpos: 3

# ... temp_name:
cond:

rowpos: 15

readonly: false

caption: SEO-опис та стан зразка

caption: - найбільш шкідливі, шт/кг

field: dstu_name

readonly: false

colpos: 2

edit_options:

alias: inshi_vmist

rowpos: 8

</syntaxhighlight>

alias: laborant

alias: nakaz

hidden: false

readonly: false

url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=designer'

anomaln:

align: center

cond:

alias: naybshkidl

rowpos: 22

caption: - сім҆ядольний бактеріоз

where a.active=1
field: vaga_hvorob

formoptions:

url: "?adm=k2test_pdf"
sql: "select a.analysisid as k, CONCAT(tc.card_num,' ',a.analysis_name) as v
align: left
editable: false
 select: select z.dp2_zavdan_rowsid, z.zavdanid, z.dstu_name, z.analysisid, z.laborantid, z.active, z.order_ins

colpos: 2

 left join templcard tc on a.templcardid=tc.templcardid

field: zovn_vygl_zapah

 width_form: 450

def_value: "<%zajavkid%>"

 field: ' '

vyhid, perevag_group, vmist_inshvyd, vmist_kult, insh_kult, vmist_zlisn, shogist, normalnogo, anomaln, tverdogo, gyttezdatn, zignilogo, neprorosli,

<syntaxhighlight lang="yaml"> select: |

align: center

 caption: Створив

formoptions:

width: 75

 Це — єдиний офіційний спосіб розставити інпут по рядках/колонках у стандартному редакторі phpGrid/jqGrid. align: center

 • ширину полів через editoptions.size,

width: 30

mishsazh:

* https://icons.getbootstrap.com/icons/

* https://fontawesome.com/icons

laborant:

 alias: z.createdate

width: 75
width: 75

* badge bg-primary

* badge bg-secondary

* badge bg-success

* badge bg-danger

* badge bg-warning

* badge bg-info

* badge bg-light text-dark

* badge bg-dark

 command:

field: vmist_zlisn

rowpos: 18

 cond:
align: center

align: center

readonly: false

sql: select null as k, '_' as v union select nakazid as k, nakaz_name as v from dp2_nakaz

width: 75

field: dstu_metod
field: vmist_osnkult

 hidden: true

readonly: false

readonly: false

tryvalist, inshi_kategorii, naybshkidl, vagkovidokreml, sert_ista, insh_doc, date_sert_insh, vyrobn_part, buryaniv, insh_bur, vymog_markuv, laborant, date_oderg, date_proved, date_proved_to, reestr_num, laborant_vidp, is_vysnov, is_vidpov,

caption: - зігниле

 field: createuser

width: 0.5

caption: Інженер-лаборант

caption: - кліщ

formoptions:
masa1000:

 design:

 sql: |

 updatedate:

 readonly: true

formoptions:
align: center

caption: - пліснявіння

 type_field: condition

- name: protocol_date
field: prot_num

 field: vaga_chist

'''шт./кг'''
 iconclass: "bi bi-file-earmark-excel"

 vaga_volog:

zhuk:
field: is_cond

table: dp2_zavdan_rows typeid: 1 sortname: order_ins sortorder: asc caption: Перелік випробувань where: " where (zavdanid='{masterid}')and(zavdanid<>'') "'' getmaster: true masterid: zavdanid
 hidden: true

# Заголовок таблиці (метадані): SQL‑джерело, ім’я таблиці, заголовок, сортування, висота, режим детайлу тощо. # Не забуті def_value там, де потрібні (як приклад, active: 1). Вмикає режим master–detail у UI. * Для динамічних фільтрів можна додавати власні плейсхолдери (залежно від вашої збірки K2Grid). Вміст насіння інших'''

=== 12) Приклад фрагментів з ваших файлів (адаптовані) ===

tryvalist:

sortname: order_ins

 editoptions.size — видима ширина інпута (в «символах»)

elmsuffix: " шт/кг"

formoptions:

readonly: true

rowpos: 25

class: anone

 order by tc.card_num, a.analysis_name"

formoptions:
active:

inshi_hvor_pov:

field: ' '

rowpos: 1

alias: sim_bakterioz

field: translate

type_field: date

alias: aktvypr_num

caption: - аномальних проростків

caption: Відповідальний виконавець

Застосовуйте утиліти вирівнювання, як приклад ms-auto або float-end:

type_field: checkbox
field: analysisid

readonly: false

readonly: false
width: 40

vmist_osnkult:

colpos: 3

addcaption: "+"
on z.vidav_id=lab.laborantid
parent: "root"

caption2:

exp: (false)

type_field: date

Меню до класів формується за допомогою масиву, або автоматизовано - за допомогою yml-файлу. colpos: 2

caption: Видав

rowpos: 7

hidden: false

! * detile — назва детальної таблиці (YML‑ідентифікатор). Дозволені JOIN забезпечується через * select — SQL, який повертає всі стовпчики, потрібні; так само реалізовано LEFT JOIN тощо. • розкладку полів формою через formoptions.rowpos/colpos, formoptions: colpos: 2

- name: "k2test_demopivottable"
readonly: false

width: 75

width: 30

colpos: 3

# Показывать поле для пользователей с правами:
#show_for: "-1, 1"
width: 120

alias: opys_zrazka rowpos: 3 formoptions: гріда. # DropDown — довідник. Якщо show_for не задано, елемент показується всім, хто має доступ до гріда загалом. show_for: "-1, 1"

field: dstu

  • sortname/sortorder — глобальне сортування гріда. * hidden: true — ховає колонку у гріді (залишається доступною у формі, якщо не заборонено окремо). |-

|width |Ширина колонки у гріді (пкс). ** show_for — (опціонально) обмежити відображення за user.id; напр., "-1, 1" — видно тільки користувачам з id −1 та 1. |- |type_field |Тип редактора/віджета: date, datetime, checkbox, DropDown, condition, ін. cond:

  • readonly: true/false у полі — контролює редагування у формах add/edit. * height — висота вікна (px або %), напр. |}

width: 120

alias: z.active

align: center

  1. date / datetime — відповідні календарні редактори. caption: - інші види

field: vmist_otruynyh

Можна використовувати будь-які з наступних класів:

readonly: true

formoptions:

editoptions:

exp: (false)
exp: (false)

rowpos: 14

readonly: false

width: 75

field: updateuser
alias: z.zajavn

rowpos: 13

caption2: 
readonly: false
print:

field: normalnogo

  1. is_vysnov:
  1. field: is_vysnov
  1. alias: is_vysnov
  1. caption: Висновок так/ні
  1. width: 75
  1. readonly: false
  1. align: center
  1. type_field: checkbox
  1. formoptions:
  1. rowpos: 17
  1. colpos: 3

formoptions:

formoptions:

білої гнилей

card_comment:
align: right

editrules: { integer: true, minValue: 0 }

type_field: date

field: order_ins

D:

sklkonraktyf:

field: gryb_utv

width: 75

shogist:

field: ' '

label: "Вологість"

% або шт\кг.

alias: plisnyavinnya

2.1. Майстер (як приклад, dp2_zavdan_lab)

command - команда. * where: " where (zavdanid='{masterid}')and(zavdanid<>) " — фільтр, який підставляє значення поточного рядка майстра у плейсхолдер {masterid}.

z.vaga_total, z.vaga_chist, z.vaga_volog, z.vaga_hvorob, z.date_begin, z.date_end, z.createuser,

field: zhuk readonly: false

field: dp2_zavdan_rowsid

field: vagkovidokreml formoptions: |- |field |Фактичне поле з select (ім’я стовпчика у результаті SQL). Зовн. * sortorder — напрямок сортування: asc / desc. * Числові колонки вирівнюйте праворуч (align: right), дати — ліворуч/по центру. * recreateForm — створювати форму щоразу наново (часто потрібне) (true|false). |- |def_value |Значення за замовчуванням при створенні (add). |- |caption |Текст заголовка колонки у гріді / підпис у формі. Зараженість хворобами,

caption: "Examples"

align: center

Формування таблиць

caption: 1. Найчастіші атрибути:

rowpos: 2

colpos: 1

readonly: false

type_field: checkbox

ДСТУ так/ні

width: 75

gyttezdatn:

readonly: true
width: 150

caption: - у тому числі

editoptions:

field: buryaniv

'

width: 30

rowpos: 12

width: 30

url2: '/?adm=dp2lab_zavdan_lab&mode=admin&op=edit_template&rowid={dp2_zavdan_rowsid}'

formoptions:

url: "?adm=k2test_phpgrid"

addcaption_style - стиль, того, що виводиться справа, якщо потрібно зробити, щоб він відрізнявся від стилю по замовчуванню. технічна документація з формування меню. readonly: false

align: right

html:

from dp2_zavdan_rows z

- вміст культурних Приклад: type_field: date alias: sklkonraktyf html: Active

# Показывать поле для пользователей с правами:

width: 75 rowpos: 19 vmist_karantyn: width: 75 alias: date_oderg elements:

Порада: якщо ставиш height: "90%", часто корисно у своєму CSS для контейнера форми дозволити вертикальний скрол, щоб контент не “вилазив” із модалки. Этот блок должен быть с супер-администратором ###########

align: center

date_oderg:

where a.active=1
caption: С

colpos: 3

alias: is_vlasn

goroh_zer:

caption: Заявка №

alias: mishsazh

bakterioz:

width: 75

  1. notcond:
  1. field: notcond
  1. caption: Конд. 1000 або "90%". інші колонки, кнопки condition, довідники DropDown, чекбокси

alias: masa1000

align: center
  1. SQL select повертає всі поля, зазначені у fields: (включно зі службовими ID). * masterid — назва поля, яким детайл зв’язаний із майстром (у SQL‑select детайлу це має бути стовпчик, що містить «ключ майстра»). * align — left, center, right залежно від типу даних (дати/текст/числа). Заселеність шкідниками,

</syntaxhighlight>

url2: '/?adm=dp2lab_zavdan_lab&mode=admin&op=edit_template&rowid={dp2_zavdan_rowsid}'

table: dp2_protokol_zern

Джерело для select

def_value: 1
sql: |

align: center

  1. Створіть майстер YML: пропишіть select, table, caption, sortname, sortorder, height, додайте detile: <detail_name>. Вимикайте. Вологість,%

readonly: false

align: center

select z.zavdanid, ... * caption — заголовок гріда (відображається у UI). |-

|alias |Опційно: явна вказівка на table_alias.column у випадку конфліктів/JOINS. addcaption - текст, що виводиться права від меню (в нашому прикладі - це +). command:

caption: is_closei

dataInit: "js:function(el){ $(el).datepicker({ dateFormat:'dd.mm.yy' }); }"

align: center align: center Доступні плейсхолдери підставляються зі значень поточного рядка: caption: у тому числі readonly: true formoptions:

field: vidav_id

exp: (false)

width: 150
templcardid:

readonly: false readonly: false colpos: 2

# ... Зовн. width: 30

alias: fomopsys

rowpos: 22

field: zavdanid
width: 30

caption: Акт відбір проб

alias: z.analysisid
width_form: 450

field: insh_shkid

alias: laborant_vidp

field: naybshkidl

  1. chystota:
  1. field: chystota
  1. alias: chystota
  1. caption: 2. 9), задеплойте обидва YML. * Забутий getmaster/masterid/where у деталі → деталь не фільтрується за активним майстром. Забезпечте точні імена стовпців. потр. alias: vmist_prorosl
  • getmaster: true — переводить грід у детальний режим. Приклади:

rowpos: 5

• глобальне керування вікном через edit_options,
field: laborantid

readonly: true за складання протоколу alias: neprorosli closeAfterEdit: false formoptions: width: 75 readonly_form: caption: Відповідає вимогам

caption: "PHPExcel"
type_field: datetime
alias: z.updatedate
field: zavdanid
from dp2_zavdan_lab z 
exp: (false)
exp: (false)

readonly: false </syntaxhighlight> type_field: checkbox

  1. condition — умовне поле‑дія (кнопка/іконка). readonly: false

Приклад кнопки у детайлі (редагувати картку рядка):

Через editoptions.dataInit: "js:function(el){ /* ініціалізація */ }". * savekey — гарячі клавіші збереження, напр. # Для деталі встановлено getmaster: true, masterid: <поле_зв’язку> і правильний where з {masterid}. * Для друку/експорту — робіть окремі condition‑поля з чіткими url2. # condition‑кнопки мають коректні url2 і плейсхолдери. # Додайте поля деталі: ID, <master_key> (можна приховати), довідники, черговість order_ins, active тощо. * where — додаткове фільтрування SQL (часто застосовується у детайлі з плейсхолдерами). * typeid — тип опису (для K2Grid; зазвичай 1). * У детайлі select обов’язково повертає:
    • власний ключ рядка (як приклад, z.dp2_zavdan_rowsid),
    • поле зв’язку з майстром (z.zavdanid),
    • усі колонки, що потрібні гріду. Контролюй ширину саме інпута через editoptions.size (text) або rows/cols (textarea). # width: 50
  1. readonly: true
  1. align: center
  1. type_field: condition
  1. cond:
  1. exp: '$row ["is_cond"] == 0'
  1. url2:
  1. target2: _self
  1. caption2: "<button class='' onclick='notCond(\"{zajavkid}\", 0)' href='javascript:void(0)'></button>"
  1. url1:
  1. target1: _self
  1. caption1: "<button class='' onclick='notCond(\"{zajavkid}\", 1)' href='javascript:void(0)'></button>"

field: date_proved

table: dp2_zavdan_lab typeid: 1 sortname: order_ins sortorder: desc caption: задача на проведення випробувань height: 300 detile: dp2_zavdan_rows fields:

html:

caption: К

Додатково

readonly: true

readonly: false

from dp2analysis a

zasel_shkidn:

align: center

rowpos: 15

alias: z.laborantid

opys_zrazka:

sql: select null as k, '_' as v union select dstuid as k, dstu_name as v from dp2_dstu where inprot = 1

alias: vyhid

field: vmist_inshvyd

url: "?adm=k2test_phpexcel"

align: center

readonly: false

addcaption_style: "{addcaption}"

6

is_clone: false

formoptions:

  1. zajav_navypr:
  1. field: zajav_navypr
  1. alias: zajav_navypr
  1. caption: Заявка на випробування
  1. width: 75
  1. readonly: false
  1. align: center
  1. date_zajav_navypr:
  1. field: date_zajav_navypr
  1. alias: date_zajav_navypr
  1. caption: Дата заявка на випробування
  1. width: 75
  1. readonly: false
  1. align: center
  1. type_field: date
  1. meta:
  1. field: meta
  1. alias: meta
  1. caption: Мета
  1. width: 75
  1. readonly: false
  1. align: center
  1. is_meta:
  1. field: is_meta
  1. alias: is_meta
  1. caption: Мета так/ні
  1. width: 75
  1. readonly: false
  1. align: center
  1. type_field: checkbox
width: 120

print:

width: 75

alias: is_close

colpos: 3

colpos: 2

sql: select laborantid as k, CONCAT(pip,' ',posada) as v from dp2laborants order by pip

field: is_close

alias: fuzarioz

alias: date_proved

rowpos: 18

1: zajavkid

align: center

- name: "k2test_phpkool"
align: left
  1. country_poh_nas:
  1. field: country_poh_nas
  1. alias: country_poh_nas
  1. caption: Країна походження насіння
  1. width: 75
  1. readonly: false
  1. align: center
  1. vyrobleno:
  1. field: vyrobleno
  1. alias: vyrobleno
  1. caption: Вироблено
  1. width: 75
  1. readonly: false
  1. align: center
  1. sert_ista:
  1. field: sert_ista
  1. alias: sert_ista
  1. caption: сертифікат сортовий
  1. width: 75
  1. readonly: false
  1. align: center
  1. #
  1. date_sert_sort:
  1. field: date_sert_sort
  1. alias: date_sert_sort
  1. caption: дата видачі сортовий
  1. width: 75
  1. readonly: false
  1. align: center
  1. type_field: date
  1. insh_doc:
  1. field: insh_doc
  1. alias: insh_doc
  1. caption: інші документи про походження насіння посівний|ISTA
  1. width: 75
  1. readonly: false
  1. align: center
  1. # type_field: textarea
  1. oecd:
  1. field: oecd
  1. alias: oecd
  1. caption: ОЕСР
  1. width: 75
  1. readonly: false
  1. align: center
  1. invoice:
  1. field: invoice
  1. alias: invoice
  1. caption: Інвойс
  1. width: 75
  1. readonly: false
  1. align: center
  1. gmo:
  1. field: gmo
  1. alias: gmo
  1. caption: ГМО
  1. width: 75
  1. readonly: false
  1. align: center
  1. date_sert_insh:
  1. field: date_sert_insh
  1. alias: date_sert_insh
  1. caption: дата видачі інших документів
  1. width: 75
  1. readonly: false
  1. align: center
  1. type_field: date
  1. vyrobn_part:
  1. field: vyrobn_part
  1. alias: vyrobn_part
  1. caption: виробнича партія
  1. width: 75
  1. readonly: false
  1. align: center
caption2: 

rowpos: 10

colpos: 3

% або шт/кг

align: center

vmist_prorosl:

width: 75

Offline

readonly: true

vnutr_inf, gryb_utv, zasel_shkidn, insh_shkid, zhuk, dstu, dstu_metod, zajavkid, aktvypr_date, aktvypr_num, umovy, zajav_navypr, date_zajav_navypr, meta, is_meta,

readonly: false
alias: z.dstu_name

inshi_hvor_vn:

caption: - склероції сірої та

type_field: date

type_field: datetime

readonly: false

width: 75

K2Grid YML: створення таблиць у зв’язці master–detail

readonly: false

3. Анімація або пульсація

rowpos: 6

align: center

caption: is_condi

  1. obrobka:
  1. field: obrobka
  1. alias: obrobka
  1. caption: Обробка насіння
  1. width: 75
  1. readonly: false
  1. align: center
  1. vymog_markuv:
  1. field: vymog_markuv
  1. alias: vymog_markuv
  1. caption: Вимоги маркування (етикетки)
  1. width: 75
  1. readonly: false
  1. align: center
  1. type_field: textarea

width: 75

sql: select laborantid as k, CONCAT(pip,' ',posada) as v from dp2laborants order by pip

rowpos: 7

width: 1000 # px або "90%"

readonly: false

readonly: false

field: inshi_hvor_vn

align: center

cond:

Меню до класів формується за допомогою масиву, або автоматизовано - за допомогою yml-файлу. form_width: 1400

width: 75

width: 120

formoptions:

order by tc.card_num, a.analysis_name

alias: insh_shkid

readonly: false

alias: inshi_chystota

width: 75

width: 75

rowpos: 21

width: 120

inshi_vmist:

inshi_chystota:

field: bakterioz

formoptions:

colpos: 3

конфігурація форми в таблиці

type_field: condition

align: center

readonly: false

1. Кольори бейджів

rowpos: 14

align: center

align: center

alias: z.vaga_volog

field: goroh_zer

editable: false

readonly: false

vidav_id:
alias: z.analysisid
alias: z.vidav_id

6) Режими відображення/редагування

readonly: false

on a.templcardid=tc.templcardid

rowpos: 16

field: laborant_vidp

caption: - фузаріоз

Прийнято зберігати меню в в /папка компоненти/res/menu/назва меню.yml. * modal — модальність (true|false). * height — фіксована висота гріда у пікселях або відсотках (як приклад, 300). Чистота, %

readonly: true

- name: "k2test_jqwidgets"

Приклад YML таблиці:

Або разом із цифрою:

edittype: text

view_options: {...} — для форми «Перегляд»

align: center

field: ' '
templcardid:

fuzarioz:

caption: - фомопсис

7) Плейсхолдери у URL/WHERE

url: "?adm=k2test_phpkool"

field: fomopsys

readonly: false

</syntaxhighlight>

  1. byte_chystota:
  1. field: byte_chystota
  1. alias: byte_chystota
  1. caption: бите
  1. width: 75
  1. readonly: false
  1. align: center

Довідник «Відповідальний виконавець» у детайлі

caption: ID

</syntaxhighlight>

colpos: 1

rowpos: 13

type_field: condition

inshi_kategorii:

vmist_zernov:

width: 120

100% { transform: scale(1); opacity: 1; }

width: 450

tverdogo:

caption: "PHPKool Demo"
field: zavdan_date

FROM dp2_protokol_zern

readonly: false

rowpos: 9

alias: z.order_ins

formoptions:

field: protokolid

align: center

 analysisid:

 left join templcard tc

edittype: text

aktvypr_date:

caption: '''наявність внутрішньої'''

 caption2: 

 align: left

align: center

formoptions:

 caption: Дата

readonly: false

# insh_kult:

# field: insh_kult

# alias: insh_kult

# caption: у тому числі

# width: 75

# readonly: false

# align: center

# formoptions:

# rowpos: 3

# colpos: 2

formoptions:

 align: left

 readonly: true

alias: tverdogo

 order by labs.adress, pip

field: anomaln

maxlength: 50

readonly: false

target2: _self

type_field: DropDown

# insh_bur:

# field: insh_bur

# alias: insh_bur

# caption: у тому числі

# width: 75

# readonly: false

# align: center

# formoptions:

# rowpos: 5

# colpos: 2

 url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=print'

align: center

 hidden: false

==== 3.1. Спеціальні типи type_field ====

search: false

Ви можете використовувати Font Awesome, Bootstrap Icons або будь-які інші SVG/шрифтові іконки всередині бейджа:

alias: add_dstu

field: tryvalist

class: anone

field: inshi_kategorii

 width: 30

recreateForm: true

 align: center

alias: anomaln

field: aktvypr_num

 caption: "PHPGrid Demo"

 type_field: condition

==== Кнопки в майстрі ====

vnutr_inf:

 alias: z.vaga_hvorob

переважальні групи

 - name: "k2test_phpgrid"

readonly: false

readonly: false

colpos: 2

caption: К

plisnyavinnya:

 card_num:

width: 75

 caption: Порядок

edittype: text

 exp: (false)

caption: Наказ

sim_bakterioz:

 type_field: condition

formoptions:

align: center

==== 1.2. Рекомендовані/опційні ключі заголовка ====

prot_num:

vmist_kult:

readonly: false

Прийнято зберігати меню в в /папка компоненти/res/grid/назва меню.yml. |-
|align
|left / center / right — вирівнювання у гріді. "90%". * Встановлено search: true для службових полів‑кнопок → зайвий шум у пошуку. ** cond.caption2 — HTML іконка/підпис кнопки. on l.labid=labs.labid

caption: - отруйних

formoptions:

readonly: false

alias: zignilogo

alias: vmist_zlisn

rowpos: 16

 field: date_begin

width: 175

 exp: (false)

alias: shogist

alias: vmist_zernov

size: 8

colpos: 3

size: 8

PHPGrid Demo

===== Примітка: show_for (ACL за user.id) =====

 align: left

caption: '''наявність поверхневої'''

 show_for: "-1, 1"

width: 75

align: center

alias: goroh_zer

 addcaption: "+"

alias: date_proved_to

align: center

width: 175

formoptions:

 command:

0: prot_num

випробувальної лабораторії

==== Де задається ====

caption: Номер протоколу

 width: 150

==== 5. Кастомний HTML у бейджі ====

 alias: z.laborantid

search: false

 from dp2_zavdan_lab z

caption: Протокол на вл. # У деталі у select присутнє поле‑зв’язка з майстром (напр., zavdanid). * search: false — вимкніть пошук для службових стовпчиків (кнопок, ID, службових полів). caption: - твердого насіння

 або

caption: ДСТУ на об`єкт випробувань

field: rizhky

 caption: Р

=== 5) Сортування, пошук, ширини, вирівнювання ===

width: 75

 type_field: DropDown

align: center

caption: '''4. readonly: false
readonly: true
caption: '''9. ''html:'' 
<syntaxhighlight lang="yaml"> card_comment:

* {zavdanid}, {dp2_zavdan_rowsid}, {masterid} тощо. Чистота, %'''

# width: 75

# readonly: false

# align: center

 alias: z.createuser

align: center

YML SEO-опис таблиці складається з двох шарів:

 alias: z.zavdanid

width: 75

readonly: false

autowidth: false

Примітка: для майстра ключі where, getmaster, masterid зазвичай не задаються, а для детайлу — це основа зв’язування. align: center

* sortname — поле сортування за замовчуванням (як приклад, order_ins). colpos: 2
==== Типи редакторів (типові) ====
 readonly: false
 type_field: DropDown
 iconclass: "bi bi-card-list"
 readonly: true

 updateuser:
colpos: 2
width: 75
!SEO-опис
colpos: 3
caption: - у тому числі життєздатного
rowpos: 12
 width: 120

rowpos: 3
==== 6. Комбіновані бейджі (як приклад, статуси) ====
prot_data:
normalnogo:
 url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=create_protokol'
field: date_proved_to
 date_begin:

 caption: Видав задача
readonly: false
align: center
inshi_hvor_gr:
field: inshi_hvor_gr
readonly: false
width: 75

width: 75
alias: dstu_metod
 url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=print'
razresh_vidat_cert:
 editable: false
 width: 30
alias: buryaniv

align: center
width: 75
 align: left
typeid: 1
animation: pulse 1s infinite;
caption2: 
nakaz:

width: 75
footer: true
 templcardid:
fields:
 (JS-функція ініціалізує, як приклад, datepicker/flatpickr/mask на конкретному інпуті)
 field: date_end
width: 75
rowpos: 4

 alias: z.dp2_zavdan_rowsid
caption: '''8. * checkOnSubmit  попередження при незаповнених/помилкових полях. laborant_vidp:

align: center
formoptions:
align: center
 align: left
colpos: 2
colpos: 3
width: 75
readonly: false
 type_field: date
alias: dstu
caption: - сажкові утворення

 iconclass: "bi bi-file-earmark-pdf"
 alias: z.date_begin
caption: '''3. По ньбому потім будуть визначатись права доступу користувачів. * getmaster: true — вказує, що грід функціонує у режимі детайлу й очікує ідентифікатор майстра. * Для великих довідників у DropDown додайте розумний order by, а так само фільтри where a.active=1. # Для майстра задано detile: <ім'я_детальної_таблиці>. editoptions.maxlength — максимум символів

* Відсутня колонка в select, але вона згадана у fields: → отримаєте помилку мапінгу/рендеру. огляд,''' запах

colpos: 2

colpos: 3

formoptions:

colpos: 3

formoptions:

5

 where: " where (zavdanid='{masterid}')and(zavdanid<>'') "''

Кожен елемент у fields: має внутрішнє ім’я (ключ на рівні YML) та набір атрибутів. насінин"

  • Для числових/текстових полів у більшості випадків вистачає комбінації:
    • formoptions.colpos/rowpos для розміщення,
    • editoptions.size/rows/cols для розміру інпута,
    • formoptions.elmsuffix для одиниці виміру. align: center
iconclass: "bi bi-grid-3x3"

cond:

alias: is_vidpov

}

alias: is_cond

left join dp2labs labs
alias: z.zavdan_num

caption: - непроросле здорове

readonly: false

field: mishsazh

width: 75

width: 150

readonly: false

rowpos: 8

align: center
align: left

url - URL переходу по пункту меню

formoptions:

caption: ID
У стандартному редакторі немає офіційного colspan. * У детайлі найчастіше застосовується для {masterid} у where:. # У DropDown‑полях SQL повертає k та v з доречним order by.

4) Вимоги до select

field: zajavn
zavdan_date:

field: laborant zignilogo: is_close:

field: laborantid
field: createdate

caption: 7. * position — позиція вікна ("center" або {top:60,left:80}). alias: tryvalist

1.1. Обов’язкові ключі заголовка

width: 75

caption: Назва випробування
readonly: true

editrules: { number: true, minValue: 0 }

field: active

caption: Дата проведення від caption: - інші види шкідників protokolid: field: sklsirbilgnyl alias: gryb_utv readonly: true edittype: text # або date, якщо ініціалізуєш календар через dataInit colpos: 2 rowpos: 1 field: inshi_chystota width: 75 width: 75 align: center vmist_obrush:

readonly: false

colpos: 2

type_field: DropDown

sql: select null as k, '_' as v union select dstuid as k, dstu_name as v from dp2_dstu where inprot = 1 editoptions:

field: updatedate
search: false
 design:
checkOnSubmit: true
 order_num:
readonly: false

align: center

* У майстрі select повинен повертати ключ майстра (як приклад, z.zavdanid) і всі поля, що відображаються. url: "?adm=k2test_demopivottable"

* edittype: "text" | "textarea" | "select" | "checkbox" | "date"

width: 75

 - name: "k2test_pdf"

* edittype: "select"

* editoptions.value — словник або id:label;id2:label2

vmist_otruynyh:

* editoptions.dataUrl + editoptions.buildSelect (для підвантаження HTML <select>)

colpos: 3

* editrules.required: true

* editrules.number: true / integer: true

* editrules.minValue / maxValue

* editrules.email: true / date: true / time: true

category:

* editoptions.dataInit: function (elem) { ... # Перевірте чек‑лист (розд. Приклад: show_for: "-1, 1" — видно користувачам з id −1 та 1. Напр.: "-1, 1" — видно лише користувачам з id = -1 і id = 1. , lab.login

vologist:

Master:

field: razresh_vidat_cert

''css:'' .pulse-badge {

 readonly: true

rowpos: 3

align: center

exp: '(false)'

width: 75

gryb_utv:

 from dp2laborants l

 align: right

dstu:

align: center

width: 75

field: tverdogo

rowpos: 1

 width: 30

align: center

colpos: 1

####### Этот блок должен быть с супер-администратором ###########

target2: _blank

readonly: false

caption: Дата проведення по

caption: ДСТУ на метод випробувань

field: vnutr_inf

is_vidpov:

=== 2) Зв’язок master → detail ===

- name: insh_vidy

 readonly: false

fields:

rowpos: 4

data_width: 1390

width: 75

readonly: false

rowpos: 3

####### Конец блока. readonly: false

align: center

 caption: Дата кінця

* У кожній колонці:

** formoptions: {...} — тільки для відображення в формі

** edittype — тип редактора

** editoptions: {...} — опції редактора

** editrules: {...} — правила валідації

 align: left

* formoptions.rowpos — номер рядка (1, 2, 3, …)

* formoptions.colpos — номер колонки (1, 2, 3)

<syntaxhighlight lang="yaml"> select: |

* formoptions.elmprefix / formoptions.elmsuffix — невеличкий текст перед/після інпуту (інтуїтивно для одиниць: %, г, шт/кг)

field: sklkonraktyf

* Для edittype: "text":

 alias: z.active
field: add_dstu

* Для edittype: "textarea":

label: "Маса 1 тис. інші колонки, кнопки condition, довідники DropDown, дати, чекбокси
caption2: "<button class=<nowiki>'' onclick='closeProtokol(\"{zajavkid}\", \"{is_vidpov}\", \"{shogist}\")' href='javascript:void(0)'</nowiki>>Видати документ</button>"

field: vyhid
Порада: для уникнення конфліктів імен використовуйте alias: з префіксом таблиці (як приклад, alias: z.zavdan_date). align: left

align: center

formoptions:
align: center
Приклад вивода такого меню:
 
 align: right
 
field: vmist_prorosl
<syntaxhighlight lang="yaml"> vidav_id:
rizhky:
==== 2.2. Деталь (як приклад, dp2_zavdan_rows) ====
readonly: false
alias: normalnogo
perevag_group:
alias: zaragenist
label: "Номер протоколу"
''html:'' <span class="badge bg-danger pulse-badge">! Ключі:

** cond.exp — логічний вираз (можна тримати (false) аби завжди показувати варіант url2/caption2). |-
|readonly
|true/false — чи дозволено редагування у формі.==== 8.2. Деталь (dp2_zavdan_rows) ====

field: inshi_vmist

 type_field: condition

{| class="wikitable"

colpos: 2

 select z.dp2_zavdan_rowsid, z.zavdanid, ... як приклад:

 • одиниці виміру через formoptions.elmsuffix,

=== 1) Структура YML загалом ===

 type_field: condition

width: 75

caption: з них

 caption: Д

 z.updatedate, z.updateuser, z.createdate, z.order_ins, lab.login

type_field: condition

readonly: false

 hidden: false

columns:

 readonly: false

savekey: { enter: true }

 select l.laborantid as k, CONCAT(l.pip, " | ", labs.adress) as v

 width: 150

 field: vidav_id

==== Що реально функціонує й для чого ====

vmist_inshvyd:

K:

 caption: Вкл

field: umovy

colpos: 3

 readonly: true

width: 75

alias: vmist_oblushch

caption: - обрушеного

alias: inshi_hvor_vn

formoptions:

readonly: false

width: 75

alias: inshi_hvor_pov

 align: center

 readonly: true

caption: - ріжки, шт/кг

align: center

 vaga_hvorob:

exp: (false)

alias: inshi_kategorii

width: 75

width: 75

sortorder: desc

name - ідентифікатор меню. field: inshi_hvor_pov

elmsuffix: " г"

* table — логічне ім’я сутності (застосовується для для CRUD, логіки backend). # Додайте поля: ID (hidden/readonly), інформативні колонки, потрібні кнопки condition, довідники DropDown, дати/чекбокси. * Виносьте важкі обчислення у представлення/види БД (view), а в select — мінімум потрібних полів. Необхідно задати sql, що повертає k (ключ для збереження) та v (текст для відображення). 50% { transform: scale(1.2); opacity: 0.6; }

colpos: 3

colpos: 3

 from dp2analysis a

type_field: DropDown

vmist_oblushch:

=== 3) Поля (розділ fields:) ===

 left join dp2laborants lab

Можна вставити будь-який HTML: SVG, emoji, спінер:

align: center

 field: ' '

caption: ID протоколу

=== 4) Часті питання / підводні камені ===

rowpos: 1

field: opys_zrazka

# is_del: false

elmsuffix: " %"

width: 75

# height: 800

field: plisnyavinnya

alias: prot_data

colpos: 3

- name: protocol_num

translate:

colpos: 2

 vaga_chist:

 caption: "jQWidgets"

# masterid: zajavkid

 hidden: false

field: fuzarioz

fields:

formoptions:

caption: '''6. align: left

cond:

 alias: z.updateuser

width: 75

0% { transform: scale(1); opacity: 1; }

width: 75

 caption: Назва випробування

# formoptions:

# rowpos: 1

# colpos: 2

field: aktvypr_date

''html:'' <a href="#" class="nav-link d-flex justify-content-between align-items-center">

field: poverhn_inf

width: 75

 search: false

width: 75

colpos: 2

 cond:

formoptions:

width: 75

 width: 400

==== Де задається ====

url2: '/?adm=k2dp2_protokol&mode=admin&id={protokolid}&zajavkid={zajavkid}&group=1&op=designer&temp=print'

rowpos: 6

# formoptions:

# rowpos: 1

# colpos: 2

 type_field: condition

align: center

add_dstu:

field: prot_data

 name: "k2test_examples_old"

caption: '''2. {enter:true}. width: 75

 width: 150

inshi_chystota, inshi_vmist, inshi_hvor_pov, inshi_hvor_vn, inshi_hvor_gr, goroh_zer, date_sert_sort, byte_chystota,

* detile: dp2_zavdan_rows  оголошує, що під грідом майстра відображатиметься вкладка/панель з детальною таблицею. Зарезервований функції ERP на майбутнє. Маса 1 тис.'''
Вміст насіння, осн культури
 edit_card:
align: center
colpos: 2
readonly: false
width: 75
==== Валідація ====
vmist_otruynyh, vmist_karantyn, bakterioz, plisnyavinnya, fomopsys, is_vlasn
rowpos: 9

formoptions:
rowpos: 2
align: center
position: center # або {top:60, left:80}
 Використовуй formoptions.elmsuffix: " %" / " г" / " шт/кг". * Неправильний alias при JOIN → колізії імен. Схожість, %'''

 editable: false

align: center

 (інші кастомні  уже твоєю ініціалізацією через dataInit)

align: center

alias: vagkovidokreml

width: 75

Поле show_for функціонує як простий ACL: якщо задано, елемент (колонка/кнопка) відображається лише тим користувачам, чиї user.id входять до списку. ** cond.url2  куди перейти при кліку (можно зі змінними {zavdanid}, {dp2_zavdan_rowsid} тощо). * Тримайте службові кнопки (типу condition) вузькими (width: 30–40). * closeAfterAdd / closeAfterEdit  закривати після збереження (true|false). |-
|editable
|Службовий прапорець для UI у деяких темах; зазвичай зайве, якщо виступає як readonly. }

 select a.analysisid as k, CONCAT(tc.card_num,' ',a.analysis_name) as v

 field: order_ins
 width: 150
rowpos: 19
width: 75
 iconclass: "fa fa-flask"
readonly: false
colpos: 3

# --- Глобальне керування формою Редагування ---

 width: 450

alias: razresh_vidat_cert

size: 12

caption: Відповідальний

field: gyttezdatn

 field: ' '

 align: center

==== Ініціалізація віджетів (календар, маски тощо) ====

colpos: 2

# --- Колонки (лише приклади) ---

<syntaxhighlight lang="yaml"> create_proto:

readonly: false

width: 75

 alias: z.order_ins

umovy:

align: center

 url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=designer'

 width: 30

 caption: Вкл

 align: left

 alias: z.vaga_chist

 caption: ID

 readonly: false

 caption: Проба №

 order by labs.adress, pip

==== 2. Іконки замість або разом із цифрами ====

formoptions:

align: center

show_for: "-1, 1"

 editable: false

 caption2: 

caption: '''5. * За потреби можна розширити контролі видимості окремими секціями show: (list/add/edit/view), якщо це підтримується вашою збіркою K2Grid. caption: '''наявність грибних утворень,'''

* За потреби опишіть кастомні ролі та використовуйте show_for для кнопок‑дій. |-
|show_for
|Контроль видимості за user.id: кома‑розділений список ідентифікаторів користувачів, для яких поле показується. Імітуй: постав colpos: 1, наступне поле  вже на наступному rowpos. огляд,''' колір
readonly: false
 cond:

align: center
 from dp2_zavdan_rows z
alias: rizhky
 type_field: condition
colpos: 2
==== Ширина/висота самого інпута (а не колонки грида) ====
align: center
 width: 400
readonly: false

formoptions:
 width: 150
 command:
readonly: false
alias: zovn_vygl_zapah
field: neprorosli
colpos: 2
 readonly: true
caption: Видати документ

formoptions:
poverhn_inf:
caption: Життєздатність
 caption2: 
caption: Дод. # checkbox — логічний перемикач. rowpos: 24
 readonly: false
formoptions:
 search: false
 field: ' '

 alias: z.vaga_total
readonly: false
 readonly: true
Результат виконання:
vagkovidokreml:
 field: ' '
readonly: false
hidden: false
colpos: 2
target2: _blank

- name: vologist

 width: 160
colpos: 3
caption: - конюшинового

formoptions:
caption: Дата одержання проби
 caption: Дата початку
alias: zasel_shkidn
colpos: 2
width: 75
rowpos: 11
colpos: 2
Окремо варто відзначити таблиць K2Grid, YML-описів, master-detail зв’язків і конфігурація форм у K2 Cloud ERP PHP виступає ключовою рисою '''Класи та команди K2 Cloud ERP PHP'''. Для складніших кейсів — власний CSS клас через editoptions.class і стилізуй. |-
|width_form
|Ширина елемента у формі (редакторі). інтуїтивно у парі з def_value: 1 для активних записів. ДСТУ
caption: - карантинних
 type_field: DropDown
alias: vmist_osnkult
 width: 75
align: center

# show:
# list: false
# add: false
# edit: false
# view: true

=== 10) Типові помилки й як їх уникати ===
width: 75
 align: right
== Формування меню ==
label: "Інші види (шт/кг)"
 field: vaga_total
 readonly: true
 caption2: 
readonly: false

 type_field: condition
caption: - облущеного
readonly: false
zajavkid:
 caption: Вага на чистоту
colpos: 3
 align: right
 alias: z.vidav_id
formoptions:
'''інфекції, %'''

alias: perevag_group
align: center
 url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=create_protokol'
Мета: пояснити, як описувати таблиці K2Grid у форматі YML, включно з полями, сортуванням, типами редакторів, діями‑кнопками, списками‑довідниками та зв’язком майстер → детайл. # width/align/search/readonly/hidden виставлені з урахуванням UX. |-
|search
|true/false — чи брати участь у пошуку/фільтрах. Додайте поле в SQL або приберіть з fields:. * У select майстра повинні бути всі ключові поля, які деталь зможе використати (як приклад, zavdanid). colpos: 3

 url: "?adm=k2test_jqwidgets"

formoptions:

colpos: 3

 caption: Відповідальний виконавець

rowpos: 2

formoptions:

alias: vnutr_inf

caption: Дата протоколу

 width: 150

''html:'' <span class="badge bg-success">3</span>

field: vmist_karantyn

readonly: false

 from dp2laborants l

edittype: text

 hidden: true

 edit_options: {...} — для форми «Редагувати»

<syntaxhighlight lang="yaml"> select: select z.zavdanid, z.zajavkid, z.zavdan_num, z.zavdan_date, z.vidav_id, z.zajavn, z.active,

formoptions:

fomopsys:

 analysisid:

align: center

 iconclass: "bi bi-ui-checks-grid"
width: 400

caption: - бур`янів

caption: - інші показники

is_edit: true

caption: - нормально пророслого насіння

readonly: false
vaga_total:

alias: vmist_obrush

caption: - інші показники

alias: vmist_karantyn

caption: ID

field: zajavkid

field: vmist_zernov

colpos: 2

editoptions:

zaragenist:

field: vmist_oblushch

alias: aktvypr_date

field: is_vidpov

zajavn:
caption: Д
  1. sazhkmish:
  1. field: sazhkmish
  1. alias: sazhkmish
  1. caption: - сажкові мішечки та їхні частини
  1. width: 75
  1. readonly: false
  1. align: center
  1. formoptions:
  1. rowpos: 12
  1. colpos: 3

align: center

table: dp2_zavdan_rows typeid: 1 caption: Перелік випробувань sortname: order_ins sortorder: asc getmaster: true masterid: zavdanid where: " where (zavdanid='{masterid}')and(zavdanid<>) "

alias: sklsirbilgnyl

@keyframes pulse {

left join dp2laborants lab on z.vidav_id=lab.laborantid

rowpos: 5

field: sim_bakterioz

field: zaragenist

field: ' '

2) Позиції та розміри полів (на рівні колонки)

formoptions:

readonly: false

type_field: DropDown

create_proto:
createdate:

readonly: false

readonly: true

width: 75

caption: Дата акту

readonly: false

select: 'SELECT protokolid, prot_num, country_poh_nas, vyrobleno, obrobka, prot_data, zovn_vygl_colir, zovn_vygl_zapah, chystota, vmist_osnkult, vmist_obrush, vmist_prorosl,

cond:
caption2: 

formoptions:

rowpos: 26

iconclass: "bi bi-backpack4"

alias: vmist_otruynyh

field: shogist

1) Керування вікном форми (глобально для Add/Edit/View)

align: center

cond:

sklsirbilgnyl:

editoptions:

- name: "k2test_pdf"
hidden: true
field: ' '

formoptions:

readonly: false

templcardid:
caption: "PDF"

alias: gyttezdatn

url2: '/?adm=k2dp2_protokol&mode=admin&id={protokolid}&zajavkid={zajavkid}&group=1&op=print&temp=print'

alias: poverhn_inf

align: center

У стандартному редакторі інпут розтягує CSS теми. Не зберігає значення в БД, застосовують, коли потрібно для запуску дій (дизайнер, друк, створення протоколу, редагування картки детайлу тощо). # Створіть деталь YML: пропишіть select (включно з <master_key>), table, caption, sort*, getmaster: true, masterid: <master_key>, where з {masterid}. }
readonly: true

field: zovn_vygl_colir

align: left

date_proved:

caption: - важковідокремлювані

 caption: Р

colpos: 3

vologist, masa1000, zaragenist, poverhn_inf, fuzarioz, sim_bakterioz, sklsirbilgnyl, mishsazh, rizhky, sklkonraktyf, sazhkmish,

 align: left

table: dp2_zavdan_lab typeid: 1 caption: задача на проведення випробувань sortname: order_ins sortorder: desc height: 300 detile: dp2_zavdan_rows

Detile:

readonly: false

# 27:

# field: usercreate

# alias: usercreate

# caption: Створив

# width: 75

# readonly: true

# align: center

# type_field: DropDown

# sql: select user_id as k, login as v from k2users

#

# 28:

# field: datecreate

# alias: datecreate

# caption: Коли створив

# width: 100

# readonly: true

# align: center

# type_field: datetime

# def_value: <%Now%>

# formoptions:

# rowpos: 48

# colpos: 2

#

# 29:

# field: userupdate

# alias: userupdate

# caption: Змінив

# width: 75

# readonly: true

# align: center

# type_field: DropDown

# sql: select user_id as k, login as v from k2users

#

# 30:

# field: dateupdate

# alias: dateupdate

# caption: Коли змінено

# width: 100

# readonly: true

# align: center

# type_field: datetime

# def_value: <%Now%>

# formoptions:

# rowpos: 50

# colpos: 2

width: 75

width: 75

field: date_oderg

caption: - горохова зернівка

formoptions:

size: 8

width: 75

custom_form: false

colpos: 3

=== 8) Мінімальні шаблони (готові каркаси) ===

colpos: 3

(енергія проростання)

caption: Протокол випробувань зернові (A)

align: center

data_height: 450

Приклад:

colpos: 3

readonly: false

=== 3) Мінімальний робочий приклад (вирізка YML) ===

 alias: z.date_end

width: 75

readonly: false

 alias: z.zavdan_date

field: zasel_shkidn

vmist_zlisn:

formoptions:

* На рівні грида:

size: 28
rowpos: 17
alias: vologist

 command:

* width — ширина вікна (px або %), напр. Ці класи можна знайти на сайтах:

formoptions:

rowpos: 10

align: center

caption: Умови проведення аналізу

==== 4. Розміщення бейджа на правому краю меню ====

width: 75

caption: Начальник

=== 9) Перевірочний чек‑лист перед публікацією ===

formoptions:

align: center

editrules: { required: true, date: true }

align: center

alias: vmist_inshvyd

zovn_vygl_colir:

 editoptions.rows та editoptions.cols

aktvypr_num:

</a>

fields:

alias: prot_num

insh_shkid:

editrules: { required: true }

caption: '''1. Відхід, %'''
Схема роботи: користувач системи клікає рядок у майстрі → K2Grid читає zavdanid → підставляє його у where детайлу → перезавантажує грід детайлу. # SEO-опис полів (fields:): набір елементів, де кожен ключ — це унікальне ім’я поля (внутрішній ідентифікатор у схемі YML), а значення — атрибути відображення/редагування. |-
|hidden
|true/false — чи ховати колонку у гріді. |-
|sql
|(для довідників) SQL, який повертає k (ключ) і v (відображуване значення). * У DropDown‑sql повертаються не k/v → селект не побудується. left join dplabs labs on l.labid=labs.labid

 caption: Змінив

rowpos: 23

formoptions:

form_height: 700

 select l.laborantid as k, CONCAT(l.pip," | ",labs.adress) as v

Приклад YML двох таблиць, пов’язаних за допомогою Master-Detile:

formoptions:

 caption: Створено

=== 11) Поради з UX та продуктивності ===

rowpos: 11

width: 120

field: masa1000

==== Позиціювання (гратися «сіткою» форми) ====

 sql: |

align: center

 caption2: 

 caption: Вага на вологість

caption: - пророслого

 field: zavdan_num

alias: vmist_kult

field: vologist

Приклад кнопок у майстрі:

caption: ID заявки

readonly: false

 field: dp2_zavdan_rowsid

iconclass - клас іконки для пункту меню. * masterid: zavdanid — назва поля у деталі, що зберігає ID майстра. Явно вказуйте alias: z.field. Тобто дай цьому полю окремий рядок. exp: (false)
!Атрибут
readonly: false
 width: 140
alias: umovy
width: 100%
caption: з них зернові
<syntaxhighlight lang="yaml"> edit_card:
 caption: Сорт
readonly: false
 width: 40
 
width: 150
buryaniv:
 
- name: masa1000
editrules: { required: true, number: true, minValue: 0, maxValue: 100 }

=== 13) Швидкий старт: з нуля до пари master–detail ===
is_vlasn:
rowpos: 20
 command:
🔔 6
rowpos: 20
 add_options: {...} — для форми «Додати»

colpos: 3
formoptions:
Можна додати CSS-анімацію через кастомні класи:
 search: false
 caption: К
caption: - бактеріоз
align: center
align: center
rowpos: 17
width: 75
alias: inshi_hvor_gr
 
 readonly: true
 type_field: date
 
zovn_vygl_zapah:
colpos: 2
 field: analysisid
caption: гали пшеничної нематоди
 caption: ДСТУ
 date_end:
width: 75
field: vmist_obrush

'''насінин, г'''
 caption: Вага зразка
 def_value: 1
readonly: false
field: nakaz
field: perevag_group
 type_field: DropDown
modal: true

- злісних

rowpos: 23

• валідацію чисел через editrules. caption: "Pivot Table"

інфекції, %

  • “rowpos/colpos стоять, але ширина інпута «не така»”
type_field: DropDown
  • “Як перенести поле на всю ширину рядка?”

align: center

  • “Одиниці виміру праворуч від інпута?”

caption: - інші види

  • “Як зробити календар/маску?”

date_proved_to: