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

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

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

date_proved_to:

align: center

cond:

align: center

type_field: date

align: center

  1. Icons: https://icons.getbootstrap.com/icons/
  2. https://fontawesome.com/icons

formoptions: edittype: text formoptions: Можна додати CSS-анімацію через кастомні класи: rowpos: 16 vmist_osnkult:

  1. - name: "k2test_stimulsoft"
  2. caption: "StimulSoft Demo"
  3. url: "?adm=k2test_stimulsoft"
  4. 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

  1. - name: "k2test_newphpgrid"
  2. caption: "PHPGridNew"
  3. url: "?adm=k2test_newphpgrid"
  4. 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:

  1. Заголовок таблиці (метадані): 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 — логічний перемикач.; Найчастіші атрибути:
  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

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

              1. Этот блок должен быть с супер-администратором ###########
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

  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
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

  1. --- Колонки (лише приклади) ---
temp_name:
field: ' '

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

caption: 8.; Приклади нижче базуються на ваших файлах dp2_zavdan_lab (майстер) та dp2_zavdan_rows (детайл).; readonly: true

editable: false

width: 75 formoptions:

  1. show:
  2. list: false
  3. add: false
  4. edit: false
  5. 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: Відповідальний виконавець

Приклад вивода такого меню:

              1. Конец блока.; 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:

  1. 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

  1. is_del: false
align: left

formoptions:

  1. height: 800

readonly: false

readonly: false

width: 75

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

exp: (false)

field: vmist_inshvyd

hidden: false

readonly: false

  1. 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 для службових полів‑кнопок → зайвий шум у пошуку.; Чистота, %

  1. width: 75
  1. readonly: false
  1. 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

  1. formoptions:
  1. rowpos: 1
  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:
  1. formoptions:
  1. rowpos: 1
  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

  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: ' '
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

  1. chystota:
  1. field: chystota
  1. alias: chystota
  1. caption: 2.; насінин"

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

  1. --- Глобальне керування формою Редагування ---
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