Практична робота в K2 ERP PHP
date_proved_to:
align: center
cond:
align: center
type_field: date
align: center
formoptions: edittype: text formoptions: Можна додати CSS-анімацію через кастомні класи: rowpos: 16 vmist_osnkult:
- - name: "k2test_stimulsoft"
- caption: "StimulSoft Demo"
- url: "?adm=k2test_stimulsoft"
- command:
field: inshi_hvor_vn elmsuffix: " %" width: 75
# Exanole: addcaption_style: "{addcaption}" # caption: "PHPGrid Demo6" # badge bg-success text-bg-secondary me-3 editoptions.maxlength — максимум символів
1) Структура YML загалом
colpos: 2
- - name: "k2test_newphpgrid"
- caption: "PHPGridNew"
- url: "?adm=k2test_newphpgrid"
- command:
custom_form: false sim_bakterioz: rowpos: 15 rowpos: 6
caption: Сорт
інфекції, %
colpos: 1 readonly: false colpos: 2 YML характеристика таблиці складається з двох шарів: align: center
align: center type_field: DropDown colpos: 3
caption: Вага зразка
2) Позиції та розміри полів (на рівні колонки)
url - URL переходу по пункту меню
type_field: DropDown
date_oderg:
hidden: true field: ' '
align: center rowpos: 10 formoptions:
def_value: 1
dataInit: "js:function(el){ $(el).datepicker({ dateFormat:'dd.mm.yy' }); }" rowpos: 22
Результат виконання:
width: 120
colpos: 2
form_height: 700
Master:
caption: - сажкові утворення
align: right
field: zasel_shkidn
editrules: { required: true, date: true }
Додатково
- 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
def_value: 1
iconclass: "bi bi-backpack4"
інфекції, %
Де задається
- злісних
caption2:
html:
hidden: false
colpos: 3
alias: umovy exp: (false)
field: vmist_obrush
width: 75
animation: pulse 1s infinite;
Формування таблиць
url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=create_protokol'
size: 8
align: center
type_field: condition
field: vmist_otruynyh
command: type_field: DropDown
readonly: false
field: ' '
createdate:
caption: ДСТУ на метод випробувань
alias: z.vaga_chist
footer: true
html: !; Приклад YML двох таблиць, пов’язаних за допомогою Master-Detile: colpos: 2 align: center formoptions:
align: center anomaln: usercreate, datecreate, userupdate, dateupdate, is_close, nakaz, is_cond, add_dstu, oecd, invoice, gmo, razresh_vidat_cert, opys_zrazka, vmist_oblushch, vmist_zernov,
editoptions.size — видима ширина інпута (в «символах»)
type_field: date alias: inshi_hvor_gr vmist_zernov:
# ...; * position — позиція вікна ("center" або {top:60,left:80}).; |-
|show_for |Контроль видимості за user.id: кома‑розділений список ідентифікаторів користувачів, для яких поле показується.; По ньбому потім будуть визначатись права доступу користувачів.; * closeAfterAdd / closeAfterEdit — закривати після збереження (true|false).; alias: z.zajavn
hidden: true
caption: Створив
view_options: {...} — для форми «Перегляд»
caption: 3.; Якщо show_for не задано, елемент показується всім, хто має доступ до гріда загалом.;
</syntaxhighlight>
readonly: true caption: С
align: center
caption: наявність грибних утворень,
alias: z.vidav_id
vaga_total:
align: center neprorosli:
field: umovy fields:
- Заголовок таблиці (метадані): SQL‑джерело, ім’я таблиці, заголовок, сортування, висота, режим детайлу тощо.; Напр.: "-1, 1" — видно лише користувачам з id = -1 і id = 1.; * masterid — назва поля, яким детайл зв’язаний із майстром (у SQL‑select детайлу це має бути стовпчик, що містить «ключ майстра»).; * caption — заголовок гріда (відображається у UI).; caption: Протокол випробувань зернові (A)
type_field: checkbox
create_proto:
alias: sklsirbilgnyl colpos: 2 colpos: 3
Примітка: show_for (ACL за user.id)
Приклад:
caption: Дата кінця
width: 75 is_vidpov: field: zajavkid
readonly: false
readonly: true
readonly: true • розкладку полів формою через formoptions.rowpos/colpos,
# ...; # Перевірте чек‑лист (розд.; from dp2_zavdan_lab z
readonly: false
field: dp2_zavdan_rowsid
- detile: dp2_zavdan_rows — оголошує, що під грідом майстра відображатиметься вкладка/панель з детальною таблицею.; |-
|editable |Службовий прапорець для UI у деяких темах; зазвичай зайве, якщо є собою readonly.; |- |def_value |Значення за замовчуванням при створенні (add).; |- |hidden |true/false — чи ховати колонку у гріді.; |- |sql |(для довідників) SQL, який повертає k (ключ) і v (відображуване значення).; * У детайлі select обов’язково повертає:
- власний ключ рядка (як ілюстрація, z.dp2_zavdan_rowsid),
- поле зв’язку з майстром (z.zavdanid),
- усі колонки, що потрібні гріду.; * checkOnSubmit — попередження при незаповнених/помилкових полях.; readonly: false
rowpos: 13
- sortname/sortorder — глобальне сортування гріда.; * height — висота вікна (px або %), напр.; комфортно у парі з def_value: 1 для активних записів.; * height — фіксована висота гріда у пікселях або відсотках (як ілюстрація, 300).; align: right
tverdogo:
- {zavdanid}, {dp2_zavdan_rowsid}, {masterid} тощо.; * table — логічне ім’я сутності (застосовується для CRUD, логіки backend).; # checkbox — логічний перемикач.; Найчастіші атрибути:
- country_poh_nas:
- field: country_poh_nas
- alias: country_poh_nas
- caption: Країна походження насіння
- width: 75
- readonly: false
- align: center
- vyrobleno:
- field: vyrobleno
- alias: vyrobleno
- caption: Вироблено
- width: 75
- readonly: false
- align: center
- sert_ista:
- field: sert_ista
- alias: sert_ista
- caption: сертифікат сортовий
- width: 75
- readonly: false
- align: center
- #
- date_sert_sort:
- field: date_sert_sort
- alias: date_sert_sort
- caption: дата видачі сортовий
- width: 75
- readonly: false
- align: center
- type_field: date
- insh_doc:
- field: insh_doc
- alias: insh_doc
- caption: інші документи про походження насіння посівний|ISTA
- width: 75
- readonly: false
- align: center
- # type_field: textarea
- oecd:
- field: oecd
- alias: oecd
- caption: ОЕСР
- width: 75
- readonly: false
- align: center
- invoice:
- field: invoice
- alias: invoice
- caption: Інвойс
- width: 75
- readonly: false
- align: center
- gmo:
- field: gmo
- alias: gmo
- caption: ГМО
- width: 75
- readonly: false
- align: center
- date_sert_insh:
- field: date_sert_insh
- alias: date_sert_insh
- caption: дата видачі інших документів
- width: 75
- readonly: false
- align: center
- type_field: date
- vyrobn_part:
- field: vyrobn_part
- alias: vyrobn_part
- caption: виробнича партія
- width: 75
- readonly: false
- align: center
formoptions:
naybshkidl:
7) Плейсхолдери у URL/WHERE
field: translate
field: vidav_id
parent: "root"
FROM dp2_protokol_zern
caption: Протокол на вл.;
width: 150
field: masa1000
caption: Дата протоколу
templcardid:
width: 150
field: gryb_utv
type_field: condition
caption: Назва випробування
align: center
- Этот блок должен быть с супер-администратором ###########
align: center
width: 75
order by labs.adress, pip
fields:
field: active
order by tc.card_num, a.analysis_name
caption: К
exp: (false)
caption: гали пшеничної нематоди
caption: - інші показники
readonly: false
name - ідентифікатор меню.; * where: " where (zavdanid='{masterid}')and(zavdanid<>) " — фільтр, який підставляє значення поточного рядка майстра у плейсхолдер {masterid}.
where: WHERE (zajavkid='<%zajavkid%>')
- name: "k2test_pdf"
readonly: false width: 75
zavdan_date: alias: z.updatedate
|- |field |Фактичне поле з select (ім’я стовпчика у результаті SQL).; Зовн.; * Для великих довідників у DropDown додайте розумний order by, а додатково фільтри where a.active=1.; type_field: date
- За потреби опишіть кастомні ролі та використовуйте show_for для кнопок‑дій.; Необхідно задати sql, що повертає k (ключ для збереження) та v (текст для відображення).; # Для деталі встановлено getmaster: true, masterid: <поле_зв’язку> і правильний where з {masterid}.; # Для майстра задано detile: <ім'я_детальної_таблиці>.; * Виносьте важкі обчислення у представлення/види БД (view), а в select — мінімум потрібних полів.; Схожість, %
formoptions: field: perevag_group colpos: 1
# Показывать поле для пользователей с правами: type_field: checkbox
}
caption: "PHPKool Demo"
alias: naybshkidl caption: Дата проведення від
5) Сортування, пошук, ширини, вирівнювання
colpos: 2
align: center
Через editoptions.dataInit: "js:function(el){ /* ініціалізація */ }".; Не зберігає значення в БД, застосовують, коли потрібно для запуску дій (дизайнер, друк, створення протоколу, редагування картки детайлу тощо).; |-
|readonly |true/false — чи дозволено редагування у формі.; Этот блок должен быть с супер-администратором ###########
zajavn:
field: aktvypr_num
• валідацію чисел через editrules.; Маса 1 тис.
z.updatedate, z.updateuser, z.createdate, z.order_ins, lab.login
caption: з них
Типи редакторів (типові)
from dp2analysis a
% або шт\кг.
Поле show_for функціонує як простий ACL: якщо задано, елемент (колонка/кнопка) відображається лише тим користувачам, чиї user.id входять до списку.; Тобто дай цьому полю окремий рядок.; * Неправильний alias при JOIN → колізії імен.; Імітуй: постав colpos: 1, наступне поле — вже на наступному rowpos.; Меню до класів формується за допомогою масиву, або автономно - за допомогою yml-файлу.; Для складніших кейсів — власний CSS клас через editoptions.class і стилізуй.; |- |width |Ширина колонки у гріді (пкс).; # Створіть деталь YML: пропишіть select (включно з <master_key>), table, caption, sort*, getmaster: true, masterid: <master_key>, where з {masterid}.; is_vlasn:
caption: - карантинних
width: 75
insh_shkid:
search: false
iconclass: "bi bi-ui-checks-grid"
caption: Д
readonly: false
rowpos: 18
caption: ID
readonly: false
order by labs.adress, pip
command - команда.; |- |caption |Текст заголовка колонки у гріді / підпис у формі.; width: 75
readonly: false
readonly: false
field: vaga_total
caption: Начальник
exp: '(false)'
Або разом із цифрою:
align: center
select a.analysisid as k, CONCAT(tc.card_num,' ',a.analysis_name) as v
prot_num:
formoptions:
caption: - інші види
bakterioz:
width: 175
tryvalist:
readonly: true
command:
left join templcard tc
field: vmist_prorosl
width: 75
search: false
addcaption_style - стиль, того, що виводиться справа, якщо потрібно зробити, щоб він відрізнявся від стилю по замовчуванню.; * align — left, center, right залежно від типу даних (дати/текст/числа).; |- |search |true/false — чи брати участь у пошуку/фільтрах.; * sortorder — напрямок сортування: asc / desc.; edittype: text # або date, якщо ініціалізуєш календар через dataInit
align: center
caption2:
analysisid:
caption2:
field: goroh_zer
exp: (false)
alias: is_cond
gryb_utv:
</syntaxhighlight>
rowpos: 23
readonly: false
rowpos: 20
width: 75
type_field: DropDown
field: date_proved_to
readonly: false
createuser:
type_field: datetime
select l.laborantid as k, CONCAT(l.pip, " | ", labs.adress) as v
width: 75
align: center
4) Вимоги до select
Прийнято зберігати меню в в /папка компоненти/res/menu/назва меню.yml.; інші колонки, кнопки condition, довідники DropDown, дати, чекбокси table: dp2_zavdan_rows typeid: 1 caption: Перелік випробувань sortname: order_ins sortorder: asc getmaster: true masterid: zavdanid where: " where (zavdanid='{masterid}')and(zavdanid<>) "
Використовуй formoptions.elmsuffix: " %" / " г" / " шт/кг".; * where — додаткове фільтрування SQL (часто застосовується у детайлі з плейсхолдерами).;
analysisid:
hidden: false
formoptions:
=== 3) Поля (розділ fields:) ===
<syntaxhighlight lang="yaml"> where: " where (zavdanid='{masterid}')and(zavdanid<>'') "''
readonly: false
width: 150
caption: is_closei
rowpos: 1
formoptions:
inshi_vmist:
alias: add_dstu
width: 75
caption: - інші показники
field: is_cond
rowpos: 8
- obrobka:
- field: obrobka
- alias: obrobka
- caption: Обробка насіння
- width: 75
- readonly: false
- align: center
- vymog_markuv:
- field: vymog_markuv
- alias: vymog_markuv
- caption: Вимоги маркування (етикетки)
- width: 75
- readonly: false
- align: center
- type_field: textarea
field: updateuser
3.; Анімація або пульсація
umovy:
field: is_vidpov
readonly: false
command:
formoptions:
type_field: condition
rowpos: 11
alias: z.zavdan_date
caption: Вага на вологість
alias: z.laborantid
2.2.; Деталь (як ілюстрація, dp2_zavdan_rows)
alias: vnutr_inf
width: 75
size: 12
caption: 1.; {enter:true}.; # У DropDown‑полях SQL повертає k та v з доречним order by.; 1000 або "90%".; "90%".; |- |type_field |Тип редактора/віджета: date, datetime, checkbox, DropDown, condition, ін.; огляд, колір
width: 0.5
- --- Колонки (лише приклади) ---
temp_name:
field: ' '
8.1.; Майстер (dp2_zavdan_lab)
caption: 8.; Приклади нижче базуються на ваших файлах dp2_zavdan_lab (майстер) та dp2_zavdan_rows (детайл).; readonly: true
editable: false
width: 75 formoptions:
- show:
- list: false
- add: false
- edit: false
- view: true
alias: vmist_zlisn
editable: false field: dp2_zavdan_rowsid
savekey: { enter: true }
from dp2_zavdan_rows z
alias: is_vidpov colpos: 3 readonly: false colpos: 3
readonly: false
caption: Вкл addcaption: "+"
hidden: true
8) Мінімальні шаблони (готові каркаси)
4.; Розміщення бейджа на правому краю меню
Окремо варто відзначити таблиць K2Grid, YML-описів, master-detail зв’язків і конфігурація форм у K2 Cloud ERP PHP виступає ключовою рисою Класи та команди K2 Cloud ERP PHP.; Додайте поле в SQL або приберіть з fields:.; field: rizhky field: vmist_zlisn width: 75
насінин, г
caption: Змінив - name: "k2test_demopivottable"
caption: - фомопсис
caption: Порядок iconclass: "bi bi-card-list"
alias: z.zajavkid alias: plisnyavinnya
sql: select laborantid as k, CONCAT(pip,' ',posada) as v from dp2laborants order by pip
readonly: true
readonly: false rowpos: 20
editoptions.rows та editoptions.cols
formoptions:
width: 140
caption: - пліснявіння caption: - найбільш шкідливі, шт/кг rowpos: 27
readonly: false
caption: С
inshi_chystota: target2: _blank
caption: Заявка №
readonly: false field: fomopsys width: 75
width: 120
select: |
date_begin:
==== Ініціалізація віджетів (календар, маски тощо) ====
date_proved:
align: right
formoptions:
vyhid, perevag_group, vmist_inshvyd, vmist_kult, insh_kult, vmist_zlisn, shogist, normalnogo, anomaln, tverdogo, gyttezdatn, zignilogo, neprorosli,
rowpos: 11
- name: vologist
order_ins:
Приклад кнопки у детайлі (редагувати картку рядка):
readonly: true
type_field: condition
# Показывать поле для пользователей с правами:
#show_for: "-1, 1"
==== 3.1.; Спеціальні типи type_field ====
width: 75
rowpos: 16
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: true
width: 75
align: center
width: 75
width: 75
dstu_metod:
readonly: true
editrules: { required: true, number: true, minValue: 0, maxValue: 100 }
readonly: false
align: center
field: vaga_hvorob
readonly: false
date_end:
readonly: false
readonly: false
readonly: false
url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=designer'
class: anone
- name: protocol_num
caption: '''Відповідає вимогам'''
<syntaxhighlight lang="yaml"> select: |
colpos: 2
type_field: DropDown
caption: Р
width: 75
field: dstu
align: right
fuzarioz:
is_clone: false
alias: inshi_hvor_vn
command:
align: center
on l.labid=labs.labid
width: 75 field: bakterioz
templcardid:
edit_options: readonly_form: readonly: true
field: zajavn
Позиціювання (гратися «сіткою» форми)
У стандартному редакторі інпут розтягує CSS теми.; # У деталі у select присутнє поле‑зв’язка з майстром (напр., zavdanid).; field: ' '
caption: Відповідальний виконавець
Приклад вивода такого меню:
- Конец блока.; caption: - ріжки, шт/кг
colpos: 3
alias: z.date_begin
readonly: false
rowpos: 8
caption: - інші види шкідників
colpos: 2
alias: fomopsys
size: 28
!характеристика
width: 100%
cond:
cond:
width: 75
Меню до класів формується за допомогою масиву, або автономно - за допомогою yml-файлу.; * savekey — гарячі клавіші збереження, напр.; * select — SQL, який повертає всі стовпчики, потрібні для гріда.; |}
Де задається
field: tverdogo
formoptions:
- date / datetime — відповідні календарні редактори.; |-
|align |left / center / right — вирівнювання у гріді.; * Для друку/експорту — робіть окремі condition‑поля з чіткими url2.; # DropDown — довідник.; 9), задеплойте обидва YML.; * У select майстра повинні бути всі ключові поля, які деталь зможе використати (як ілюстрація, zavdanid).; ** show_for — (опціонально) обмежити відображення за user.id; напр., "-1, 1" — видно тільки користувачам з id −1 та 1.; width: 75
- Тримайте службові кнопки (типу condition) вузькими (width: 30–40).; align: center
readonly: false height: "90%" caption: Дата проведення по alias: date_oderg % або шт/кг caption: is_condi
field: updatedate show_for: "-1, 1"
perevag_group: caption: ID заявки
hidden: false
Доступні плейсхолдери підставляються зі значень поточного рядка:
formoptions:
alias: rizhky
caption: - фузаріоз
1.; Кольори бейджів
colpos: 2
width: 30
colpos: 3
readonly: true
caption: Видав задача
url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=print'
alias: inshi_hvor_pov
align: center
field: zignilogo
from dp2laborants l
alias: prot_num
- is_del: false
align: left
formoptions:
- height: 800
readonly: false
readonly: false
width: 75
width: 1000 # px або "90%"
exp: (false)
field: vmist_inshvyd
hidden: false
readonly: false
- masterid: zajavkid
type_field: date
field: insh_shkid
alias: zhuk
aktvypr_num:
6.; Комбіновані бейджі (як ілюстрація, статуси)
caption: ДСТУ на об`єкт випробувань
readonly: false
elements:
formoptions:
select z.zavdanid, ...; |-
|width_form
|Ширина елемента у формі (редакторі).;
card_comment:
readonly: false
alias: anomaln
rowpos: 4
width: 75
readonly: true
readonly: false
vologist, masa1000, zaragenist, poverhn_inf, fuzarioz, sim_bakterioz, sklsirbilgnyl, mishsazh, rizhky, sklkonraktyf, sazhkmish,
sklkonraktyf:
readonly: true
editoptions:
(JS-функція ініціалізує, як ілюстрація, datepicker/flatpickr/mask на конкретному інпуті)
exp: (false)
field: vmist_kult
sortorder: desc
colpos: 1
laborant_vidp:
==== 1.1.; Обов’язкові ключі заголовка ====
width: 150
alias: vmist_kult
caption2:
caption: - бур`янів
rowpos: 7
nakaz:
=== 13) Швидкий старт: з нуля до пари master–detail ===
field: zavdan_num
caption: - склероції сірої та
readonly: false
width: 30
width: 150
sklsirbilgnyl:
inshi_kategorii:
5
colpos: 2
formoptions:
align: right
from dp2_zavdan_lab z
editrules: { required: true }
align: center
align: center
formoptions:
type_field: date
== 1) Керування вікном форми (глобально для Add/Edit/View) ==
sql: |
field: protokolid
formoptions:
readonly: true
formoptions:
readonly: false
width: 120
caption: - сім҆ядольний бактеріоз
updateuser:
переважальні групи
hidden: true
formoptions:
field: analysisid
caption: '''7.; alias: vologist
width: 75
url: "?adm=k2test_phpkool"
razresh_vidat_cert:
formoptions:
caption: - твердого насіння
rowpos: 5
align: center
field: mishsazh
cond:
field: date_begin width: 30
caption: - облущеного alias: vmist_obrush
rowpos: 15 readonly: false width: 75 field: normalnogo alias: vyhid colpos: 3 table: dp2_protokol_zern
readonly: false iconclass - клас іконки для пункту меню.; Дозволені JOIN, LEFT JOIN тощо.;==== Джерело для select ====
inshi_hvor_gr:
opys_zrazka:
rowpos: 25
caption: Д
align: center
laborant:
align: center
width: 75
rowpos: 9
caption2:
show_for: "-1, 1"
width: 30
field: order_ins
recreateForm: true
- На рівні грида:
align: center
caption: 4.; * Встановлено search: true для службових полів‑кнопок → зайвий шум у пошуку.; Чистота, %
- width: 75
- readonly: false
- align: center
field: active
</syntaxhighlight>
formoptions:
alias: aktvypr_date
edit_options: {...} — для форми «Редагувати»
dstu:
width: 175
caption2:
url: "?adm=k2test_pdf"
alias: z.updateuser
alias: normalnogo
field: vaga_chist
конфігурація форми в таблиці
- name: protocol_date
width: 75
- formoptions:
- rowpos: 1
- colpos: 2
readonly: false
field: fuzarioz
width: 150
readonly: true
alias: gryb_utv
alias: vagkovidokreml
width: 75
url: "?adm=k2test_jqwidgets"
width: 160
width: 75
iconclass: "bi bi-file-earmark-excel"
readonly: false
8.2.; Деталь (dp2_zavdan_rows)
cond:
- formoptions:
- rowpos: 1
- colpos: 2
Вміст насіння, осн культури
100% { transform: scale(1); opacity: 1; }
width: 75
css: .pulse-badge {
caption: - у з цієї причини числі
formoptions:
caption: Д
formoptions:
colpos: 2
width: 75
readonly: false
align: center
alias: opys_zrazka
alias: z.vaga_hvorob
formoptions:
caption: Дата одержання проби
vaga_volog:
formoptions:
caption: 9.; Чистота, % readonly: false caption: Видати документ html: <a href="#" class="nav-link d-flex justify-content-between align-items-center"> width: 75 caption: Умови проведення аналізу
field: createdate
exp: (false) alias: z.active
align: center
caption: Вага на зараженість
width: 75 autowidth: false field: vagkovidokreml
url: "?adm=k2test_phpexcel"
type_field: DropDown
rowpos: 21
exp: (false) left join dplabs labs on l.labid=labs.labid align: center
!Атрибут url2: '/?adm=k2dp2_protokol&mode=admin&id={protokolid}&zajavkid={zajavkid}&group=1&op=designer&temp=print'
caption2: field: dstu_name
readonly: false readonly: false rowpos: 1 readonly: false
select: select z.zavdanid, z.zajavkid, z.zavdan_num, z.zavdan_date, z.vidav_id, z.zajavn, z.active,
{| class="wikitable"
formoptions:
data_height: 450
colpos: 2
editoptions:
align: center
sql: select null as k, '_' as v union select nakazid as k, nakaz_name as v from dp2_nakaz
colpos: 3
addcaption - текст, що виводиться права від меню (в нашому прикладі - це +).; * Для динамічних фільтрів можна додавати власні плейсхолдери (залежно від вашої збірки K2Grid).; * width задає ширину у гріді; width_form — у формі.; field: anomaln
- readonly: true/false у полі — контролює редагування у формах add/edit.; Контролюй ширину саме інпута через editoptions.size (text) або rows/cols (textarea).; Ці класи можна знайти на сайтах:
def_value: "<%zajavkid%>" table: dp2_zavdan_rows typeid: 1 sortname: order_ins sortorder: asc caption: Перелік випробувань where: " where (zavdanid='{masterid}')and(zavdanid<>) " getmaster: true masterid: zavdanid alias: vmist_otruynyh colpos: 2 field: shogist
zhuk: caption: 2.; , lab.login
width: 450
field: add_dstu
alias: inshi_chystota
Ви можете використовувати Font Awesome, Bootstrap Icons або будь-які інші SVG/шрифтові іконки всередині бейджа:
caption: Створено
readonly: false
align: center
<span class="badge bg-danger">!; |-
|alias
|Опційно: явна вказівка на table_alias.column у випадку конфліктів/JOINS.; # Не забуті def_value там, де потрібні (як ілюстрація, active: 1).; Зарезервований функціональні можливості на майбутнє.; # Додайте поля: ID (hidden/readonly), інформативні колонки, потрібні кнопки condition, довідники DropDown, дати/чекбокси.; url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=print'
align: left
rowpos: 3
* У кожній колонці:
** formoptions: {...} — тільки для відображення в формі
** edittype — тип редактора
** editoptions: {...} — опції редактора
** editrules: {...} — правила валідації
cond:
* formoptions.rowpos — номер рядка (1, 2, 3, …)
* formoptions.colpos — номер колонки (1, 2, 3)
search: false
* formoptions.elmprefix / formoptions.elmsuffix — невеличкий текст перед/після інпуту (комфортно для одиниць: %, г, шт/кг)
readonly: false
* Для edittype: "text":
field: date_proved
caption: - обрушеного
* Для edittype: "textarea":
align: center
* Для числових/текстових полів у більшості випадків вистачає комбінації:
** formoptions.colpos/rowpos для розміщення,
** editoptions.size/rows/cols для розміру інпута,
** formoptions.elmsuffix для одиниці виміру.; ** cond.url2 — куди перейти при кліку (можно зі змінними {zavdanid}, {dp2_zavdan_rowsid} тощо).; * Забутий getmaster/masterid/where у деталі → деталь не фільтрується за активним майстром.; alias: z.vaga_total
formoptions:
readonly: true
sortname: order_ins
rowpos: 17
field: sim_bakterioz
caption: Відповідальний виконавець
type_field: DropDown
rowpos: 4
vyhid:
label: "Інші види (шт/кг)"
field: razresh_vidat_cert
caption2:
sql: |
position: center # або {top:60, left:80}
readonly: false
field: inshi_chystota
alias: masa1000
from dp2_zavdan_rows z
rowpos: 22
formoptions:
caption: '''5.; Відхід, %'''
caption: "Pivot Table"
=== 12) Приклад фрагментів з ваших файлів (адаптовані) ===
readonly: false
caption2:
alias: z.order_ins
==== 1.2.; Рекомендовані/опційні ключі заголовка ====
align: center
width: 75
width: 75
field: zaragenist
exp: (false)
width: 75
<syntaxhighlight lang="yaml"> design:
field: sklkonraktyf
field: is_vlasn
width: 120
select l.laborantid as k, CONCAT(l.pip," | ",labs.adress) as v
alias: nakaz
width: 75
width: 120
width: 75
# Створіть майстер YML: пропишіть select, table, caption, sortname, sortorder, height, додайте detile: <detail_name>.; * За потреби можна розширити контролі видимості окремими секціями show: (list/add/edit/view), якщо це підтримується вашою збіркою K2Grid.; * search: false — вимкніть пошук для службових стовпчиків (кнопок, ID, службових полів).; Забезпечте точні імена стовпців.; технічна документація з формування меню.; * modal — модальність (true|false).; інші колонки, кнопки condition, довідники DropDown, чекбокси
colpos: 3
width: 150
# SQL select повертає всі поля, зазначені у fields: (включно зі службовими ID).; * У DropDown‑sql повертаються не k/v → селект не побудується.;== Формування меню ==
* sortname — поле сортування за замовчуванням (як ілюстрація, order_ins).; align: center
rizhky:
caption: '''1.; formoptions:
caption: характеристика та стан зразка
Приклад:
width: 75
''html:'' <span class="badge bg-success">Active</span>
form_width: 1400
alias: z.dp2_zavdan_rowsid
alias: neprorosli
1: zajavkid
readonly: false
alias: poverhn_inf
0% { transform: scale(1); opacity: 1; }
zignilogo:
zovn_vygl_colir:
caption: "Examples"
search: false
width: 120
goroh_zer:
<syntaxhighlight lang="yaml"> select: select z.dp2_zavdan_rowsid, z.zavdanid, z.dstu_name, z.analysisid, z.laborantid, z.active, z.order_ins
command:
elmsuffix: " г"
field: zavdanid
align: center
formoptions:
fields:
type_field: DropDown
align: center
field: prot_data
• одиниці виміру через formoptions.elmsuffix,
vmist_kult:
alias: is_close
Приклад показує:
formoptions:
* У майстрі select повинен повертати ключ майстра (як ілюстрація, z.zavdanid) і всі поля, що відображаються.; Вмикає режим master–detail у UI.; buryaniv:
* Відсутня колонка в select, але вона згадана у fields: → отримаєте помилку мапінгу/рендеру.; ДСТУ
colpos: 2
formoptions:
type_field: date
alias: vmist_zernov
type_field: DropDown
edittype: text
editable: false
alias: z.vidav_id
zajavkid:
iconclass: "fa fa-flask"
Прийнято зберігати меню в в /папка компоненти/res/grid/назва меню.yml.; * hidden: true — ховає колонку у гріді (залишається доступною у формі, якщо не заборонено окремо).; як ілюстрація:
• ширину полів через editoptions.size,
rowpos: 5
🔔 6
vnutr_inf:
align: center
formoptions:
colpos: 2
type_field: checkbox
rowpos: 1
vaga_chist:
caption: Вкл
Можна вставити будь-який HTML: SVG, emoji, спінер:
<span class="badge bg-secondary ms-auto">6</span>
readonly: false
cond:
alias: date_proved_to
left join dp2laborants lab
width: 30
where a.active=1
rowpos: 19
''html:'' <span class="badge bg-success">3</span>
colpos: 3
width: 75
=== 6) Режими відображення/редагування ===
field: ' '
'''шт./кг'''
size: 8
type_field: checkbox
width_form: 450
caption: - кліщ
caption: Дата
alias: inshi_kategorii
caption: '''6.; type_field: condition
width: 75
category:
caption: - отруйних
elmsuffix: " шт/кг"
readonly: true
sql: "select a.analysisid as k, CONCAT(tc.card_num,' ',a.analysis_name) as v
D:
design:
vmist_otruynyh:
maxlength: 50
width: 75
alias: z.active
align: center
field: nakaz
readonly: false
readonly: false
==== Що реально функціонує й для чого ====
alias: vmist_osnkult
випробувальної лабораторії
# sazhkmish:
# field: sazhkmish
# alias: sazhkmish
# caption: - сажкові мішечки та їхні частини
# width: 75
# readonly: false
# align: center
# formoptions:
# rowpos: 12
# colpos: 3
K:
target2: _blank
align: center
readonly: false
caption: '''наявність внутрішньої'''
або
align: center
readonly: false
align: center
sql: |
type_field: condition
rowpos: 23
rowpos: 6
width: 40
field: ' '
rowpos: 7
colpos: 2
caption: Відповідальний
align: center
field: is_close
align: center
== K2Grid YML: створення таблиць у зв’язці master–detail ==
readonly: true
align: center
rowpos: 2
caption: ДСТУ
align: right
caption: Наказ
- name: "k2test_jqwidgets"
У стандартному редакторі немає офіційного colspan.; * getmaster: true — вказує, що грід функціонує у режимі детайлу й очікує ідентифікатор майстра.; * typeid — тип опису (для K2Grid; зазвичай 1).; * Числові колонки вирівнюйте праворуч (align: right), дати — ліворуч/по центру.; vmist_prorosl:
* getmaster: true — переводить грід у детальний режим.; 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,
field: vmist_karantyn
type_field: condition
field: laborant
colpos: 3
align: left
<syntaxhighlight lang="yaml"> create_proto:
Приклад кнопок у майстрі:
# notcond:
# field: notcond
# caption: Конд.; * masterid: zavdanid — назва поля у деталі, що зберігає ID майстра.; Приклади:
readonly: false
alias: z.vaga_volog
readonly: false
inshi_hvor_pov:
align: center
url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=designer'
caption: Дата акту
type_field: condition
width: 75
alias: tverdogo
=== 3) Мінімальний робочий приклад (вирізка YML) ===
colpos: 2
field: poverhn_inf
width: 75
field: laborantid
colpos: 3
alias: z.createuser
field: inshi_hvor_pov
readonly: false
caption: з них зернові
cond:
# condition — умовне поле‑дія (кнопка/іконка).; Вміст насіння інших'''
url2: '/?adm=k2dp2_protokol&mode=admin&id={protokolid}&zajavkid={zajavkid}&group=1&op=print&temp=print'
- width — ширина вікна (px або %), напр.; caption: - у з цієї причини числі життєздатного
colpos: 2 width: 75 rowpos: 24 colpos: 2 colpos: 3
hidden: false
field: zhuk formoptions:
type_field: date
card_num:
alias: is_vlasn align: center
hidden: false
typeid: 1 alias: dstu align: center
vaga_hvorob: field: createuser updatedate: exp: (false)
caption: Вага на чистоту width: 150 iconclass: "bi bi-file-earmark-pdf"
PHPGrid Demo field: vmist_zernov width: 75 field: plisnyavinnya
alias: zaragenist
Ширина/висота самого інпута (а не колонки грида)
</syntaxhighlight>
iconclass: "bi bi-grid-3x3"
caption: Номер протоколу Можна використовувати будь-які з наступних класів: vmist_obrush:
readonly: false
width: 30
data_width: 1390 fields: alias: zasel_shkidn align: center Мета: пояснити, як описувати таблиці K2Grid у форматі YML, включно з полями, сортуванням, типами редакторів, діями‑кнопками, списками‑довідниками та зв’язком майстер → детайл.; Приклад: show_for: "-1, 1" — видно користувачам з id −1 та 1.; readonly: false
Схема роботи: користувач системи клікає рядок у майстрі → K2Grid читає zavdanid → підставляє його у where детайлу → перезавантажує грід детайлу.; Вимикайте.; # width: 50
- readonly: true
- align: center
- type_field: condition
- cond:
- exp: '$row ["is_cond"] == 0'
- url2:
- target2: _self
- caption2: "<button class='' onclick='notCond(\"{zajavkid}\", 0)' href='javascript:void(0)'></button>"
- url1:
- target1: _self
- caption1: "<button class='' onclick='notCond(\"{zajavkid}\", 1)' href='javascript:void(0)'></button>"
field: ' '
editable: false
search: false
align: left
rowpos: 10
Detile:
</a>
align: center
</syntaxhighlight>
normalnogo:
formoptions:
prot_data:
rowpos: 3
видів, шт/кг
colpos: 2
width: 75
width: 75
align: left
Приклад YML таблиці:
formoptions:
align: center
vmist_inshvyd:
edit_card:
# zajav_navypr:
# field: zajav_navypr
# alias: zajav_navypr
# caption: Заявка на випробування
# width: 75
# readonly: false
# align: center
# date_zajav_navypr:
# field: date_zajav_navypr
# alias: date_zajav_navypr
# caption: Дата заявка на випробування
# width: 75
# readonly: false
# align: center
# type_field: date
# meta:
# field: meta
# alias: meta
# caption: Мета
# width: 75
# readonly: false
# align: center
# is_meta:
# field: is_meta
# alias: is_meta
# caption: Мета так/ні
# width: 75
# readonly: false
# align: center
# type_field: checkbox
align: center
width: 75
readonly: false
rowpos: 18
width: 75
align: center
formoptions:
align: center
width: 120
aktvypr_date:
formoptions:
alias: goroh_zer
rowpos: 19
field: zovn_vygl_zapah
Кожен елемент у fields: має внутрішнє ім’я (ключ на рівні YML) та набір атрибутів.; * У детайлі найчастіше застосовується {masterid} у where:.; # Додайте поля деталі: ID, <master_key> (можна приховати), довідники, черговість order_ins, active тощо.; }
edittype: text
addcaption: "+"
formoptions:
vidav_id:
sql: select null as k, '_' as v union select dstuid as k, dstu_name as v from dp2_dstu where inprot = 1
active:
label: "Маса 1 тис.; Ключі:
** cond.exp — логічний вираз (можна тримати (false) аби завжди показувати варіант url2/caption2).; align: center
alias: date_proved
width: 150
field: vmist_osnkult
alias: bakterioz
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,
field: neprorosli
alias: z.createdate
colpos: 3
==== 2.; Іконки замість або разом із цифрами ====
shogist:
url: "?adm=k2test_phpgrid"
editoptions:
order by tc.card_num, a.analysis_name"
align: left
caption: - непроросле здорове
alias: z.date_end
caption: - горохова зернівка
alias: protokolid
modal: true
print:
=== 10) Типові помилки й як їх уникати ===
width: 400
colpos: 2
table: dp2_zavdan_lab typeid: 1 sortname: order_ins sortorder: desc caption: задача на проведення випробувань height: 300 detile: dp2_zavdan_rows fields:
select z.dp2_zavdan_rowsid, z.zavdanid, ...; Явно вказуйте alias: z.field.; Застосовуйте утиліти вирівнювання, як ілюстрація ms-auto або float-end:
align: left
card_comment:
hidden: true
rowpos: 12
on a.templcardid=tc.templcardid
caption: ID
colpos: 3
caption: Життєздатність
colpos: 3
align: center
active:
width: 75
command:
align: left
readonly: false
caption2: "<button class=<nowiki>'' onclick='closeProtokol(\"{zajavkid}\", \"{is_vidpov}\", \"{shogist}\")' href='javascript:void(0)'</nowiki>>Видати документ</button>"
align: right
caption: у з цієї причини числі
formoptions:
type_field: condition
alias: z.zavdanid
field: buryaniv
formoptions:
zovn_vygl_zapah:
colpos: 3
=== 4) Часті питання / підводні камені ===
readonly: false
field: order_ins
readonly: false
rowpos: 9
alias: perevag_group
align: center
caption: "PHPGrid Demo"
alias: z.laborantid
width: 30
formoptions:
''html:''
caption: "jQWidgets"
zasel_shkidn:
readonly: false
field: ' '
field: date_end
width: 75
width: 75
caption - заголовок меню.; потр.; Заселеність шкідниками,'''
url2: '/?adm=dp2lab_zavdan_lab&mode=admin&id={zavdanid}&op=create_protokol'
alias: laborant_vidp
50% { transform: scale(1.2); opacity: 0.6; }
# byte_chystota:
# field: byte_chystota
# alias: byte_chystota
# caption: бите
# width: 75
# readonly: false
# align: center
width: 75
width: 75
width: 75
from dp2analysis a
==== Кнопки в майстрі ====
alias: z.dstu_name
vmist_otruynyh, vmist_karantyn, bakterioz, plisnyavinnya, fomopsys, is_vlasn
align: center
readonly: false
order_num:
align: center
checkOnSubmit: true
field: analysisid
align: center
alias: sim_bakterioz
alias: zovn_vygl_colir
exp: (false)
=== 9) Перевірочний чек‑лист перед публікацією ===
label: "Номер протоколу"
align: left
editrules: { number: true, minValue: 0 }
align: left
rowpos: 17
}
readonly: false
field: gyttezdatn
caption: - бактеріоз
=== 2) Зв’язок master → detail ===
readonly: false
left join dp2labs labs
gyttezdatn:
field: zavdanid
# insh_kult:
# field: insh_kult
# alias: insh_kult
# caption: у з цієї причини числі
# width: 75
# readonly: false
# align: center
# formoptions:
# rowpos: 3
# colpos: 2
search: false
translate:
formoptions:
• глобальне керування вікном через edit_options,
alias: zovn_vygl_zapah
field: vmist_oblushch
formoptions:
alias: z.analysisid
field: vyhid
width: 75
# insh_bur:
# field: insh_bur
# alias: insh_bur
# caption: у з цієї причини числі
# width: 75
# readonly: false
# align: center
# formoptions:
# rowpos: 5
# colpos: 2
readonly: false
colpos: 3
rowpos: 2
alias: zignilogo
caption: ID
cond:
alias: razresh_vidat_cert
readonly: false
align: left
caption: Дод.; # condition‑кнопки мають коректні url2 і плейсхолдери.; * detile — назва детальної таблиці (YML‑ідентифікатор).; editrules: { integer: true, minValue: 0 }
* edittype: "text" | "textarea" | "select" | "checkbox" | "date"
field: inshi_vmist
==== 5.; Кастомний HTML у бейджі ====
* edittype: "select"
* editoptions.value — словник або id:label;id2:label2
readonly: false
* editoptions.dataUrl + editoptions.buildSelect (для підвантаження HTML <select>)
field: inshi_kategorii
* editrules.required: true
* editrules.number: true / integer: true
* editrules.minValue / maxValue
* editrules.email: true / date: true / time: true
field: aktvypr_date
* editoptions.dataInit: function (elem) { ...; templcardid:
field: inshi_hvor_gr
width: 120
field: prot_num
field: naybshkidl
align: center
colpos: 3
# is_vysnov:
# field: is_vysnov
# alias: is_vysnov
# caption: Висновок так/ні
# width: 75
# readonly: false
# align: center
# type_field: checkbox
# formoptions:
# rowpos: 17
# colpos: 3
editoptions:
templcardid:
align: center
readonly: false
readonly: false
- name: "k2test_phpgrid"
alias: z.zavdanid
type_field: date
alias: dstu_metod
caption: - інші види
'''ДСТУ так/ні'''
caption: '''наявність поверхневої'''
readonly: true
readonly: false
align: center
align: center
readonly: false
colpos: 3
table: dp2_zavdan_lab typeid: 1 caption: задача на проведення випробувань sortname: order_ins sortorder: desc height: 300 detile: dp2_zavdan_rows
width_form: 450
readonly: false
alias: sklkonraktyf
align: center
formoptions:
type_field: condition
rowpos: 14
alias: vmist_karantyn
width: 40
formoptions:
readonly: false
білої гнилей
alias: shogist
editable: false
caption: К
name: "k2test_examples_old"
width: 75
align: center
align: left
z.vaga_total, z.vaga_chist, z.vaga_volog, z.vaga_hvorob, z.date_begin, z.date_end, z.createuser,
inshi_hvor_vn:
- вміст культурних
alias: prot_data
html:
caption: Р
align: center
readonly: false
caption: Змінено
masa1000:
colpos: 3
width: 400
width: 150
colpos: 2
label: "Вологість"
caption: - аномальних проростків
vmist_oblushch:
readonly: true
caption: - важковідокремлювані
alias: tryvalist
caption: - нормально пророслого насіння
field: dstu_metod
rowpos: 13
sql: select laborantid as k, CONCAT(pip,' ',posada) as v from dp2laborants order by pip
is_close:
field: date_oderg
vidav_id:
class: anone
caption: "PDF"
за складання протоколу
@keyframes pulse {
where a.active=1
type_field: condition
caption: К
width: 75
'
readonly: false
left join templcard tc on a.templcardid=tc.templcardid
url: "?adm=k2test_demopivottable"
# 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
align: left
rowpos: 12
colpos: 3
caption: - конюшинового
caption: Проба №
left join dp2laborants lab on z.vidav_id=lab.laborantid
align: center
field: tryvalist
align: center
- name: "k2test_pdf"
Це — єдиний офіційно затверджений спосіб розставити інпут по рядках/колонках у стандартному редакторі phpGrid/jqGrid.; # характеристика полів (fields:): набір елементів, де кожен ключ — це унікальне ім’я поля (внутрішній ідентифікатор у схемі YML), а значення — атрибути відображення/редагування.; # width/align/search/readonly/hidden виставлені з урахуванням UX.; align: center
alias: vmist_oblushch
==== Валідація ====
caption: Тривалість днів
field: vologist
caption: Інженер-лаборант
alias: aktvypr_num
align: center
colpos: 3
Offline
edittype: text
rowpos: 14
field: ' '
caption: - зігниле
target2: _self
label: "Дата протоколу"
url2: '/?adm=dp2lab_zavdan_lab&mode=admin&op=edit_template&rowid={dp2_zavdan_rowsid}'
align: center
11) Поради з UX та продуктивності
width: 450
width: 30
alias: insh_shkid
caption: "PHPExcel"
width: 9.5
field: zovn_vygl_colir
inshi_chystota, inshi_vmist, inshi_hvor_pov, inshi_hvor_vn, inshi_hvor_gr, goroh_zer, date_sert_sort, byte_chystota,
alias: z.zavdan_num
readonly: false
rowpos: 1
alias: vmist_inshvyd
formoptions:
alias: gyttezdatn
url2: '/?adm=dp2lab_zavdan_lab&mode=admin&op=edit_template&rowid={dp2_zavdan_rowsid}'
align: center
poverhn_inf:
align: center
protokolid:
(інші кастомні — уже твоєю ініціалізацією через dataInit)
(енергія проростання)
readonly: false
align: center
formoptions:
alias: fuzarioz
type_field: datetime
width: 75
rowpos: 26
readonly: false
field: vnutr_inf
cond:
caption: Дата початку
align: center
add_options: {...} — для форми «Додати»
from dp2laborants l
Порада: якщо ставиш height: "90%", часто корисно у своєму CSS для контейнера форми дозволити вертикальний скрол, щоб контент не “вилазив” із модалки.; * recreateForm — створювати форму щоразу наново (часто потрібне) (true|false).; Вологість,%
vagkovidokreml:
vmist_karantyn:
readonly: false
- name: "k2test_phpkool"
add_dstu:
caption: ID
caption2:
colpos: 3
field: laborantid
editoptions:
alias: mishsazh
mishsazh:
align: left
field: opys_zrazka
width: 75
formoptions:
field: laborant_vidp
alias: buryaniv
on z.vidav_id=lab.laborantid
rowpos: 3
closeAfterEdit: false
0: prot_num
colpos: 2
Примітка: для майстра ключі where, getmaster, masterid зазвичай не задаються, а для детайлу — це основа зв’язування.; огляд, запах
width: 75
formoptions:
colpos: 2
width: 75
- chystota:
- field: chystota
- alias: chystota
- caption: 2.; насінин"
caption: - пророслого
- --- Глобальне керування формою Редагування ---
field: zavdan_date
readonly: true
field: sklsirbilgnyl
alias: z.analysisid
Порада: для уникнення конфліктів імен використовуйте alias: з префіксом таблиці (як ілюстрація, alias: z.zavdan_date).; Зовн.; ** cond.caption2 — HTML іконка/підпис кнопки.; Зараженість хворобами,
colpos: 3
alias: inshi_vmist
formoptions:
colpos: 2
plisnyavinnya:
show_for: "-1, 1"
Довідник «Відповідальний виконавець» у детайлі
2.1.; Майстер (як ілюстрація, dp2_zavdan_lab)
align: center
- name: insh_vidy
cond:
readonly: false
formoptions:
is_edit: true
align: center
edit_card:
fomopsys:
alias: z.order_ins
zaragenist:
alias: laborant
colpos: 3
caption: Видав
is_cond:
align: center
width: 30
width: 400
vmist_zlisn:
vologist:
caption: ID протоколу
caption: Назва випробування
readonly: true
alias: z.dp2_zavdan_rowsid
rowpos: 2
field: vidav_id
form_script: offAutocomlite();showKult();$('editmoddp2_protokol_zern').attr('height','100px');$('#tr_zajavkid').hide();
width: 75
field: vaga_volog
field: ' '
width: 75
alias: vmist_prorosl
addcaption_style: "{addcaption}"
readonly: true
sql: select null as k, '_' as v union select dstuid as k, dstu_name as v from dp2_dstu where inprot = 1
- name: masa1000
align: center
print:
columns:
caption: Акт відбір проб
- “rowpos/colpos стоять, але ширина інпута «не така»”
width: 30
- “Як перенести поле на всю ширину рядка?”
rowpos: 3
- “Одиниці виміру праворуч від інпута?”
size: 8
- “Як зробити календар/маску?”
rowpos: 21