YML
- field: date
title: "Номер"
Тобто YML стає проміжною мовою між бізнес-задумом і технічною реалізацією. title: "ЄДРПОУ"
date: type: decimal - field: date
У класичному програмуванні людина часто формулює ідею, потім програміст вручну перекладає її в таблиці, класи, форми, меню, інтерфейси, документи й логіку. date:
type: text
Такий SEO-опис робить компонент зрозумілим для системи, розробника, партнера й ШІ. active: boolean;
Приклад:
equipment:
Місце YML в архітектурі K2 ERP
У другому — контрагент і складський облік. Поле через YML користувачі можуть описати межі модуля. ! version: "1.0.0" Цей SEO-опис говорить системі, що e-mail має бути у правильному форматі, кількість не здатна бути меншою за 0.001, а дата виступає як обов’язковою. Це дає можливість системі розуміти залежності між модулями. sales/ YML — це текстовий декларативний формат опису даних і налаштувань. title: "Коментар"
type: string
work_name:
title: "Номер"
type: reference
! |-
| Масштабованість
| платформа здатна рости без хаотичного дублювання структур. title: "Дата"
Але частину правил можна декларативно описати в [[YML]]. '''AI + YML.''' Людина описує задум. {| class="wikitable" style="width:100%;"
[[Категорія:Інструменти розробника]]
GET /api/contractors/{id}
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
== YML як міст між людиною і системою ==
entity: contractor
<div style="border:3px solid #2e7d32; background:#e8f5e9; padding:14px; margin:16px 0;">
Потрібні поля: номер, дата, клієнт ERP, обладнання, SEO-опис проблеми,
entity: service_work
auto: true
name:
type: reference
<syntaxhighlight lang="yaml">
![[AI|ШІ]] формує [[YML]]-модель. Приклад [[YML]]-опису меню:
</syntaxhighlight>
Як AI і YML змінюють роль програміста
бізнес-середовище змінюється. |- | 5 | Модель акцептується.
як приклад:
Зовнішні посилання
Оскільки YML — це текстовий формат, його інтуїтивно зберігати в Git. |}
! У старому підході програміст часто вручну пише SQL-скрипти, які створюють або змінюють таблиці. priority:
Типові помилки при роботі з YML
як приклад: YML здатна містити SEO-опис ролей і прав. YML дає можливість описати модель один раз, а далі використати цей SEO-опис для автоматичного створення багатьох частин системи. платформа здатна використати цей SEO-опис для автоматичного створення списку документів з потрібними колонками. У цьому прикладі описано сутність `contractor`, яка виступає як довідником. items.amount: "items.quantity * items.price"
Програміст більше не виступає як людиною, яка вручну переносить одну й ту саму структуру з одного місця в інше. Для людини це зрозуміло як “у документі виступає як контрагент”. |- | Повторне використання | Моделі можна переносити між проєктами. Обов’язкове
title: "Назва"
YML і Git
Форма документа — це те, з чим функціонує користувач системи. Це принципово інший підхід до розробки. |- | Чому YML зручний? платформа здатна прочитати файл і автоматизовано створити на його основі структуру, код, форми та інші елементи. entity: customer_order
type: decimal
Правильний підхід інший. price: 32000
values:
[[JSON]] зручний для обміну даними між системами й дуже популярний у веб-розробці, але для великих конфігурацій і багаторівневих описів не завжди такий зручний для ручного редагування. required: true
== Автоматичне створення журналу документів ==
як приклад, якщо хтось додав нове поле до документа, це видно в diff:
{| class="wikitable" style="width:100%;"
Нижче наведено спрощений приклад [[YML]]-опису довідника “Контрагенти”. Це бізнес-подія. hours:
== Див. так само ==
Журнал документів — це список документів певного типу, як приклад “Замовлення покупців”. Підхід K2 ERP з YML
як приклад, компонент “продажі та реалізація” здатна містити свої сутності, документи, меню, права та форми.</div>
<syntaxhighlight lang="yaml">
name: "Ноутбук Lenovo"
title: "Замовлення покупця"
Ручна розробка програмного забезпечення має сенс там, де потрібна складна логіка, нестандартні алгоритми, інтеграції або спеціальні сценарії. calculate_total:
як приклад: продаж, закупівля, переміщення товару, заявка, рахунок, акт, платіж, замовлення, виробнича операційна дія. |-
| Журнали документів
| автоматизовано створені журнали для роботи з документами.</div>
<syntaxhighlight lang="yaml">
<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
email:
- field: warehouse_id
title: "Товари"
id:
journal:
[[Категорія:Штучний інтелект]]
'''Реалістичний low-code.''' [[YML]] не робить складну ERP магічно простою. - warehouse
title: "Номенклатура"
primary_key: true
type: reference
* [[K2]]
* [[K2 ERP]]
* [[K2 Update]]
* [[ERP]]
* [[YML]]
* [[YAML]]
* [[JSON]]
* [[XML]]
* [[ER-модель]]
* [[BP-модель]]
* [[ORM]]
* [[API]]
* [[Python]]
* [[TypeScript]]
* [[PostgreSQL]]
* [[SQLite]]
* [[MySQL]]
* [[SQL]]
* [[Git]]
* [[AI]]
* [[Штучний інтелект]]
* [[Low-code]]
* [[No-code]]
* [[RAD]]
* [[IDE]]
* [[Автоматична генерація коду]]
* [[Автоматизація бізнесу]]
* [[Українське програмне забезпечення]]
* [[Альтернатива 1С]]
* [[Альтернатива BAS]]
type: string
* [https://erp.kyiv.ua Сайт K2 ERP]
* [https://wiki.erp.kyiv.ua Wiki K2 ERP]
* [https://cloud.corp2.eu хмарна інфраструктура K2 ERP]
* [https://t.me/+uIdWI1W6vndkMTAy Telegram-канал K2 ERP]
* [https://t.me/+6jFwAZM6TQliNTdi Група обговорення функціоналу та пропозицій]
* [https://www.linkedin.com/company/k2erp/ LinkedIn K2]
Тобто один [[YML]]-опис здатна породити цілий набір технічних і функціональних елементів. Програміст більше не переписує одну й ту саму структуру в різних місцях, а функціонує як архітектор, який описує модель і контролює результат. '''Для AI-розробки.''' [[AI|ШІ]] здатна генерувати [[YML]]-структури за описом людини, фактично створюючи [[ER-модель]] майбутнього компонента. * поле назви;
* поле дати;
* посилання на контрагента;
* табличну частину;
* форму списку;
* форму документа;
* журнал;
* меню;
* базові CRUD-операції. menu:
Це умовний приклад, але він показує напрям: типові правила можуть бути описані декларативно, а складна логіка — дописана програмістом. entity: equipment
Компонент має зрозумілу структуру:
auto: true
Частину — описувати вручну. |}
title: "Сервісні заявки"
</div>
title: "Заявка на ремонт обладнання"
Або [[TypeScript]]-інтерфейс:
<syntaxhighlight lang="yaml">
компонент повинен бути достатньо незалежним, щоб його можна було встановити, оновити, видалити або замінити без руйнування всієї системи. |-
| Меню
| автоматизовано сформовані пункти меню. як приклад, якщо в [[YML]] додано нове поле:
== YML і модульність ==
Такий підхід спрощує підтримку. Пояснення
[[YML]] дає можливість описати компонент так, щоб він не був випадковим шматком коду. code:
class Contractor(BaseModel):
id:
</div>
! Довідники важливі, але справжня сила ERP розкривається в документах. entity: repair_request form: Це один із ключових елементів сучасної архітектури, яка дає можливість переходити від ручного програмування до моделювання, автоматичної генерації та AI-асистованої розробки.</syntaxhighlight> Правильний баланс. YML описує те, що можна формалізувати. |- | 2 | ШІ створює YML-структуру. type: integer
title: "Ціна" price: title: "Товар" date: read: true
як приклад, з опису довідника “Контрагенти” можна сформувати:
entity: equipment type: enum code: unit: "шт" unique: true type: reference
problem_description:
! |- | ORM-модель | автоматизовано згенерована модель для роботи з базою даних у коді. title: "Контрагент"
Якщо кожну таку сутність створювати вручну в коді, потім окремо описувати її в базі даних, потім окремо створювати форми, меню, довідники, журнали документів, права доступу та інтерфейси, розробка програмного забезпечення оперативно перетворюється на нескінченне дублювання. - name
equipment_id:
delete: true
== Повний приклад міні-компонента ==
type: reference
компонент “Сервіс” здатна використовувати частину довідників із модуля “продажі та реалізація”, але мати власні документи й процеси. Він прибирає рутину й дає можливість програмісту працювати на рівні архітектури. |-
| Базовий функції ERP
| Початкові операції, які випливають з моделі. SEO-опис
required: true
- field: total_amount
- field: contractor_id
|-
| 1
| Людина формулює ідею компонента. як приклад, інтегратор створив компонент “Сервісне обслуговування обладнання”. title: "Кількість годин"
title: "Дата"
- crm
required: true
works:
id:
[[YML]] здатна описувати правила валідації. Меню — ще одна частина, яку не потрібно кожного разу створювати вручну. type: string
Створи YML-модель для документа "Заявка на ремонт обладнання".== Що платформа здатна створити з такого YML ==
create: true
default: draft
title: "Контрагенти"
У [[ERP]] критично не тільки створити інформаційні дані, а й правильно обмежити доступ до них. Поля додаються. Приклад умовної моделі:
</div>
* назву;
* версію;
* залежності;
* сутності;
* форми;
* меню;
* права;
* міграції;
* точки інтеграції.<syntaxhighlight lang="text">
* довідник обладнання;
* довідник видів робіт;
* документ “Заявка на ремонт”;
* документ “Акт виконаних робіт”;
* журнали документів;
* форми;
* звіти;
* ролі доступу. required: true
пріоритет, відповідальний інженер, статус. Це і виступає як програмування зі швидкістю думки. Документи уточнюються. update: true
[[K2 ERP]] розвивається як модульна ERP платформа. items:
title: "складський облік"
- service_work
[[Категорія:YAML]]
- field: number
[[Категорія:No-code]]
- field: contractor_id
робота, кількість годин, ставка, сума. Після цього людина перевіряє модель, уточнює промптами, додає або змінює поля, коригує зв’язки й акцептує автоматичне створення компонента. * можна бачити історію змін;
* можна порівнювати версії;
* можна робити гілки розробки;
* можна проводити code review;
* можна відкотити помилкові зміни;
* можна бачити, хто і коли змінив модель;
* можна переносити моделі між проєктами. - title: "Обладнання"
== Коротко ==
Саме для цього в [[K2 ERP]] застосовується для [[YML]].[[ORM|ORM-модель]] потрібна для того, щоб програмний код міг працювати з базою даних не напряму через таблиці, а через об’єкти. type: string
edrpou:
! entity: contractor
+ title: "Дата доставки"
<syntaxhighlight lang="yaml">
== Вступ ==
price: Decimal
menu:
<div style="border:3px solid #ef6c00; background:#fff3e0; padding:14px; margin:16px 0;">
<syntaxhighlight lang="yaml">
Людина здатна написати промпт:
[[AI|ШІ]] здатна згенерувати [[YML]]:
- in_work
Шапка документа містить номер, дату, контрагента, складський облік і коментар. |-
| Чим [[YML]] корисний для бізнесу? |-
| Форми документів
| автоматизовано створені форми введення й перегляду документів. Якщо в [[YML]] описана сутність, платформа здатна автоматизовано створити відповідну [[ORM|ORM-модель]].== YML і low-code/no-code ==
edrpou: str | None = None
<div style="border:3px solid #ef6c00; background:#fff3e0; padding:14px; margin:16px 0;">
- low
* [[YML]]-опис структур;
* [[ORM|ORM-моделі]];
* міграції;
* frontend-компоненти;
* backend-логіку;
* звіти;
* шаблони;
* конфігурація меню;
* права доступу. Видно, що описується товар, у якого виступає як код, назва, одиниця виміру, ціна та ознака активності. Зв’язки перебудовуються. title: "Дата"
type: directory
'''Формула.''' Ідея → [[AI|ШІ]] → [[YML]] → [[ER-модель]] → [[ORM]] → міграції → код модуля → меню → довідники → журнали → форми → готовий компонент. Треба зробити так, щоб програмісти не займалися рутиною. phone?: string;
access:
title: "Ціна"
Приклад:
type: string
|-
| Що таке [[YML]] у [[K2 ERP]]?[[XML]] достатньо формальний і потужний, але часто виглядає занадто важким для людини. type: text
- equipment
required: true
== YML і K2 Update ==
fields:
entity: customer_order
Це дає можливість уникнути хаотичних ручних змін у базі даних. Старий підхід
Якщо поле має тип `decimal`, можна перевірити числові значення. Тип
section: "Сервіс"
fields:
POST /api/contractors
name: string;
GET /api/contractors
entities:
}
- row:
type: datetime
equipment_id:
== Висновок ==
! Не вся бізнес-логіка здатна бути описана без зусиль через поля й типи. fields:
У K2 ERP ця читабельність особливо важлива, бо YML здатна використовуватися не тільки програмістами, а й архітекторами системи, інтеграторами, технічними консультантами та штучним інтелектом. |- | Для чого застосовується для YML? entity: repair_request
required: true values:
type: string id: number;
як приклад, платформа здатна автоматизовано створити SEO-опис сутності:
Штучний інтелект особливо добре функціонує там, де виступає як зрозуміла структура. Що відбувається
type: integer
menu: Саме через YML, ER-моделі, ORM, генерацію, модульність і ШІ K2 ERP будує новий підхід до створення ERP-систем — швидший, легший, зрозуміліший і значно сучасніший за старі закриті технології.
set:
- closed
Якщо змінюється документ “Замовлення покупця”, не потрібно відкривати файл на десять тисяч рядків. Саме тому YML виступає як одним із фундаментів програмування зі швидкістю думки.Low-code і No-code часто обіцяють, що бізнес-середовище зможе створювати додатки без програмістів. Але в реальності складні ERP-системи не можуть на 100% обійтися без архітекторів і програмістів. |- | Чим YML корисний для партнерів? |- | Міграції | Автоматичне створення або зміна структури бази даних. У YML відступи мають значення. Цей фрагмент означає, що поле `contractor_id` виступає як посиланням на сутність `contractor`. Перевага. Програміст не малює форму вручну з нуля. |- | Читабельність | YML швидко читати людині. component: ! title: "Назва"
У контексті K2 ERP YML застосовується для для того, щоб описувати не без зусиль параметри, а цілі бізнес-структури:
З YML можна генерувати Python-моделі, схеми валідації, структури API та каркаси сервісів.== YML і Python ==
title: "Номер" required: true
title: "Сума"
required: true
rules: |- | ER-модель | Архітектурний SEO-опис сутностей, зв’язків і структури майбутнього компонента. title: "Кількість"
</syntaxhighlight>
entity: customer_order
title: "Роботи"
table_parts:
Якщо поле виступає як посиланням на іншу сутність, можна перевірити коректність зв’язку. entity: contractor
title: "Код"
- name: idx_product_name
validation:
У підході [[K2 ERP]] структура описується через [[YML]], а міграції можуть створюватися автоматизовано. платформа читає цей SEO-опис і розуміє, що потрібно створити. Краще розділяти описи за модулями, компонентами або сутностями. Перевага
type: directory
Коли людина описує ідею, [[AI|ШІ]] формує [[YML]], а [[K2 ERP]] автоматизовано створює компонент — розробка програмного забезпечення наближається до швидкості думки. type: integer
title: "Назва"
type: reference
Він стає архітектором, який:
[[Категорія:ERP для партнерів]]
title: "Заявка на ремонт"
comment:
- completed
<div style="border:3px solid #ef6c00; background:#fff3e0; padding:14px; margin:16px 0;">
Це не означає, що всі зміни стають автоматизовано простими. - critical
type: directory
auto: true
name: str
! Не треба обіцяти, що програмісти зникнуть. Це дає багато переваг:
sales_director:
як приклад, якщо в [[ER-модель|ER-моделі]] виступає як сутність “Замовлення покупця”, яка пов’язана з “Контрагентом”, “Складом” і “Товаром”, то в [[YML]] це здатна бути описано через поля типу `reference`. amount:
type: reference
price: number;
Замість того щоб вручну дублювати структуру в різних частинах системи, її можна один раз описати в [[YML]].[[TypeScript]] застосовується для для frontend-частини, компонентів інтерфейсу, типізації даних і взаємодії з API. entity: warehouse
amount:
type: journal
'''критично.''' [[YML]] у [[K2 ERP]] не замінює програміста.[[Категорія:AI]]
contractors.yml
Це значно краще, ніж коли зміни зроблені десь у закритому конфігураторі й незрозуміло, хто, коли і що саме змінив. Він дає можливість сказати системі: “Ось як має виглядати компонент”, а далі платформа сама створює необхідні частини.== YML і повторне використання компонентів ==
Це дає можливість frontend-розробнику працювати з типізованими даними й зменшує кількість помилок. items:
validation:
як приклад, якщо поле обов’язкове, можна перевірити, що платформа не дає можливість зберегти документ без цього поля.[[Категорія:YML]]
entities:
status:
fields:
calculate_amount:
required: true
update: true
products.yml
Але він прибирає величезний пласт рутини, який у старих системах забирав час, гроші, нерви й змушував програмістів вручну робити те, що давно має створюватися автоматизовано. | Він читабельний, текстовий, придатний для Git, автоматичної генерації та роботи з ШІ. fields: Частину структури можна створювати візуально. Не “написати все руками”, а “описати модель так, щоб платформа сама могла створити потрібну структуру”. Якщо структура документа вже описана в YML, форма здатна бути розроблена автоматизовано. як приклад, для сутності `contractor` можуть бути автоматизовано створені маршрути:
- draft
export interface Contractor {
- структуру таблиці;
- ORM-модель;
- міграцію бази даних;
- пункт меню;
- форму списку;
- форму картки;
- базові операції створення, редагування, перегляду та видалення;
- службові описи для компонента.
title: "Виконані роботи"
Частину — дописувати програмно. критично правильно описати структуру бізнесу. type: document
Порівняння старого і нового підходу
works:
генерації коду забезпечується через Для розробників. YML дає можливість описувати структуру компонента зрозуміло, читабельно, контрольовано і придатно; так само реалізовано версіонування через Git та роботи з штучним інтелектом. | Декларативний текстовий SEO-опис структур, моделей, форм, меню, документів, довідників і компонентів.
title: "Телефон" total_amount: "sum(items.amount)"
Оскільки YML описує структуру компонента, з нього можна генерувати документацію. Це формалізований SEO-опис бізнес-моделі, з якого платформа здатна автоматизовано створювати структури, ORM-моделі, міграції, код модуля, меню, довідники, журнали документів і форми документів. У ньому виступає як:
entity: contractor id:
fields:
title: "Сума"customer_order.yml SEO title: YML у K2 ERP — декларативний опис структур, моделей, форм і компонентів SEO keywords: YML, YAML, K2 ERP, ER-модель, ORM, ERP, AI ERP, автоматична генерація коду, структура бази даних, Python, TypeScript, PostgreSQL, бізнес-додатки, low-code ERP, no-code ERP, українська ERP, альтернатива 1С, альтернатива BAS
</noinclude>
{{SEO
Шаблон для службового SEO-опису сторінки. }}
depends_on:
title: "SEO-опис проблеми" primary_key: true
Тоді роль людини змінюється. * неправильні відступи;
- неузгоджені назви полів;
- дублювання сутностей;
- відсутність типів даних;
- занадто складні структури в одному файлі;
- спроба описати в YML те, що краще реалізувати в коді;
- відсутність коментарів;
- некоректні посилання на інші сутності;
- невраховані права доступу;
- неописані правила валідації. title: "Робота"
title: "E-mail"
type: directory - row: - normal
Автоматичне створення форми документа
Якщо структура сутності описана в YML, платформа здатна використати цю інформацію для створення API. | дає можливість швидше створювати новий функції ERP і адаптувати ERP під реальні процеси. це не без зусиль конфігураційний файл виступає ключовою рисою Головне. У K2 ERP YML. code: string;
| Такі зв’язки можна описувати явно. type: string
платформа здатна зрозуміти, що в таблицю потрібно додати нову колонку. type: document type: datetime
як приклад, якщо в YML описано довідник “Контрагенти”, платформа здатна створити: fields: title: "Сервісні заявки" columns: product_id:
У великих системах рефакторинг неминучий. |-
| 6
| [[K2 ERP]] автоматизовано створює компонент. У [[K2 ERP]] [[YML]] застосовується для як міст між архітектурною ідеєю, [[ER-модель|ER-моделлю]], [[ORM|ORM-моделлю]], структурою бази даних, програмним кодом модуля, інтерфейсом користувача та автоматизовано створеним бізнес-додатком. ! permissions:
entity: contractor
</div>
Правильно:
invoice.yml
required: true
title: "SEO-опис проблеми"
email?: string;
Це інтуїтивно для розробників, інтеграторів, тестувальників і користувачів. Якщо структура системи розкидана по коду, базі, формах і меню, рефакторинг стає болючим. Крок
title: "Години"
[[YML]] у [[K2 ERP]] — це основа для такого підходу. |-
| Прозорість
| Архітектуру компонента можна зрозуміти з текстового опису. | Так. product:
quantity:
+ delivery_date:
- in_work
title: "Контрагент"
type: decimal
Приклад [[YML]]-опису журналу:
З такого опису [[K2 ERP]] здатна автоматизовано створити розділ меню “продажі та реалізація” та додати до нього потрібні пункти. Етап
delete: false
</div>
{| class="wikitable" style="width:100%;"
title: "Замовлення покупця"
Приклад опису форми:
title: "Сервісне обслуговування"
type: integer
table_parts:
<syntaxhighlight lang="yaml">
Якщо структура цього модуля описана в [[YML]], її можна переносити між інсталяціями, використовувати як шаблон, розвивати й публікувати через [[K2 Update]]. title: "Замовлення покупців"
[[Категорія:Українське програмне забезпечення]]
calculated: true
work_id:
type: boolean
[[YML]]-опис здатна бути використаний для створення структур у [[PostgreSQL]]: таблиць, колонок, індексів, зв’язків, обмежень і міграцій.[[Категорія:K2]]
type: string
fields: - sales Цей SEO-опис говорить системі, як розмістити поля на формі. Це означає, що людина перестає витрачати час на механічне дублювання. Нижче наведено умовний спрощений приклад YML-опису міні-компонента “Сервісні заявки”. title: "Менеджер з продажу"
type: text email: number: YML і ER-модель</syntaxhighlight> type: string - field: comment id: number; Таким чином, YML здатна бути джерелом не тільки для генерації коду, а й для перевірки якості. layout: через YML платформа здатна розуміти структуру компонента, створювати ORM-моделі, міграції, код, меню, довідники, журнали документів, форми документів і базовий функції ERP. Але вони стають більш прозорими. Вона має поля: ідентифікатор, код, назву, ЄДРПОУ, телефон, e-mail та ознаку активності. active: bool = True id: int </syntaxhighlight> title: "Серійний номер" contractor_id: when: "items.quantity or items.price changed" Додай табличну частину для виконаних робіт: title: "Податковий номер" title: "Дата" type: reference </syntaxhighlight> type: string Людина здатна прочитати файл і зрозуміти, що в ньому описано. Достатньо працювати з конкретним описом. Міграції потрібні для керованої зміни структури бази даних. - title: "Замовлення покупців" Такий SEO-опис швидко прочитати навіть людині, яка не виступає як програмістом. |- |
Яка роль людини? Програмісту залишається важливіша робота: подумати, чи правильно побудована модель, чи не буде проблем зі зв’язками, чи відповідає структура реальному бізнесу, яку складну логіку треба дописати окремо. Він описує структуру, а платформа створює форму автоматизовано.K2 Update здатна використовувати YML як частину механізму доставки компонентів. price:
contractor_id:
Головна цінність у тому, що [[YML]] виступає як зрозумілим і для людини, і для машини.[[AI|ШІ]] здатна генерувати [[YML]] за описом людини, фактично створюючи [[ER-модель]] майбутнього компонента. Приклад:
required: true
Далі — коментар. |- |
YML-структура | Декларативний текстовий SEO-опис моделі, який здатна бути створений людиною, редактором або ШІ. serial_number:
</syntaxhighlight> } Попри простоту, з YML потрібно працювати уважно. |- |
Версіонування | YML інтуїтивно зберігати в Git. Такий SEO-опис дає можливість централізовано визначати, хто здатна переглядати, створювати, редагувати, видаляти або погоджувати документи. title: "Обладнання" Для системи це зрозуміло як зв’язок між таблицями, який можна використати для генерації ORM-моделі, форми, довідника, API та звітів. hours: type: decimal when: "items.amount changed" </syntaxhighlight> Це особливо критично для партнерів K2 ERP. Відповідь type: reference Приклад опису документа- repair_request - code У цьому прикладі описано документ із шапкою та табличною частиною. Програміст дошліфовує складну логіку. |- |
Автоматична генерація | З YML можна створювати ORM, міграції, код, меню, форми й довідники. required: true
primary_key: true YML і незалежні компонентиtype: string title: "клієнт ERP" type: reference YML виступає як текстовим представленням такої моделі. Він має багато службових тегів, які ускладнюють читання. title: "Номер" На основі такого опису платформа здатна автоматизовано створити довідник контрагентів. title: "Сума" table_parts: </syntaxhighlight> <syntaxhighlight lang="yaml"> - draft
depends_on: read: true Щоб YML-моделі залишалися зручними, варто дотримуватися кількох принципів. Питання engineer_id: |
|---|