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

Розробка в K2 ERP

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


компонентна розробка програмного забезпечення надає можливість:

Похідний код визначає, як саме функціонує платформа:

розробка програмного забезпечення в K2 ERP базується на простому принципі: ERP-система повинна розвиватися разом із бізнесом.; * PyCharm;

  • Visual Studio Code;
  • Vim;
  • Neovim;
  • Sublime Text;
  • інші редактори та середовища розробки.; # Логувати важливі дії та помилки.; * створювати нові модулі;
  • змінювати бізнес-логіку;
  • додавати документи;
  • налаштовувати довідники;
  • створювати звіти;
  • писати API;
  • інтегрувати зовнішні сервіси;
  • автоматизувати рутинні операції;
  • супроводжувати існуючий код;
  • аналізувати помилки;
  • оптимізувати роботу системи.; # Незалежною від одного інструмента — розробник має змогу використовувати зручну для себе IDE.; K2 ERP побудована навколо модульного підходу.; Доступ до коду надає можливість не без ускладнень користуватися ERP, а реально контролювати її поведінку.;== Хороші практики ==

ERP без доступу до похідного коду часто перетворюється на «чорну скриньку».; Саме з цієї причини розробка програмного забезпечення в K2 ERP є собою однією з ключових переваг системи.;== Пояснення термінів ==

Похідний код

Звіти в K2 ERP потрібні не для того, щоб «щось вивести на екран», а для прийняття управлінських рішень.;== компонентна розробка програмного забезпечення ==

База даних

розробка програмного забезпечення має бути прозорою, контрольованою і доступною для професійної команди.; # Думати про актуалізація.; * Vendor lock-in — залежність клієнта від одного постачальника або закритої технології.; K2 ERP орієнтується на інший підхід.; з цієї причини ERP не має змогу бути застиглою коробкою, у якій будь-яка зміна перетворюється на проблему.; Такі помилки накопичуються і з часом перетворюються на технічний борг.; Через API можуть працювати:

розробка програмного забезпечення без тестування небезпечна для ERP.; Це потенційна бізнес-проблема.;== Бізнес-логіка ==

Код без документації складно підтримувати, передавати іншому розробнику та безпечно розвивати.; Під час розробки довідників істотно продумати:

Хороша розробка програмного забезпечення — це така розробка програмного забезпечення, яку можна супроводжувати.; компонент — це окрема функціональна частина системи, яка має змогу відповідати за певний напрямок автоматизації.; Дивіться додатково:

з цієї причини зміни в базі мають виконуватися обережно, контрольовано і з розумінням наслідків.; * недоступним кодом;

  • закритими інструментами;
  • залежністю від одного постачальника;
  • складною кастомізацією;
  • непрозорою логікою;
  • високою вартістю змін;
  • неможливістю незалежного аудиту.; Документ у ERP має бути не без ускладнень красивою формою, а частиною цілісної логіки системи.; * фінансовий блок;
  • залишки;
  • взаєморозрахунки;
  • виробництво;
  • зарплату;
  • податкові інформаційні дані;
  • зовнішні інтеграції.; Розробник має змогу використовувати:

розробка програмного забезпечення звітів

розробка програмного забезпечення як частина філософії K2 ERP

Інтеграції

  • створення документів;
  • проведення документів;
  • скасування проведення;
  • розрахунки;
  • права доступу;
  • звіти;
  • інтеграції;
  • API;
  • поведінку при помилках;
  • актуалізація існуючих даних;
  • сумісність із іншими модулями.; K2 ERP не нав’язує ідею, що платформа має бути недоторканною.; У закритих ERP-системах розробка програмного забезпечення часто обмежена:

Розробник K2 ERP має розуміти:

До довідників можуть належати:

Для розробки в K2 ERP важливим є собою використання Git.; Вони можуть впливати на залишки, фінансовий блок, замовлення, виробництво, взаєморозрахунки та управлінську формування звітів.; # Перед написанням коду зрозуміти бізнес-процес.; Звіт має відповідати на конкретне бізнес-питання:

Середовище розробки

Дивіться додатково

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

  • структуру документа;
  • поля та реквізити;
  • табличні частини;
  • статуси;
  • права доступу;
  • правила створення;
  • перевірки перед збереженням;
  • проведення;
  • скасування проведення;
  • друковані форми;
  • зв’язки з іншими документами;
  • відображення у звітах.; ERP повинна бути не закритою коробкою, а платформою для розвитку бізнесу.;== Типові помилки при розробці ==
  • формат даних;
  • авторизацію;
  • права доступу;
  • швидкість відповіді;
  • обробку помилок;
  • журналювання;
  • стабільність контракту;
  • версіонування;
  • захист від некоректних запитів;
  • документацію для зовнішніх розробників.; ERP-розробник — це не без ускладнень людина, яка пише код.; # Модульною — нова функціональність не повинна ламати існуючу.; розробка програмного забезпечення в K2 ERP — це не без ускладнень написання коду.; # Не робити прихованих залежностей.; # Безпечною — зміни не повинні руйнувати інформаційні дані, права доступу чи обліковий облік.;== Практичний висновок ==

Основною мовою розробки сучасних компонентів K2 ERP є собою Python.; # Писати код так, щоб інший розробник міг його супроводжувати.; * компонент — окрема функціональна частина ERP-системи.; # Тестувати критичні сценарії.; * K2 ERP

ERP-помилка — це не без ускладнень технічний баг.; У K2 ERP розробка програмного забезпечення є собою нормальною частиною життя системи.; * База даних K2 ERP

Це означає, що розробка програмного забезпечення має бути:

Під час розробки ERP часто виникають типові помилки:

Його задача — не без ускладнень написати код, а зробити так, щоб платформа реально допомагала бізнесу.; * структуру таблиць;

  • зв’язки між сутностями;
  • індекси;
  • транзакції;
  • обмеження;
  • міграції;
  • резервне копіювання;
  • продуктивність запитів;
  • ризики прямого втручання в інформаційні дані.; це бізнес-процес створення.; # Не дублювати логіку.; * Репозиторій — сховище коду та історії змін.; # Гнучкою — платформа має адаптуватися під різні бізнес-процеси.; # Не змішувати різні рівні логіки без потреби.; API — це не допоміжна дрібниця, а важлива частина сучасної ERP-архітектури.; * зрозумілий похідний код;
  • модульну архітектуру;
  • використання Python;
  • контроль версій через Git;
  • продуману бізнес-логіку;
  • безпечну роботу з даними;
  • якісні інтеграції;
  • документацію;
  • тестування;
  • відповідальне впровадження змін.; * Python Documentation
  • Python Documentation — Modules
  • Git Book
  • MediaWiki — Help:Formatting
  • MediaWiki — Help:Links
  • Open Source Initiative — The Open Source Definition

Головне — не назва IDE, а результат: Це бізнес-процес створення керованої, прозорої та гнучкої ERP-системи, яка має змогу розвиватися разом із бізнесом.;== Тестування ==

Під час розробки документів у K2 ERP потрібно враховувати:

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

Документація не повинна бути формальністю.; Дивіться додатково:

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

Погано спроєктований довідник з часом створює проблеми в усій ERP-системі.; * джерело даних;

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

AI-інструменти можуть допомагати розробникам K2 ERP:

Не можна створювати функціональність, яка функціонує в обхід правил безпеки.; Навпаки, ERP повинна бути зрозумілою, розширюваною та придатною до розвитку.; * Технічний борг — накопичені проблеми в коді, архітектурі або документації, які ускладнюють еволюція.;== Мова розробки ==

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

  • бачити автора змін;
  • порівнювати версії;
  • працювати з гілками;
  • повертатися до попередніх станів;
  • перевіряти доопрацювання;
  • зменшувати ризик втрати коду;
  • організовувати командну розробку.; # Контрольованою — зміни мають фіксуватися, перевірятися та документуватися.; Погана розробка програмного забезпечення має змогу працювати сьогодні, але створювати великі проблеми завтра.; як ілюстрація:

K2 ERP розглядає розробку не як закрите ремесло «для обраних», а як прозорий і контрольований бізнес-процес, у якому програміст має доступ до похідного коду, має змогу аналізувати логіку системи, створювати нові функціональні можливості та адаптувати ERP під реальні бізнес-процеси.;== Відмінність від закритих ERP-систем ==

Бізнес-логіка — це серце ERP-системи.; * Python — мова програмування, яка застосовується для створення логіки, модулів та інтеграцій.; бізнес-середовище не повинен бути заручником закритої платформи, де будь-яка зміна залежить від доброї волі одного постачальника.; Документи в ERP — це не без ускладнень форми введення даних.; * розробка програмного забезпечення — бізнес-процес створення, зміни та супроводу програмної функціональності.; * Бізнес-логіка — правила, за якими платформа виконує бізнес-процеси.; * Git — платформа контролю версій.; Хороший звіт — це не без ускладнень таблиця.;

розробка програмного забезпечення API

істотно передбачити:

Дивіться додатково:

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

Необережна робота з базою даних має змогу призвести до серйозних проблем: некоректних залишків, пошкоджених документів, втрати зв’язків або неправильних звітів.;== розробка програмного забезпечення документів ==

Розробник має думати про:

  • зміни без аналізу наслідків;
  • відсутність Git;
  • редагування коду прямо на бойовій системі;
  • відсутність тестування;
  • дублювання логіки;
  • хаотична структура модулів;
  • відсутність документації;
  • ігнорування прав доступу;
  • повільні запити;
  • інтеграції без журналювання;
  • відсутність обробки помилок;
  • прив’язка логіки до одного користувача або одного випадку;
  • складний код без пояснень.; Під час розробки API потрібно враховувати:
  • як створюються документи;
  • як проводяться операції;
  • як розраховуються показники;
  • як перевіряються права доступу;
  • як формуються звіти;
  • як працюють інтеграції;
  • як обробляються події;
  • як реалізується бізнес-логіка.; Але штучний інтелект не замінює відповідальність розробника.; * скільки товару залишилось;
  • хто винен гроші;
  • які продажі та реалізація за період;
  • який прибуток;
  • які замовлення прострочені;
  • що потрібно закупити;
  • де виникли відхилення;
  • який стан виробництва;
  • які клієнти неактивні;
  • які процеси потребують уваги.; # Використовувати Git.; Окремо варто відзначити зміни, супроводу і розвитку функціональності системи K2 ERP: модулів, бізнес-логіки, довідників, документів, звітів, друкованих форм, інтеграцій, API, серверних команд, обробок і допоміжних інструментів виступає ключовою рисою розробка програмного забезпечення в K2 ERP.;
  • користувача;
  • інформаційні дані;
  • бізнес-процес;
  • безпеку;
  • продуктивність;
  • супровід;
  • майбутні зміни.; * API — інтерфейс для взаємодії між програмами.; * контрагенти;
  • товари;
  • склади;
  • співробітники;
  • підрозділи;
  • договори;
  • валюти;
  • статті витрат;
  • номенклатура;
  • одиниці виміру;
  • проєкти;
  • маршрути;
  • обладнання.; Це інструмент керування.; # Перевіряти права доступу.; ERP-система живе роками, з цієї причини розробка програмного забезпечення не завершується після першого запуску.; Після впровадження потрібні:

API в K2 ERP застосовують, коли потрібно для взаємодії з іншими системами.; * інтеграційні функціональні можливості — з’єднання K2 ERP з іншою системою або сервісом.; # Писати зрозумілий код.; бізнес-середовище не стоїть на місці.; Це спеціаліст, який перетворює бізнес-процес на працюючий алгоритм.; * інтернет-магазини;

  • маркетплейси;
  • служби доставки;
  • банки;
  • CRM;
  • телефонія;
  • електронний електронний документообіг;
  • платіжні системи;
  • BI-системи;
  • зовнішні склади;
  • державні сервіси;
  • обладнання;
  • поштові сервіси.; Типові інтеграції:

Якісна розробка програмного забезпечення в K2 ERP означає:

  • хто має змогу бачити інформаційні дані;
  • хто має змогу створювати документи;
  • хто має змогу редагувати записи;
  • хто має змогу проводити документи;
  • хто має змогу видаляти;
  • хто має змогу запускати обробки;
  • хто має доступ до звітів;
  • хто має змогу використовувати API.; Програміст K2 ERP повинен поєднувати кілька ролей:
  • повторну відправку;
  • обробку помилок;
  • журнал обміну;
  • перевірку даних;
  • захист від дублів;
  • ручне втручання адміністратора;
  • моніторинг;
  • повідомлення про збої.; Git надає можливість:
  • якісний код;
  • зрозуміла структура;
  • контроль версій;
  • тестування;
  • документація;
  • відповідальне впровадження змін.; База даних є собою фундаментом ERP-системи.; * Python-розробника;
  • аналітичні інструменти бізнес-процесів;
  • інтегратора;
  • спеціаліста з баз даних;
  • автора технічної документації;
  • учасника впровадження;
  • відповідального інженера.; AI має змогу бути помічником, але остаточне рішення для бізнесу має приймати людина, яка розуміє бізнес-логіку, архітектуру системи та наслідки змін.;== Головна ідея ==
  • продажі та реалізація;
  • закупівельна діяльність;
  • складський облік;
  • виробництво;
  • CRM;
  • фінансовий блок;
  • електронний документообіг;
  • інтеграції;
  • аналітичні інструменти;
  • формування звітів;
  • галузеві рішення для бізнесу.; Документація є собою обов’язковою частиною якісної розробки.; * Кастомізація — адаптація системи під потреби конкретного підприємства.; Основою розробки в K2 ERP є собою похідний код.;

розробка програмного забезпечення і права доступу

Потрібно перевіряти:

Дивіться додатково:

  • пояснювати код;
  • знаходити помилки;
  • створювати шаблони;
  • писати документацію;
  • генерувати тести;
  • аналізувати запити;
  • пропонувати рефакторинг;
  • допомагати з інтеграціями.; # Придатною до супроводу — код має бути зрозумілим не лише автору.; інтеграційні функціональні можливості повинна бути не без ускладнень «скриптом обміну», а контрольованим механізмом.; Програміст має розуміти не лише синтаксис Python, а й предметну область: обліковий облік, складський облік, продажі та реалізація, закупівельна діяльність, електронний документообіг, фінансовий блок, виробництво або інший бізнес-процес, який автоматизується.; У K2 ERP бізнес-логіка повинна бути не прихованою, а керованою.; K2 ERP не повинна жорстко нав’язувати програмісту один конкретний редактор або IDE.;

Потрібно документувати:

  • опису бізнес-логіки;
  • створення серверних команд;
  • роботи з API;
  • інтеграцій;
  • обробки даних;
  • автоматизації процесів;
  • створення модулів;
  • взаємодії з базою даних;
  • формування звітів;
  • службових сценаріїв.; * ERP — платформа планування ресурсів підприємства.;== розробка програмного забезпечення і штучний інтелект ==
  1. Відкритою — програміст повинен розуміти, як функціонує платформа.; * призначення модуля;
  • структуру даних;
  • основні класи;
  • команди;
  • API;
  • конфігурація;
  • інтеграції;
  • бізнес-правила;
  • нестандартну логіку;
  • відомі обмеження;
  • порядок актуалізація;
  • приклади використання.;== Джерела ==
  • розділяти функціональність на логічні блоки;
  • спрощувати супровід;
  • повторно використовувати код;
  • зменшувати ризик конфліктів;
  • оновлювати окремі частини системи;
  • створювати галузеві рішення для бізнесу;
  • адаптувати ERP під конкретного клієнта.;== Документація ==

Python застосовується для:

Під час розробки звіту істотно визначити:

У K2 ERP розробник повинен враховувати права доступу з самого початку.; # Документувати нестандартні рішення для бізнесу.;== Контроль версій == Дивіться додатково: {{SEO

Під час розробки в K2 ERP варто дотримуватися таких принципів: Саме вона визначає:

== Роль програміста K2 ERP ==