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

K2 Ядро

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


K2 Ядро і технологічна незалежність

У закритій ERP розробник часто бачить тільки зовнішній інтерфейс або обмежений API.; Не можна тестувати ризикові зміни одразу на бойовій системі.; K2.db |- | Технічний принцип. Структура даних компоненти має бути частиною архітектури, а не випадковим набором таблиць.; з цієї причини доступи мають бути точними.;== Спільні довідники == init_db_custom()

У технологічному шарі K2 можуть використовуватися:
K2 Ядро створює єдину модульну платформу зі спільною базою, довідниками, інтерфейсом і логікою, тоді як модель окремих конфігурацій часто призводить до дублювання, обмінів і фрагментації.; Це означає, що вже створені частини системи можуть бути корисними для нових модулів.; |-
Технічний акцент. K2 Ядро — це шар, який надає можливість платформі бути не набором окремих програм, а цілісною ERP-системою.; init_db_uri_custom()

K2 Ядро і безпека

  • помилки;
  • дії користувачів;
  • зміни ролей;
  • імпорт;
  • експорт;
  • критичні операції;
  • інтеграційні помилки;
  • актуалізація компонентів;
  • зміни документів;
  • фінансові дії;
  • доступ до архівів.; Умови використання визначаються ліцензією та договором.; │ ├── schema/
  • спільні довідники;
  • єдину базу даних;
  • ролі й доступи;
  • документи;
  • архів;
  • імпорт;
  • інтеграції;
  • журналювання;
  • перевірку даних;
  • бізнес-процеси.;
class="wikitable" style="width:100%; background:#e8f5e9;"
Архітектурний сенс. K2Grid надає можливість створювати бізнес-інтерфейси швидше, бо типова таблична логіка не пишеться заново для кожного модуля.; * єдину логіку роботи модулів;
  • доступ до бази даних;
  • спільні довідники;
  • користувачів і ролі;
  • права доступу;
  • API;
  • компоненти;
  • гриди та форми;
  • бізнес-процеси;
  • інтеграційні механізми;
  • актуалізація;
  • журналювання;
  • розширення через модулі й доповнення.; Ядро має бути продуктивним, з цієї причини що через нього проходять основні операції: запити до бази, робота гридів, API, документи, імпорт, експорт, інтеграції, звіти й актуалізація.;
П’ята помилка — не документувати компонент.;== Навіщо потрібне ядро ERP ==

Окремо варто відзначити бази даних, довідників, користувачів, ролей, доступів, компонентів, API, інтеграцій, веб-інтерфейсів, бізнес-процесів, оновлень і розширень виступає ключовою рисою '''K2 Ядро''' реалізується засобами це центральна частина [[K2 ERP]] і [[K2 Cloud ERP]], яка.;
Цінність відкритого ядра. Розробник має змогу створювати рішення для бізнесу поверх наявної ERP-основи, а не писати власну платформу, власні довідники, власні доступи й власну інфраструктуру з нуля.; Вони можуть використовувати вже наявних контрагентів, номенклатуру, склади, документи, користувачів, ролі, файли, довідники, API й механізми безпеки.;== K2 Ядро і продуктивність ==
Критично. Ядро ERP не має змогу ігнорувати безпеку.;

Через API можуть виконуватися:

</syntaxhighlight> Ядро надає можливість модулям працювати в єдиному середовищі, використовувати спільні довідники, не дублювати логіку й розвивати систему як платформу, а не як набір окремих програм.;

K2 Ядро має забезпечувати умови, у яких компоненти можуть підключатися, оновлюватися, взаємодіяти з базою, використовувати спільні довідники й не ламати роботу інших модулів.; {| class="wikitable" style="width:100%; background:#e3f2fd;"

UX-перевага. Спільне ядро інтерфейсів надає можливість користувачам швидше навчатися, бо різні модулі працюють за однаковою логікою.; Це означає, що K2 не є собою в цілому вільною Open Source-системою без комерційних обмежень, але частина платформи має змогу бути доступною для вивчення, адаптації та розробки розширень.; Воно дає платформі модульність, повторне використання, відкритість для розробників, контроль даних, єдині довідники, спільну архітектуру, інтеграції та можливість масштабованого розвитку української ERP.; Третя помилка — писати власний CRUD, якщо є собою стандартний грид або форма.; Його головна цінність — перетворення ERP із набору окремих доробок на єдину платформу.;
│ ├── business_processes/ models.py Ядро не тільки функціонує з базою й модулями, а й задає підхід до веб-інтерфейсів.;

K2 Ядро створює умови для повторного використання логіки.; |}

│ ├── forms.py
  • реліз в `setup.py`;
  • тип версії: stable або testing;
  • характеристика змін у `history.txt`;
  • список компонентів для актуалізація;
  • ignore-файли;
  • сервер оновлень;
  • тестування на dev/test-середовищах;
  • перевірка сумісності.;
; Якщо компонент створює нові таблиці, він має робити це не хаотично, а через зрозумілу структуру, яка має змогу бути оновлена, задокументована й підтримана.; Це означає, що модулі не повинні створювати власні ізольовані інформаційні острови.; Воно гарантує базу даних, модулі, компоненти, довідники, ролі, доступи, API, гриди, форми, актуалізація, журналювання, інтеграції та можливість створення доповнень.; Один слабкий механізм доступу має змогу відкрити фінансовий блок, документи, персональні інформаційні дані або інтеграції.; K2 Ядро застосовується правильно, якщо нові модулі не дублюють базову логіку, а використовують спільні довідники, єдину базу даних, стандартні гриди, форми, ролі, API, актуалізація й журналювання.;

Чим K2 Ядро відрізняється від окремих конфігурацій 1С/BAS?

Міграція має спиратися на ядро:

K2 Ядро і міграція з 1С/BAS

  • облікові записи;
  • ролі;
  • права;
  • сесії;
  • контроль експорту;
  • контроль імпорту;
  • журналювання;
  • аудит дій;
  • обмеження доступу до конфігурацій;
  • захист токенів;
  • контроль API;
  • резервне копіювання;
  • відновлення;
  • ізоляція середовищ.;

Одним із ключових принципів K2 Ядра є собою робота з єдиною базою даних.; У ядрі можуть використовуватися методи ініціалізації підключення до бази:

  • оптимальні SQL-запити;
  • правильні індекси;
  • пагінація;
  • фільтрація;
  • контроль великих таблиць;
  • кешування там, де це доречно;
  • журналювання важких операцій;
  • оптимізація API;
  • контроль імпортів;
  • обмеження важких експортів;
  • тестування на реальних обсягах даних.; |}

Приклад запису в історії: |- | істотно. Приховати кнопку в інтерфейсі недостатньо.; |}

Ядро потрібне для того, щоб уникнути цієї фрагментації.; До технологічного шару можуть належати Python, TypeScript, JavaScript, PHP, PostgreSQL, API, ORM, K2Grid, компоненти, сервер оновлень і веб-інтерфейси.; !; * контрагенти;
  • номенклатура;
  • склади;
  • підрозділи;
  • працівники;
  • користувачі;
  • валюти;
  • статті бюджету;
  • договори;
  • проєкти;
  • статуси;
  • типи документів.; Права на використання, встановлення, модифікацію та поширення визначаються ліцензією й комерційними умовами.; У ньому закладені правила роботи з даними, користувачами, ролями, доступами, компонентами, оновленнями й бізнес-логікою.; K2 Ядро
  • банки;
  • платіжні системи;
  • електронний електронний документообіг;
  • сайти;
  • інтернет-магазини;
  • маркетплейси;
  • служби доставки;
  • ПРРО;
  • SMS;
  • email;
  • месенджери;
  • BI-системи;
  • CRM;
  • зовнішні бази;
  • державні або комерційні сервіси.; |}
До таких довідників можуть належати: K2Grid можна розглядати як один із важливих інтерфейсних механізмів K2.; Якщо ядро сильне, кожен новий компонент підсилює всю систему.; !; Якщо права доступу слабкі, будь-який компонент має змогу стати джерелом витоку або помилки.; {| class="wikitable" style="width:100%; background:#e8f5e9;" кожного нового модуля.; Якщо ядро має зрозумілі правила компонентів, бази даних, API, доступів, інтерфейсів і оновлень, розробники можуть створювати доповнення, які не ламають систему.;

K2 Ядро — це базовий рівень платформи K2 ERP, який відповідає за спільні механізми роботи системи.; Частина ядра До базових інтерфейсних механізмів можуть належати: {{SEO

Сучасне K2 Ядро орієнтоване на Web-архітектуру.; Ядро дає партнерам: |- | центральний висновок. K2 Ядро — це центр ERP-екосистеми K2.;== K2Grid як частина платформної логіки == |- | істотно. Ядро потрібно оцінювати не на порожній тестовій базі, а на сценаріях, близьких до реальної роботи підприємства.;== K2 Ядро і партнерська програмний пакет == |- | Архітектурний сенс. Open Core у K2 — це спосіб поєднати комерційну ERP-платформу з можливістю для розробників створювати власні рішення для бізнесу на базі ядра.; |}

K2 Ядро має підтримувати контрольовану модель оновлень.; Що гарантує

Для компонентів важливі:

Сторінка K2 Ядро має допомагати користувачам і пошуковим системам зрозуміти, що є собою технічною та архітектурною основою K2 ERP: ядро, відкрите ядро, Open Core, модулі, компоненти, єдина база даних, спільні довідники, API, ролі, доступи, K2Grid, PostgreSQL, Python, TypeScript, PHP, актуалізація, магазин доповнень і партнерська програмний пакет.; |}

2.0.4.43 - додано перевірку прав на експорт у журналі документів

K2 Ядро можна умовно поділити на кілька груп механізмів.; Грид — це не без ускладнень таблиця, а робочий інструмент для перегляду, редагування, фільтрації, пошуку, сортування та обробки даних.; {| class="wikitable" style="width:100%; background:#e8f5e9;"

  • базову платформу;
  • спільні довідники;
  • стандартні компоненти;
  • інтерфейсні механізми;
  • доступ до API;
  • можливість створення модулів;
  • основу для інтеграцій;
  • модель оновлень;
  • технічну дисципліну;
  • основу для сертифікації.; Єдина база даних надає можливість:

як ілюстрація: Ядро має підтримувати дисципліну середовищ.; {| class="wikitable" style="width:100%; background:#e8f5e9;" |- | Екосистемний ефект. Сильне ядро надає можливість магазину доповнень рости не хаотично, а як контрольована ERP-екосистема.; Дублікати, старі права, неактуальні довідники й зайві документи потрібно очищати.;=== Що таке K2 Ядро? ===

актуалізація ядра та компонентів

Що таке K2 Ядро

}

Вона покриває запити: “K2 Ядро”, “ядро K2 ERP”, “K2 Core”, “K2 ERP ядро”, “K2 Cloud ERP ядро”, “відкрите ядро ERP”, “Open Core ERP”, “ядро української ERP”, “компонентна технічна архітектура K2”, “компоненти K2 ERP”, “API K2 ERP”, “PostgreSQL K2 ERP”, “Python K2 ERP”, “розробка програмного забезпечення K2 ERP”, “магазин доповнень K2”.;

Шоста помилка — не оновлювати версію.; Якщо розробка програмного забезпечення обходить платформні механізми, вона створює технічний борг.; {| class="wikitable" style="width:100%; background:#ffebee;"

Друга помилка — створювати нові довідники там, де вже є собою спільні.; У K2Grid можуть використовуватися: |-

| Критично. Ядро без безпеки — це ризик для всієї ERP.;
Під час [[Міграція з 1С|міграції з 1С]] або [[Міграція з BAS|BAS]] ядро K2 має особливе значення.; Це призводить до дублювання, помилок і складної підтримки.; init_db()
<syntaxhighlight lang="text">
{| class="wikitable" style="width:100%; background:#e3f2fd;"
K2 ERP використовує модель відкритого похідного коду в частині системи, зокрема на рівні ядра, але це не обовязково означає класичний Open Source без комерційних обмежень.; Якщо в системі є собою багато модулів і компонентів, актуалізація без дисципліни має змогу створювати ризики.;</span>
|}

[[Категорія:K2Grid]]
|-
| '''Уточнення.''' <span style="color:#ef6c00;">Відкритий похідний код не завжди означає класичний Open Source.;  ├── hooks.py

* [[K2 ERP]]
* [[K2 Cloud ERP]]
* [[Архітектура K2 ERP]]
* [[База даних K2 ERP]]
* [[Розгортання K2 ERP]]
* [[Розгортання системи K2 Cloud ERP Python для розробників]]
* [[Розробка веб-інтерфейсів K2]]
* [[Рекомендації для розробників K2]]
* [[Компоненти K2 ERP]]
* [[K2Grid]]
* [[Гриди K2 ERP]]
* [[Форми K2 ERP]]
* [[Магазин доповнень K2]]
* [[Сертифікація K2]]
* [[Партнерська програма K2]]
* [[Доступи K2 ERP]]
* [[Ролі K2 ERP]]
* [[Безпека K2 ERP]]
* [[API]]
* [[ORM]]
* [[Python]]
* [[TypeScript]]
* [[JavaScript]]
* [[PHP]]
* [[PostgreSQL]]
* [[Open Core]]
* [[Відкритий похідний код]]
* [[Міграція з 1С]]
* [[Міграція з BAS]]

{| class="wikitable" style="width:100%; background:#e8f5e9;"

{| class="wikitable" style="width:100%; background:#e8f5e9;"

=== Чому ядро важливе для K2 ERP? ===

!;<syntaxhighlight lang="python">
|-
| '''Ознака здорової архітектури.''' <span style="color:#2e7d32;">Кожен новий компонент K2 має робити сильнішою всю систему, а не збільшувати кількість ізольованих доробок.;</span>
|}

== API в K2 Ядрі ==

== SEO-призначення сторінки ==

== Що входить до K2 Ядра ==

init_db_user()
ERP-система з часом обростає модулями: фінансовий блок, складський облік, продажі та реалізація, закупівельна діяльність, електронний документообіг, CRM, виробництво, кадри, зарплата, аналітичні інструменти, e-commerce, інтеграції, мобільні сценарії, галузеві рішення для бізнесу.; Окремі конфігурації 1С/BAS
== Типові помилки при роботі з ядром ==
|-
| '''<span style="color:#1565c0;">База даних</span>'''
| Підключення, ORM, транзакції, структури даних
| Щоб модулі працювали з єдиною інформаційною основою
|-
| '''<span style="color:#1565c0;">Користувачі</span>'''
| Облікові записи, сесії, ролі
| Щоб платформа знала, хто функціонує
|-
| '''<span style="color:#ef6c00;">Права доступу</span>'''
| Читання, запис, створення, видалення, імпорт, експорт
| Щоб користувачі бачили тільки дозволені інформаційні дані
|-
| '''<span style="color:#2e7d32;">Компоненти</span>'''
| Модульність, повторне використання, розширення
| Щоб нові функції створювалися як частини платформи
|-
| '''Гриди й форми'''
| Таблиці, CRUD, картки, інтерфейси
| Щоб користувачі працювали з даними
|-
| '''API'''
| Обмін даними, інтеграції, зовнішні сервіси
| Щоб K2 взаємодіяла з іншими системами
|-
| '''Журналювання'''
| Логи, події, помилки, історичний розвиток дій
| Для аудиту, діагностики й підтримки
|-
| '''актуалізація'''
| Версії компонентів, сервер оновлень, history
| Щоб платформа розвивалася контрольовано
|-
| '''Меню й навігація'''
| Доступ до модулів, розділів і команд
| Щоб користувачі працювали в єдиному інтерфейсі
|}

K2 Ядро має підтримувати модель ролей і доступів.; З ядром модулі працюють у спільному середовищі.; !; Якщо кожен із цих модулів створюється окремо, платформа оперативно стає фрагментованою.; Саме для цього потрібні компоненти, API, спільні довідники, відкритіші механізми платформи, документація, Git-дисципліна й магазин доповнень.; * гриди;
* форми;
* меню;
* фільтри;
* пошук;
* CRUD;
* кнопки дій;
* DropDown-довідники;
* master-detail;
* імпорт;
* експорт;
* повідомлення;
* права доступу в інтерфейсі;
* привязка до бізнес-процесів.;  └── user_manual/
{| class="wikitable" style="width:100%;"
До безпеки ядра належать:
== K2 Ядро і Open Core ==
[[Категорія:API]]
<syntaxhighlight lang="text">
{| class="wikitable" style="width:100%; background:#fff3e0;"
== Як зрозуміти, що ядро застосовується правильно ==
Напрями інтеграцій:
Для продуктивності важливі:
!; Ядро має підтримувати журналювання.;[[Категорія:Міграція з 1С]]

* внутрішня команда K2;
* партнери;
* інтегратори;
* розробники доповнень;
* технічні команди клієнтів;
* навчальні центри;
* автори галузевих модулів.; |}

=== Чи можна створювати власні модулі на базі K2 Ядра? ===
|-
| '''Правильний підхід.''' <span style="color:#2e7d32;">Міграція має використовувати ядро K2 як шанс побудувати чисту, єдину й контрольовану ERP-архітектуру.; Безпека має бути частиною ядра, а не додатковим модулем після всього.; '''K2 Ядро'''  це фундамент K2 ERP та K2 Cloud ERP.; Критерій

* доступу до даних;
* ролей;
* меню;
* гридів;
* форм;
* довідників;
* API;
* журналювання;
* оновлень;
* документації;
* інтеграцій.; * виробничий компонент має змогу використовувати номенклатуру, склади й документи;
* ресторанний компонент має змогу використовувати виробничу логіку, меню й бронювання;
* готельний компонент має змогу використовувати бронювання, клієнтів і фінансові документи;
* CRM має змогу використовувати контрагентів, задачі, документи й історію;
* інтернет-магазин має змогу використовувати товари, залишки, клієнтів і замовлення;
* електронний документообіг має змогу використовувати контрагентів, договори, файли й ролі.; |-
| '''Головна ідея.''' <span style="color:#2e7d32;">K2 Ядро  це основа, на якій будується вся ERP-екосистема K2.; Якщо організація функціонує на закритій або застарілій платформі, воно залежить від конкретного вендора, старих спеціалістів, старої архітектури й обмежених можливостей розвитку.;</span>
|}

== Єдина база даних у ядрі ==

Для компонентів K2 важливу роль відіграють ORM-структури.; Для ERP це має змогу бути дуже практичним підходом.; Без ядра кожен компонент має змогу мати власні довідники, власних користувачів, власні права, власний інтерфейс, власні інтеграції й власну логіку оновлень.; Призначення

 ├── requirements.txt
|-
| '''істотно для розробника.''' <span style="color:#ef6c00;">Не варто створювати випадкові прямі підключення до бази, якщо ядро вже має стандартні механізми доступу.; |-
| '''Перевага.''' <span style="color:#2e7d32;">Журналювання робить систему прозорою: можна зрозуміти, хто що зробив, коли сталася помилка і як її виправити.; * модулі працюють в одному інформаційному середовищі;
* довідники не дублюються;
* користувачі мають єдину модель доступів;
* інтерфейси мають спільну логіку;
* компоненти мають версії;
* зміни описані в history;
* API застосовується контрольовано;
* інтеграції логуються;
* актуалізація тестуються;
* новий компонент підсилює платформу, а не створює окремий острів.; Вони дозволяють описувати таблиці, поля, звязки та сутності компоненти у зрозумілій структурі.; Сьома помилка  публікувати зміни без тестування.; |-
| '''Ефект ядра.''' <span style="color:#2e7d32;">Коли один компонент створює корисну логіку, інші модулі можуть її повторно використовувати.;</span> Новий компонент, інтеграційні функціональні можливості, форма, грид, довідник або бізнес-процес не створюються з нуля, а використовують уже наявний фундамент платформи.;[[Категорія:Open Core]]

components/

Такі методи потрібні для різних сценаріїв: стандартного підключення, custom-баз, користувацьких підключень, хмарних середовищ, dev/test/prod-контурів і партнерських розгортань.;</span>
|}

{| class="wikitable" style="width:100%; background:#e3f2fd;"

Якщо CRM, складський облік, фінансовий блок, електронний документообіг і аналітичні інструменти використовують одні й ті самі довідники, бізнес-середовище отримує менше дублювання, менше помилок і більше довіри до даних.;== Ролі та доступи в ядрі ==

== Повторне використання логіки ==

* відкритіша технічна архітектура;
* можливість розробки модулів;
* українська ERP-основа;
* PostgreSQL і Linux-сценарії;
* хмарна інфраструктура та on-premise;
* API;
* партнерська програмний пакет;
* магазин доповнень;
* повторне використання компонентів;
* контроль над даними.;</span>
|}

== Поширені запитання ==

{| class="wikitable" style="width:100%; background:#fff3e0;"

Типова структура компоненти має змогу виглядати так:

 └── setup.py

  ├── views.py

== K2 Ядро і веб-архітектура ==
|-
| '''Перевага.''' <span style="color:#2e7d32;">Ядро зменшує повторну розробку.; Якщо розробник створює компонент складу забезпечується через У простому поясненні ядро  це те, що не потрібно створювати заново; додатково реалізовано CRM, документообігу, фінансових заявок, ресторану, готелю, інтернет-магазину або виробництва, він має спиратися на ядро, а не дублювати базові механізми.; |}

!; Роль ядра
[[Категорія:Безпека K2 ERP]]
Ядро K2 можна розглядати як <span style="color:#1565c0;">технічний і логічний фундамент ERP-системи</span>.;</span> Розробник не витрачає час на створення базових речей, а зосереджується на бізнес-логіці нового модуля.; базову архітектуру платформи: роботу модулів.; * читання;
* запис;
* створення;
* видалення;
* імпорт;
* експорт;
* адміністрування;
* конфігурація таблиць;
* доступ до конкретних модулів;
* доступ до окремих дій;
* доступ до архіву;
* доступ до фінансових даних.; {| class="wikitable" style="width:100%; background:#e8f5e9;"
'''Компонент''' у K2  це окрема функціональна частина платформи, яка має змогу мати власну логіку, моделі, форми, гриди, меню, шаблони, документацію, залежності й версію.; Навіщо потрібна

init_db_uri_user()

* SQL-джерела;
* YML-опис;
* поля;
* форми;
* DropDown;
* master-detail;
* кнопки;
* умови;
* права;
* фільтри;
* пошук;
* службові колонки;
* конфігурація ширини й поведінки.; Модель '''Open Core''' означає, що базова або важлива частина системи має змогу бути відкритою для вивчення та розробки, але програмний продукт загалом залишається комерційним.;== Коротко ==
|-
| '''істотно.''' <span style="color:#ef6c00;">інтеграційні функціональні можливості має бути не випадковим скриптом, а контрольованим каналом обміну: з правами, логами, відповідальним і правилами помилок.;</span>
|}

[[Категорія:ORM]]

Журналювати потрібно:

Якщо кожен компонент створює власний інтерфейсний підхід, користувачі плутаються, а супровід ускладнюється.; Це істотно для діагностики, безпеки, підтримки й розуміння того, що відбувалося в системі.;  ├── models.py
!; Воно приймає не без ускладнень старі інформаційні дані, а нову інформаційну модель підприємства.; У відкритішій моделі він має змогу глибше розуміти логіку системи, розширювати платформу, створювати модулі й інтеграції на базі ядра.; завдяки наявності ядру нові модулі не починаються з нуля, а використовують уже наявні сутності, правила, інтерфейси й бізнес-логіку.; |-
| '''Критично.''' <span style="color:#b71c1c;">Якщо ядро слабке, кожен новий компонент перетворюється на окрему доробку.;</span>
|}

API потрібне для звязку ядра, модулів, зовнішніх сервісів, інтеграцій і веб-інтерфейсів.; Воно задає спільні правила гри.;</span> Дія має перевірятися і на серверному рівні, і на рівні доступу до даних.; До нього належать архітектурні принципи, системні сервіси, базові обєкти, робота з базою даних, користувачами, ролями, правами, компонентами, меню, формами, грідами, API, оновленнями та інтеграціями.; Права можуть включати:

* отримання даних;
* збереження документів;
* погодження заявок;
* імпорт;
* експорт;
* обмін із банками;
* обмін із маркетплейсами;
* інтеграційні функціональні можливості з сайтами;
* синхронізація з CRM;
* передача статусів;
* робота з файлами;
* інтеграційні функціональні можливості з BI;
* підключення мобільних сценаріїв.; Це означає, що робота системи переноситься у веббраузер, а не залежить від старих товстих клієнтів.; K2 Ядро має підтримувати інтеграції з іншими системами й сервісами.;</span> Так платформа розвивається швидше, ніж набір окремих систем.; |-
| '''Стратегічна перевага.''' <span style="color:#2e7d32;">K2 Ядро надає можливість бізнесу будувати власну ERP-архітектуру, а не залишатися заручником старої конфігурації або одного закритого постачальника.;</span>
|}

== K2 Ядро і веб-інтерфейси ==

Ознаки правильного використання:
[[Категорія:Ролі K2 ERP]]
Так.; Однією з важливих особливостей K2 ERP є собою модель відкритого похідного коду в частині системи, зокрема на рівні ядра.;</span>
|}

K2 Ядро дає іншу модель:

=== Які технології повязані з K2 Ядром? ===

== ORM і models.py ==
== Порівняння: окремі конфігурації та K2 Ядро ==
K2 Ядро в такій моделі виконує роль спільного фундаменту, на якому можуть працювати:
== Dev, Test, Prod у ядрі K2 ==
|-
| '''<span style="color:#1565c0;">Dev</span>'''
| розробка програмного забезпечення компонентів і модулів
| надає можливість експериментувати без ризику для бізнесу
|-
| '''<span style="color:#1565c0;">Test</span>'''
| Перевірка оновлень, міграцій, інтеграцій
| надає можливість перевірити сумісність
|-
| '''Demo'''
| Демонстрації та навчання
| Показує функціональні можливості системи без бойових даних
|-
| '''<span style="color:#2e7d32;">Prod</span>'''
| Робоча платформа підприємства
| Потребує максимальної стабільності
|-
| '''Archive'''
| Історичні інформаційні дані
| гарантує доступ до минулих записів без активної роботи
|}

== Інтеграційні механізми ядра ==
|-
| '''Заборона.''' <span style="color:#b71c1c;">Не можна перевіряти небезпечні актуалізація, імпорти або зміни структури даних напряму в Prod.;</span>
|}

Четверта помилка  не враховувати права доступу.; |-
| '''Для партнерів.''' <span style="color:#1565c0;">K2 Ядро надає можливість партнеру не створювати власну ERP-платформу, а будувати рішення для бізнесу поверх уже готової основи.; |}

=== Що дає відкрите ядро розробникам? ===

{| class="wikitable" style="width:100%; background:#ffebee;"

[[Категорія:Архітектура K2 ERP]]

* розуміти внутрішню логіку платформи;
* створювати власні модулі;
* використовувати спільні довідники;
* працювати з базовою бізнес-логікою;
* будувати інтеграції;
* створювати доповнення;
* адаптувати систему під процеси клієнта;
* зменшувати залежність від одного виконавця;
* не починати розробку з порожнього місця.; ERP-система функціонує з фінансами, документами, персональними даними, договорами, контрагентами, складом, зарплатою, управлінською аналітикою та інтеграціями.;<syntaxhighlight lang="text">
== Див.; додатково ==

Журналювання та аудит

Відкрите ядро дає можливість створювати власні модулі, інтеграції, доповнення й галузеві рішення для бізнесу на базі вже наявної ERP-платформи.; ERP функціонує з критичними даними, з цієї причини ядро має підтримувати базову модель захисту.;</syntaxhighlight> |- | API-first підхід. Якщо ядро має зрозуміле API, навколо K2 легше будувати інтеграції, мобільні застосунки, партнерські модулі й зовнішні сервіси.; {| class="wikitable" style="width:100%; background:#fff3e0;" Перша помилка — обходити стандартні механізми ядра й робити “швидку доробку” напряму в базі або інтерфейсі.; * використовувати спільних контрагентів;

  • мати єдину номенклатуру;
  • працювати з однаковими складами;
  • бачити спільні документи;
  • пов’язувати CRM, фінансовий блок, складський облік і електронний документообіг;
  • формувати аналітику з реальних процесів;
  • зменшувати кількість обмінів між модулями;
  • уникати дублювання довідників.; |}


  • Python;
  • TypeScript;
  • JavaScript;
  • сучасні PHP-фреймворки;
  • PostgreSQL;
  • API;
  • веб-компоненти;
  • гриди;
  • форми;
  • dashboard-панелі;
  • інтеграційні сервіси.;== K2.db і доступ до бази ==
K2 Ядро — це центральна частина K2 ERP та K2 Cloud ERP, яка гарантує базову архітектуру платформи: базу даних, модулі, компоненти, ролі, доступи, API, інтерфейси, актуалізація, журналювання й інтеграції.; Саме воно надає можливість різним модулям працювати не як окремі програми, а як частини єдиної платформи: з одними довідниками, однією базою даних, спільною логікою доступів, єдиним інтерфейсним підходом і можливістю повторного використання вже створених компонентів.; │ ├── objects/
Сучасна ERP не функціонує ізольовано.; {| class="wikitable" style="width:100%; background:#fff3e0;"
version = "2.0.4.43"
Саме тут можуть описуватися моделі даних компоненти.;

└── example_module/

Правильна логіка. компонент має використовувати спільний довідник там, де це можливо, а не створювати власну копію вже наявної сутності.;== K2 Ядро як відкрите ядро == Головна перевага. Єдина база даних робить K2 ERP не набором окремих програм, а спільним інформаційним середовищем.; }

</syntaxhighlight>

істотно. Ядро ERP — це не без ускладнень технічна бібліотека.;

</syntaxhighlight>

Магазин доповнень K2 залежить від якості ядра.; Якщо модулі використовують спільну інтерфейсну логіку ядра, платформа стає зрозумілішою.;== Пов’язані сторінки == Доповнення має використовувати ядро для:

Восьма помилка — переносити стару логіку 1С/BAS без переосмислення.; Середовище
Для українського бізнесу ядро K2 має ще одне значення — технологічну незалежність.; |-
}

У K2 Cloud ERP Python доступ до бази даних має змогу здійснюватися через глобальний об’єкт:

├── doc/
├── example_module/

Спільні довідники — це одна з практичних переваг ядра K2.;

Помилка. Оновлювати компонент без версії, без history.txt і без тестування — небезпечно для ERP.; Цей об’єкт є собою частиною логіки доступу до БД і надає можливість компонентам та системним класам працювати з даними через централізований механізм.; init_db_uri()
технічна архітектура Окремі конфігурації Єдина компонентна платформа
інформаційні дані Часто розділені між системами Єдина база даних
Довідники Можуть дублюватися Спільні довідники
Інтерфейс Різний у різних рішеннях Спільна логіка веб-інтерфейсів
Інтеграції Часто потрібні обміни між конфігураціями Модулі працюють в одному середовищі
еволюція Багато повторної роботи Повторне використання логіки
Модулі Часто окремі продукти Розширення спільного ядра
Безпека має змогу відрізнятися між конфігураціями Єдина модель ролей і доступів
актуалізація Можуть бути складними через доробки Компонентна модель і версії
програмний пакет Фрагментована Платформна

Чи є собою K2 Ядро Open Source?

│ └── templates/ version_type = "stable" Відкрите ядро дає розробникам і партнерам можливість: K2 Ядро гарантує:

K2 Ядро і магазин доповнень

- Помилка міграції. Не можна без ускладнень перенести старий хаос 1С/BAS у нове ядро.; Типовий файл:

Приклад версії:

== Компоненти K2 ==