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

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

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

sudo snap install pycharm-community --classic

Це потрібно, щоб у пакет актуалізація не потрапляли службові файли, локальні Git-дані, кеші або файли, які не мають бути доставлені на сервер актуалізація.; |- | k2update_push.py | Скрипт завантаження компонент у систему актуалізація.; :contentReference [oaicite:10]{index=10}

Цей токен застосовується під час завантаження компонент у систему актуалізація.; застосовується для опису версії компоненти.; :contentReference [oaicite:11]{index=11}

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

У файлі: git remote -v

components/k2site
; sudo apt install snapd

Далі додається віддалений репозиторій.; це бізнес-процес розробки.; В інструкції розробників вказано, що змінюється рядок 5, поле version.; |-

13 Завантажити компоненту через python k2update_push.py.; У wiki-статтях для бізнес-користувачів це часто називають модулем K2 ERP забезпечується через У технічній інструкції; додатково реалізовано але для розробника істотно розуміти: компонент у користувацькому сенсі зазвичай реалізується через одну або кілька компонент у коді.; Крок

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

Такий підхід застосовується, коли потрібно працювати не з усім списком компонент, а з конкретною компонентою.; | У файлі setup.py.; Це основна команда для завантаження нової версії компоненти в систему актуалізація.; settings_example.py SSH-ключі, паролі, токени, адреси внутрішніх репозиторіїв і службові доступи мають зберігатися контрольовано.; |-

10 Налаштувати ignore-файл для компоненти.; Для прикладу k2site:

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

eval "$(ssh-agent -s)"


Якщо зміни комітяться вручну, спочатку потрібно перевірити статус:

Цей ручний сценарій додатково наведений у технічній інструкції розробників.; |-
| 4
| Створити каталог нової компоненти в папці components або підключити існуючу компоненту.; sudo apt install git

<pre>

== Тестування модуля на deb1-deb3 ==
1 Локально розгорнути робочий проєкт K2 Cloud ERP.; У технічній інструкції вказано такий шлях до каталогу auto_update:

ej2.min.js {{SEO


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

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

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

11 Змінити версію в setup.py.; :contentReference [oaicite:8]{index=8}

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

setup.py - - Де описуються зміни?; :contentReference [oaicite:16]{index=16}
<pre>
Каталог зі скриптом потрібно скопіювати в корінь проєкту на рівні з виконуваним файлом:

<pre>

Коротко

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

- 7 - python k2update_push.py
- 12 git commit -m "Назва комміту" або python git_cmd.py commit
Де змінюється реліз?; python git_cmd.py commit

token.txt для сервера актуалізація

cd auto_update

components/k2update

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

'''Компонента''' — це технічна одиниця з погляду коду, Git-репозиторію, версії та системи актуалізація.; |-
| history.txt
| характеристика змін у новій версії.;<pre>
== Коміт змін модуля через auto_update ==
<pre>

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

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

<pre>
token.txt
<pre>
<pre>

Під час подальшої роботи зміни з віддаленого репозиторію отримуються командою:

k2site.txt
[[Категорія:ERP-системи]]
Для розробника компонент зазвичай пов’язаний із компонентами в структурі проєкту.; Повний список компонент знаходиться у файлі:

testing або beta застосовується для тестової версії.; | python git_cmd.py clone

На тестових доменах deb1, deb2 і deb3.; У такому разі на сервер актуалізація можуть потрапити зайві службові файли, як ілюстрація __pycache__ або .git.; Питання

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

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


Якщо застосовується auto_update, коміт змін виконується автоматизовано.;<pre>

python git_cmd.py status

[[Категорія:Git]]
history.txt
Клонування компонент із віддаленого сервера:

== Ручний коміт змін модуля ==

<pre>
Після цього компоненти, додані у файлі:
додатково вказується тип версії:

<pre>
components/k2adm

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

components/k2adm
<pre>
За потреби можна перемкнутися на іншу локальну гілку:

app.py


history.txt Для Linux перший запуск: У файлі:

./run.bat
Для завантаження нової версії компоненти потрібно виконати кілька дій.;<pre>
Ця команда клонує актуальні версії компонент і перейменовує каталоги поточних версій компонент.;<pre>
Нова компонента має бути розміщена в каталозі:

<pre>

<pre>

Після створення або зміни компоненти потрібно налаштувати завантаження на сервер актуалізація.;

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


component-list.txt

python git_cmd.py clone

Окремо варто відзначити підключення, версіонування, тестування і завантаження компонент у систему актуалізація K2 ERP або K2 Cloud ERP виступає ключовою рисою Створення модулів K2 ERP.; Потім додати характеристика змін у файл:

cd auto_update

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

9 Додати компоненту в builder/config/component-list.txt.; потрібно додати список компонент, які будуть завантажуватися на сервер актуалізація.; як ілюстрація: :contentReference [oaicite:9]{index=9}

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


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

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

== Передумови для створення модуля ==
git add .;<pre>
== setup.py компоненти ==


git fetch origin

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

<pre>

version=2.0.4.43 як ілюстрація:


<pre>

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

Після актуалізація потрібно протестувати функціональні можливості.; | git status або python git_cmd.py status

Як закомітити зміни?; Після копіювання потрібно перейти в каталог:

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

Безпека під час роботи з модулями

version_type='stable'

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

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

Виконати коміт:

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

bash run.sh

потрібно створити файл із назвою компоненти.; |-
| 8
| Закомітити зміни через auto_update або вручну.; :contentReference [oaicite:3]{index=3}
== Типовий порядок створення нового модуля K2 ERP ==

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

У Windows:
sudo apt install default-jdk

Запуск додатку в Linux: потрібно додати токен доступу до сервера актуалізація.; |-

6 - Як клонувати компоненти через auto_update?;
Що створюється?; Через це складніше зрозуміти, що саме було змінено в новій версії.;
git init
<pre>
Для Windows:
Створюється локальна гілка '''main''' і виконується перемикання на неї:

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

<pre>

<pre>
Ці команди наведені в інструкції як автоматичний спосіб роботи зі змінами компонент через auto_update.; |-
| 5
| Підключити віддалений Git-репозиторій вручну або через auto_update.; |-
| deb1-deb3
| Тестові домени для перевірки оновленої компоненти.; !; |-
| token.txt
| Токен доступу до сервера актуалізація.; |}

<pre>

<pre>
.gitignore
Каталог у components - ignore-файл Список файлів і папок, які не потрібно завантажувати.; характеристика додається одним рядком.; Назва компоненти має бути зрозумілою, стабільною і не конфліктувати з існуючими компонентами.; | Через auto_update або вручну через Git.;
<pre>
Приклад:

__TOC__

components/k2site

'''stable''' застосовується для стабільної версії.; Відповідь
<pre>

[[Категорія:Оновлення K2 ERP]]

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

Після завантаження нової версії компоненти потрібно оновити змінені версії компонент на тестових доменах:

pycharm-community

<pre>

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

deb2
version_type='testing'

cd components/k2site

sudo apt update

Третя помилка — не додати характеристика змін у history.txt.; |-

14 Оновити компоненту на deb1-deb3 і протестувати функціональні можливості.;

app.py

<pre>
git remote add origin http://git.corp2.eu/k2erp/python/k2/base/site/k2site.git
components

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

У бізнес-описах зазвичай говорять «компонент».; :contentReference [oaicite:7]{index=7}
[[Категорія:K2 ERP для розробників]]
Для авторизації через SSH створюється ключ:
[[Категорія:Модулі K2 ERP]]

sudo apt update

містить характеристика змін компоненти.; :contentReference [oaicite:14]{index=14}

<pre>

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

git config --global user.name "Ваше Ім'я"

ssh-add ~/.ssh/id_rsa

.\venv\Scripts\activate

Далі відкривається файл:

<pre>

git checkout -b main

як ілюстрація, користувацький компонент має змогу складатися з кількох компонент, а одна компонента має змогу забезпечувати частину функціональності більшого модуля.; Для роботи зі списком компонент у проєкті застосовується скрипт '''auto_update''', який копіюється в корінь проєкту на рівні з файлом '''app.py'''.; |-
| 3
| Встановити й налаштувати Git.; | У файлі history.txt.; Приклад:

git pull

source venv/bin/activate
.gitignore
<pre>

python git_cmd.py pull

components
builder/config/ignore
Типовий шлях:

git status

== history.txt компоненти ==

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

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

git push


Під час створення модулів K2 ERP потрібно уважно ставитися до доступів, токенів і репозиторіїв.;https://git.corp2.eu/k2erp/python/k2/base/client/auto_update

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

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

2.0.4.43 - додавання додаткового поля в форму реєстрації
!; Компонента має змогу мати окремий каталог у папці:

Файл із токеном не можна передавати стороннім особам, публікувати в репозиторії або зберігати в неконтрольованому місці.; !; |}

deb1

<pre>

token.txt

.git

Коміт змін:

Перед створенням або підключенням нового модуля потрібно мати локально розгорнутий робочий проєкт K2 Cloud ERP.; :contentReference [oaicite:4]{index=4}

Див.; додатково

Отримання змін із віддаленого сервера:

<pre>

як ілюстрація:

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

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


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

cd k2

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

deb3

Спочатку змінити версію у файлі:

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

./pycharm.sh

components/k2update

Перед завантаженням нової версії компоненти потрібно змінити версію у файлі setup.py у корені каталогу компоненти.; :contentReference [oaicite:12]{index=12}

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

Для розробки модулів K2 ERP застосовується PyCharm.; |-

2 Відкрити проєкт у PyCharm і налаштувати Python Interpreter.; Дія

Цей крок додатково є собою завершальним пунктом інструкції розробників.; Далі перейти в корінь додатку на рівні з виконуваним файлом:

Друга помилка — змінити код, але не оновити версію в setup.py.; sudo apt update

У папці: Потрібно перейти в каталог: Отримання даних із віддаленого репозиторію без зміни поточної робочої гілки:

git checkout master

setup.py python git_cmd.py push


Це потрібно для того, щоб було зрозуміло, що саме змінилося в новій версії компоненти.; | У builder/config/component-list.txt.; :contentReference [oaicite:5]{index=5}

Завантаження нової версії модуля в систему актуалізація

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

history.txt


<pre>
builder/config/component-list.txt
Після цього ключ копіюється й додається у віддалений репозиторій.;[[Категорія:Створення модулів K2 ERP]]

python git_cmd.py clone

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

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

bash first_run.sh

__pycache__ як ілюстрація, для компоненти k2site:

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

Після зміни версії у setup.py потрібно додати характеристика змін у history.txt у корені каталогу компоненти.; :contentReference [oaicite:13]{index=13}


settings.py

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

[[Категорія:Безпека ERP]]
Файл:
Четверта помилка — не налаштувати ignore-файл.; У його файлі '''settings.py''' додаються потрібні компоненти, а команда '''python git_cmd.py clone''' клонує актуальні версії компонент і перейменовує каталоги поточних версій.; |-
| Як завантажити компоненту?; Згідно з інструкцією розробників, спочатку копіюється існуючий проєкт по FTP, потім у каталозі '''/K2CloudERP''' запускається '''first_run''' для конфігурація параметрів віртуального середовища, після чого у файлі '''/K2CloudERP/cfg/k2/k2/k2cfg.py''' змінюється '''domain_protocol''' з '''https''' на '''http''', а додаток запускається через '''run.sh''' або '''run.bat'''.; |}

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

* [[K2 ERP]]
* [[K2 Cloud ERP]]
* [[Розгортання K2 Cloud ERP Python для розробників]]
* [[Встановлення K2 ERP]]
* [[K2 ERP для Linux]]
* [[PyCharm]]
* [[Git]]
* [[GitLab]]
* [[Розробка K2 ERP]]
* [[Компоненти K2 ERP]]
* [[Оновлення K2 ERP]]
* [[K2 Cloud Ядро]]
* [[API K2 ERP]]
* [[Права доступу K2 ERP]]
* [[Безпека ERP]]

cat ~/.ssh/id_rsa.pub Далі ініціалізується Git у поточній директорії: Для списку компонент застосовується скрипт:

П’ята помилка — не протестувати компоненту на тестових доменах '''deb1-deb3''' після завантаження.; |-
| Git-репозиторій
| Версіонування, спільна робота й передача змін.;

Кожна компонента додається з нового рядка.; | У каталозі components.; В інструкції застосовується команда:

git pull origin main

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


<pre>
<pre>
<pre>

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

Файл:
setup.py
У словник додаються ключі з потрібними компонентами.; |-
| Де розміщується код?; |-
| component-list.txt
| Список компонент, які завантажуються на сервер актуалізація.; :contentReference [oaicite:15]{index=15}
[[Категорія:K2 Cloud ERP]]
Перевірка статусу:
Для цього відкривається папка:
Ручна активація віртуального середовища в Linux:

завантажуються командою:

setup.py