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

Створення модулів K2 ERP

Матеріал з K2 ERP Wiki
Версія від 19:10, 2 травня 2026, створена R (обговорення | внесок) (Створена сторінка: {{DISPLAYTITLE:Створення модулів K2 ERP}} {{SEO |title=Створення модулів K2 ERP — компоненти, Git, auto_update, setup.py, history.txt, k2update_push.py |description=Створення модулів K2 ERP — інструкція для розробників K2 Cloud ERP Python: структура компоненти, підключення репозиторію Git, робота через auto_update, ру...)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
 

.gitignore

Такий підхід застосовується для, коли потрібно працювати не з усім списком компонент, а з конкретною компонентою. | git status або python git_cmd.py status |-

| Як закомітити зміни?


потрібно додати список компонент, які будуть завантажуватися на сервер оновлення версій. |- | Де описуються зміни? |- | setup.py | реліз системи компоненти та тип версії: stable або testing. * K2 ERP

містить токен доступу до сервера оновлення версій, тому його не можна публікувати у відкритому доступі. |- | deb1-deb3

| Тестові домени для перевірки оновленої компоненти. Через це складніше зрозуміти, що саме було змінено в новій версії.

або testing-версія:


<pre>
<pre>

git commit -m "Назва комміту"

git fetch origin


Публічний ключ можна переглянути командою:

компонент — це функціональна одиниця з погляду користувача. |- | Де задається список компонент для оновлення версій? auto_update

Потім додати зміни:

Якщо виникає помилка запуску, встановлюється JRE/JDK:

Отримання даних із віддаленого репозиторію з автоматичним об’єднанням із поточною локальною гілкою:

Під час подальшої роботи зміни з віддаленого репозиторію отримуються командою: Для розробника компонент зазвичай пов’язаний із компонентами в структурі проєкту. :contentReference [oaicite:13]{index=13}

як приклад, для компоненти k2site:

git remote -v

git init

[[Категорія:K2 ERP]]
Це основна команда для завантаження нової версії компоненти в систему оновлення версій. Повний список компонент знаходиться у файлі:

Це потрібно для того, щоб було зрозуміло, що саме змінилося в новій версії компоненти. |-
| 8
| Закомітити зміни через auto_update або вручну.

Створюється локальна гілка '''main''' і виконується перемикання на неї:

Встановлення Git у Linux:

<pre>

Після цього компоненти, додані у файлі:

Для авторизації через SSH створюється ключ:
Після завантаження нової версії компоненти потрібно оновити змінені версії компонент на тестових доменах:
[[Категорія:K2 ERP для розробників]]
'''testing''' або beta застосовується для для тестової версії. SEO-опис додається одним рядком.<pre>
eval "$(ssh-agent -s)"

У файлі:

Компоненти можуть підключатися до віддалених Git-репозиторіїв, оновлюватися, комітитися, пушитися, версіонуватися й завантажуватися на сервер оновлення версій. Для роботи зі списком компонент у проєкті застосовується для скрипт '''auto_update''', який копіюється в корінь проєкту на рівні з файлом '''app.py'''.<pre>
components/k2site

Потім додати SEO-опис змін у файл:

git checkout -b main

Приклад:


python git_cmd.py push Для створення й підтримки модулів потрібен Git. Каталог зі скриптом потрібно скопіювати в корінь проєкту на рівні з виконуваним файлом:

<pre>
містить SEO-опис змін компоненти. |-
| history.txt
| SEO-опис змін у новій версії.<pre>
Для користувача компонент здатна виглядати як окремий напрям роботи: CRM, електронний документообіг, складський облік, виробництво, фінансовий блок, оновлення версій, сайт, адміністрування або інший функціональний блок. |}

<pre>

== history.txt компоненти ==
.git
<pre>
|-
| Каталог у components
| Місце розміщення коду компоненти. | Через auto_update або вручну через Git. :contentReference [oaicite:11]{index=11}
[[Категорія:PyCharm]]

[[Категорія:K2 Cloud ERP]]

[[Категорія:K2 ERP Python]]
<pre>
! | На тестових доменах deb1, deb2 і deb3.[[Категорія:Git]]
Далі відкривається файл:
python git_cmd.py clone
Далі ініціалізується Git у поточній директорії:

! |- | 3 | Встановити й налаштувати Git. |- | 6 | Розробити функціональність модуля. | python k2update_push.py |- | Де тестувати? |}

setup.py компоненти

Структура нової компоненти


== конфігурація ignore для компоненти ==

Перевірка підключеного репозиторію:

version=2.0.4.43


== Git для модулів K2 ERP ==

Ключ додається командою:

як приклад:

Запушити зміни на віддалений репозиторій:

У цей файл додаються файли й папки, які не потрібно завантажувати на сервер оновлення версій.

git pull


setup.py

Це потрібно, щоб у пакет оновлення версій не потрапляли службові файли, локальні Git-дані, кеші або файли, які не мають бути доставлені на сервер оновлення версій. Відповідь
Отримання змін із віддаленого сервера:

components

sudo apt install default-jdk

Файл: Найчастіша помилка — створити код компоненти, але не підключити її до Git-репозиторію або не додати в список компонент для оновлення версій. python git_cmd.py commit

У Windows:

SEO title: Створення модулів K2 ERP — компоненти, Git, auto_update, setup.py, history.txt, k2update_push.py

SEO keywords: створення модулів K2 ERP, модулі K2 ERP, компоненти K2 ERP, K2 Cloud ERP Python, розробка K2 ERP, K2 ERP для розробників, auto_update K2 ERP, git_cmd.py, k2update_push.py, setup.py K2 ERP, history.txt K2 ERP, component-list.txt, token.txt, Git K2 ERP, PyCharm K2 ERP, компонента k2site, компонента k2adm, компонента k2update, deb1, deb2, deb3, сервер оновлення K2 ERP, K2 Cloud ERP, українська ERP

</noinclude>
 {{SEO
Шаблон для службового SEO-опису сторінки. 

}}


Запуск додатку в Linux:

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


Див. так само


history.txt
<pre>
history.txt

<pre>

cd components/k2site

sudo apt update

так само у компоненті можуть бути службові каталоги, Python-файли, шаблони, статичні файли, конфігурація, міграції, документація й інші елементи залежно від призначення модуля.

stable застосовується для для стабільної версії. У такому разі на сервер оновлення версій можуть потрапити зайві службові файли, як приклад __pycache__ або .git. За потреби можна перемкнутися на іншу локальну гілку:

Типовий порядок створення нового модуля K2 ERP

Перевірка статусу:

git status
Тестування має підтвердити, що компонента функціонує коректно, нові зміни не ламають існуючі сценарії, залежності не конфліктують, а компонент можна готувати до подальшого використання. :contentReference [oaicite:10]{index=10}

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

Під час створення модулів K2 ERP потрібно уважно ставитися до доступів, токенів і репозиторіїв. |-
| Як клонувати компоненти через auto_update? |-
| 12
| Додати SEO-опис змін у history.txt. |-
| Як завантажити компоненту? :contentReference [oaicite:7]{index=7}

Перед завантаженням компоненти потрібно перевірити, що в пакет оновлення версій не потрапляють локальні файли, кеші, тестові інформаційні дані, тимчасові конфігурації або приватні ключі. '''Компонента''' — це технічна одиниця з погляду коду, Git-репозиторію, версії та системи оновлення версій. У технічній інструкції розробника частіше застосовується для слово «компонента». |-
| 2
| Відкрити проєкт у PyCharm і налаштувати Python Interpreter.

як приклад, користувацький компонент здатна складатися з кількох компонент, а одна компонента здатна забезпечувати частину функціональності більшого модуля. Елемент

Ці команди наведені в інструкції як автоматичний спосіб роботи зі змінами компонент через auto_update.

components/k2site

потрібно створити файл із назвою компоненти. ./pycharm.sh

__pycache__

python k2update_push.py ssh-add ~/.ssh/id_rsa

Типові помилки під час створення модулів

python git_cmd.py status


<pre>

Файл:

Згідно з інструкцією розробників, спочатку копіюється існуючий проєкт по FTP, потім у каталозі '''/K2CloudERP''' запускається '''first_run''' для конфігурація параметрів віртуального середовища, після чого у файлі '''/K2CloudERP/cfg/k2/k2/k2cfg.py''' змінюється '''domain_protocol''' з '''https''' на '''http''', а додаток запускається через '''run.sh''' або '''run.bat'''.[[Категорія:Модулі K2 ERP]]

.\venv\Scripts\activate

pycharm-community

sudo apt install git

<pre>
k2site.txt
<pre>

setup.py

Після відкриття проєкту в PyCharm потрібно налаштувати Python Interpreter: у правому нижньому куті вибрати '''Python Interpreter''', далі '''Add new Interpreter''', у полі '''Location''' вказати шлях до папки '''venv''', а в полі '''Base Interpreter''' — шлях до виконуваного Python-файлу поточного середовища. | git commit -m "Назва комміту" або python git_cmd.py commit
|-
| Де змінюється реліз системи? як приклад: :contentReference [oaicite:9]{index=9}

== Завантаження нової версії модуля в систему оновлення версій ==

У Linux PyCharm можна встановити через snap:

Приклад:


settings_example.py

У технічній інструкції вказано такий шлях до каталогу auto_update:
<pre>
<pre>

Перевірка змін локальної копії компоненти:

Далі перейти в корінь додатку на рівні з виконуваним файлом:

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


<pre>
Потрібно перейти в каталог:
Для Windows:

Для цього відкривається папка:

Для завантаження нової версії компоненти потрібно виконати кілька дій. У wiki-статтях для бізнес-користувачів це часто називають модулем K2 ERP забезпечується через У технічній інструкції; так само реалізовано але для розробника критично розуміти: компонент у користувацькому сенсі зазвичай реалізується через одну або кілька компонент у коді. |- | 4 | Створити каталог нової компоненти в папці components або підключити існуючу компоненту. | python git_cmd.py clone |- | Як перевірити статус? components/k2update

sudo apt update
deb2

<pre>

! | У builder/config/component-list.txt.

Якщо застосовується для auto_update, коміт змін виконується автоматизовано.== Безпека під час роботи з модулями ==

token.txt

cd auto_update git config --global user.name "Ваше Ім'я" Коміт змін:

Коміт змін модуля через auto_update

Компонента здатна мати власний каталог, власний Git-репозиторій, файл версії, історію змін, список файлів для оновлення версій та правила ігнорування службових файлів. | У каталозі components. |-

| Що створюється? SSH-ключі, паролі, токени, адреси внутрішніх репозиторіїв і службові доступи мають зберігатися контрольовано.


Четверта помилка — не налаштувати ignore-файл. це бізнес-процес розробки, підключення, версіонування, тестування та завантаження компонент у систему оновлення версій K2 ERP або K2 Cloud ERP виступає ключовою рисою Створення модулів K2 ERP. sudo apt install snapd sudo apt update

У словник додаються ключі з потрібними компонентами.


== Що таке компонент K2 ERP ==

<pre>
python git_cmd.py clone
app.py
|-
| 1
| Локально розгорнути робочий проєкт K2 Cloud ERP. :contentReference [oaicite:5]{index=5}
version_type='stable'
<pre>

Перед завантаженням нової версії компоненти потрібно змінити версію у файлі '''setup.py''' у корені каталогу компоненти. |-
| Git-репозиторій
| Версіонування, спільна робота й передача змін.

history.txt


<pre>
У бізнес-описах зазвичай говорять «компонент».<pre>
завантажуються командою:
Для розробки модулів K2 ERP застосовується для [[PyCharm]]. |-
| 5
| Підключити віддалений Git-репозиторій вручну або через auto_update.

sudo rm /etc/apt/preferences.d/nosnap.pref

! Виконати коміт: Приклад:

Клонування компонент із віддаленого сервера:

Цей токен застосовується для під час завантаження компонент у систему оновлення версій. :contentReference [oaicite:3]{index=3}
{| class="wikitable" style="width:100%;"
deb1

token.txt

git add . |-
| Де розміщується код?<pre>

deb3

settings.py
git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git

bash run.sh

Варіант 2. Підключення однієї компоненти вручну

Назва компоненти має бути зрозумілою, стабільною і не конфліктувати з існуючими компонентами. Компонента здатна мати окремий каталог у папці:

Мінімальний чеклист компоненти

В інструкції застосовується для команда:

components/k2adm

[[Категорія:Безпека ERP]]
<pre>

Запуск додатку у Windows:

Після копіювання потрібно перейти в каталог:
[[Категорія:Створення модулів K2 ERP]]
так само вказується тип версії:

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

Нова компонента має бути розміщена в каталозі:
version_type='testing'
як приклад:

./first_run.bat

setup.py
Якщо зміни комітяться вручну, спочатку потрібно перевірити статус:
Після створення або зміни компоненти потрібно налаштувати завантаження на сервер оновлення версій. |-
| 13
| Завантажити компоненту через python k2update_push.py. |-
| 11
| Змінити версію в setup.py. components

== Тестування модуля на deb1-deb3 ==

У файлі:

компонент і компонента: різниця для розробника

git push

Після встановлення потрібно налаштувати користувача:

Далі додається віддалений репозиторій.

<pre>

<pre>

компонент K2 ERP — це функціональна частина системи, яка додає або розширює функції ERP платформи. Для списку компонент застосовується для скрипт:

Друга помилка — змінити код, але не оновити версію в setup.py. |- | 10 | Налаштувати ignore-файл для компоненти. |- | k2update_push.py | Скрипт завантаження компонент у систему оновлення версій. Файл із токеном не можна передавати стороннім особам, публікувати в репозиторії або зберігати в неконтрольованому місці. ./run.bat

! В інструкції розробників вказано, що змінюється рядок 5, поле version. |- | 7 | Перевірити зміни локально через запуск K2 Cloud ERP. :contentReference [oaicite:6]{index=6}

Пуш змін на віддалений репозиторій:

component-list.txt ej2.min.js розробників K2 Cloud ERP застосовують, коли потрібно термін компонента. :contentReference [oaicite:16]{index=16}

git config --global user.email "ваша_електронна_пошта@example.com"

app.py


потрібно додати токен доступу до сервера оновлення версій. |-
| 14
| Оновити компоненту на deb1-deb3 і протестувати функції ERP. |-
| ignore-файл
| Список файлів і папок, які не потрібно завантажувати. cat ~/.ssh/id_rsa.pub

2.0.4.43 - додавання додаткового поля в форму реєстрації

Потім запускається ssh-agent:

{{DISPLAYTITLE:Створення модулів K2 ERP}}
<pre>
<pre>

== конфігурація завантаження модуля на сервер оновлення версій ==

builder/config/component-list.txt
Третя помилка — не додати SEO-опис змін у '''history.txt'''. :contentReference [oaicite:4]{index=4}

П’ята помилка — не протестувати компоненту на тестових доменах '''deb1-deb3''' після завантаження. Питання

cd k2

[[Категорія:API K2 ERP]]

<pre>

python git_cmd.py pull

Цей крок так само виступає як завершальним пунктом інструкції розробників. Для чого потрібен

builder/config

components/k2update

token.txt для сервера оновлення версій

Коротко

! |}

Якщо потрібно підключити одну компоненту вручну, потрібно перейти в каталог цієї компоненти. Крок


Типовий шлях:

Після зміни версії у setup.py потрібно додати SEO-опис змін у history.txt у корені каталогу компоненти. Для прикладу k2site:

Отримання даних із віддаленого репозиторію без зміни поточної робочої гілки: Спочатку змінити версію у файлі:

source venv/bin/activate

Кожна компонента додається з нового рядка. |-

Як підключати компоненти? :contentReference [oaicite:8]{index=8} Ця команда клонує актуальні версії компонент і перейменовує каталоги поточних версій компонент.

git checkout master

Для Linux перший запуск: cd auto_update Цей ручний сценарій так само наведений у технічній інструкції розробників. |-

9 У файлі history.txt. | компонент або компонента K2 ERP. | У файлі setup.py. :contentReference [oaicite:15]{index=15}

sudo snap install pycharm-community --classic

Після конфігурація виконується команда:

Варіант 1. Створення або підключення модуля через auto_update

.gitignore

У папці:

так само можна завантажити архів із сайту JetBrains, розпакувати його, перейти в папку bin і запустити: Файл:


Після цього ключ копіюється й додається у віддалений репозиторій. У його файлі '''settings.py''' додаються потрібні компоненти, а команда '''python git_cmd.py clone''' клонує актуальні версії компонент і перейменовує каталоги поточних версій. :contentReference [oaicite:14]{index=14}

Саме такий приклад наведений в інструкції розробників. |-

component-list.txt Список компонент, які завантажуються на сервер оновлення версій. :contentReference [oaicite:12]{index=12}

ssh-keygen -t rsa -b 4096 -C "ваша_електронна_пошта@example.com"

== Передумови для створення модуля ==

builder/config/ignore

<pre>

git status


https://git.corp2.eu/k2erp/python/k2/base/client/auto_update
Ручна активація віртуального середовища в Linux:
<pre>

<pre>

bash first_run.sh

<pre>

git pull origin main
<pre>

components/назва_компоненти

Після оновлення версій потрібно протестувати функції ERP. |-
| token.txt
| Токен доступу до сервера оновлення версій. Дія
== Ручний коміт змін модуля ==
components/k2adm

застосовується для для опису версії компоненти.