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

Класи та команди K2 ERP Python

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

Приклади використання K2

K2.logging_message(

!;

== Клас K2ReportDesigner ==

showBootstrapLoader(containerId)

=== createImageSliderModal() ===

!; Каталог

k2form==2.0.1.27

Python-залежності, якщо вони потрібні, вказуються у файлі:

requirements.txt

Документація компоненти

  1. отримує JSON із lead_id;
  2. перевіряє, чи передано lead_id;
  3. шукає лід у таблиці k2lead;
  4. створює запис у таблиці k2contacts;
  5. у разі помилки скасовує транзакцію та повертає характеристика помилки.; Для компонент K2 застосовується стандартний формат:

Системні класи

Отримати поточного користувача:

return render_template(

Приклад:

Вимоги до компоненти K2 ERP

Нижче наведено приклад типової структури компоненти K2 ERP.; Призначення

├── doc/
Метод має змогу зберігати повідомлення в журналі та відправляти його клієнту через Socket.IO.;
{| class="wikitable" style="width:100%;"

!; Питання

== Ресурси компоненти ==

@k2production.route('/test_dashboard', methods=['GET'])

!; Властивість
{% block content %}
Результат містить roleid та прапорці доступу, зокрема:

def test_dashboard(): send_approval_request_from_hook(self, data) ├── requirements-components.txt /languages/en/LC_MESSAGES/messages.mo date_from = "2023-01-01"

Метод збирає інформаційні дані по товарах, організації, контрагенту, складу, договору, відповідальній особі та клієнту, після чого повертає результат у JSON-форматі.; | Для розробників K2 ERP Python
|-
| Що описує документ?;</div>
!; Компонента повинна мати документацію для різних груп користувачів.; └── k2adm/

!; Значення <code>name</code>
Клас надає можливість отримувати та відображати звіти з бази даних за їхніми ідентифікаторами.; Основні частини компоненти:
Отримати назву поточного проєкту:
{| class="wikitable" style="width:100%;"
 message='Operation completed successfully.',
 'k2dashboard_production/k2dashboard_production.html',
Для автоматичної генерації HTML-документації з docstring можна використовувати стандартний інструмент `pydoc`.;<pre>

k2/k2obj.py
 │ ├── developer_documentation/
!; | У каталозі <code>doc/</code>
|-
| Де зберігаються локалізації?; |-
| <code>message</code>
| Текст повідомлення
|-
| <code>type</code>
| Тип повідомлення: <code>primary</code>, <code>success</code>, <code>danger</code>, <code>warning</code>, <code>info</code>, <code>light</code>
|}

 status=K2.log_success,

 {{ error }}

removeBootstrapLoader(containerId)
=== showUserAlert() ===
|-
| Для кого ця сторінка?; |-
| <code>add_authorized_users(user_id, login)</code>
| Додає користувача до списку авторизованих
|-
| <code>check_authorized_users(user_id)</code>
| Перевіряє, чи користувач системи активний
|-
| <code>check_logout_users(user_id)</code>
| Перевіряє користувачів, що вийшли
|-
| <code>dell_authorized_users(user_id)</code>
| Видаляє користувача зі списку авторизованих
|-
| <code>get_authorized_users()</code>
| Отримує список авторизованих користувачів
|}

== K2 ERP JavaScript ==

Клас гарантує створення, перегляд і редагування записів логбука, роботу з параметрами завдань, обладнанням, запчастинами, кроками технічного обслуговування та підтвердженням виконання робіт.; !; Метод

!; Призначення

Очікувані інформаційні дані:

== Авторство ==

 dashboard_settings=k2report_embed
K2.get_path_to_root(__file__)
Документ описує загальні вимоги до компонентів K2 ERP, базові системні класи, структуру компонентів, правила документування та приклади використання окремих класів.; Згенерувати ID:

 │ ├── languages/
== Клас K2Obj ==
!;=== Основні групи методів ===
|-
| <code>images</code>
| Масив URL-адрес зображень
|-
| <code>containerId</code>
| Ідентифікатор контейнера для вставки слайдера
|}

 │ ├── static/

=== Основні методи K2Obj ===

Клас обробляє інформаційні дані з логів, створює або оновлює записи про залишки товарів і керує їхніми статусами.; Класи компонент реалізують функціональність конкретних модулів K2 ERP.;=== Основні функціональні можливості ===
 ├── k2adm/
<pre>
 │ ├── widgets/
[[Категорія:Python]]
<div style="border:2px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">
)
!; характеристика

Параметри:
 datasource_is_storage_id,
== Клас K2DocsCRM ==
|-
| <code>new</code>
| Нові залишки, отримані в поточному оновленні
|-
| <code>stable</code>
| Підтверджені залишки, доступні користувачам
|-
| <code>old</code>
| Застарілі інформаційні дані, що підлягають видаленню
|}

Copyright © 2000-2025 К2®, Rudiuk Serhii.; | Від <code>K2Obj</code>
|-
| Де описуються залежності компонент?; K2.logging_message(status, message, page_url=None, show_message=True)
 └── setup.py
== Права користувача ==
 '49952f397efff44d7ce0e5cb9aa625fb'

get_report_data() -> Optional [List [Dict [str, Any]]]

{{DISPLAYTITLE:Класи та команди K2 ERP Python}}
!; Він гарантує роботу з лідами, замовленнями, рахунками, звітами та налаштуваннями CRM.; | У каталозі <code>languages/</code>
|-
| Які JavaScript-функції описані?; Призначення
{| class="wikitable" style="width:100%;"
K2().get_user_permissions()
<code>K2LogbookTMDoc</code> керує логбуком технічного обслуговування.; Дія
генерацію та друк звітів за допомогою API Stimulsoft реалізується засобами <code>K2Report </code>.; Метод

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

* <code>r</code> — читання;
* <code>w</code> — запис;
* <code>i</code> — вставка;
* <code>d</code> — видалення;
* <code>c</code> — створення;
* <code>exp</code> — експорт;
* <code>imp</code> — імпорт;
* <code>del_</code> — відновлення;
* <code>settable</code> — конфігурація таблиці;
* <code>cutpast</code> — вирізати / вставити;
* <code>enable</code> — доступність;
* <code>active</code> — активність.;

current_user_permissions = K2().get_user_permissions()

Клас K2

datasource_value,

Приклад отримання відносного шляху до кореня:

K2ReportDesigner надає функціональність для створення, редагування та перегляду звітів і дашбордів.; Якщо контакт знайдено, метод оновлює інформаційні дані ліда: ім’я, прізвище, email та lead_id.; Метод

Коротко

│ │ └── roles.py

K2ReportEmbedзастосовують, коли потрібно для вбудовування звітів у вебзастосунок.; Логіка роботи:

yml_path = K2.search_yml('users')


Інструкція користувача повинна автономно підтягуватися системою документації K2 ERP, створюючи окремий розділ документації для встановленого продукту.;== Методи авторизації користувачів ==
|-
| <code>component_list()</code>
| Пошук встановлених компонент
|-
| <code>get_current_user()</code>
| Повертає об’єкт поточного користувача
|-
| <code>get_user_counterparts_id()</code>
| Пошук id поточного контрагента
|-
| <code>get_user_counterparts_name()</code>
| Пошук назви поточного контрагента
|-
| <code>get_user_project_id()</code>
| Пошук id поточного проєкту користувача
|-
| <code>get_user_project_name()</code>
| Пошук назви поточного проєкту користувача
|-
| <code>get_user_storage_id()</code>
| Пошук id поточного складу
|-
| <code>get_user_stoages_name()</code>
| Пошук назви поточного складу
|-
| <code>get_user_structural_division_id()</code>
| Пошук id поточного підрозділу
|-
| <code>get_user_structural_division_id_tree()</code>
| Пошук підрозділів за ієрархією
|-
| <code>get_menu_url()</code>
| Повертає список URL активних пунктів меню
|-
| <code>search_menu_items()</code>
| Пошук пунктів меню
|-
| <code>search_menu_items_category()</code>
| Пошук категорій пунктів меню
|-
| <code>search_static_files()</code>
| Пошук статичних файлів
|-
| <code>url_map()</code>
| Робота з картою URL
|}

 date_to

!; Основні системні класи:

K2().create_db_role(user_name, password)
<pre>
У K2 ERP використовуються допоміжні JavaScript-функції для роботи з інтерфейсом, зображеннями, завантаженням і повідомленнями користувачу.; Властивість
|-
| <code>K2</code>
| Ядро системи K2 ERP
|-
| <code>K2Obj</code>
| Базовий клас для об’єктів системи
|-
| <code>K2admin_menus</code>
| Формування меню для конкретного користувача
|-
| <code>k2data</code>
| Робота з даними
|-
| <code>k2datasync</code>
| Синхронізація даних
|-
| <code>k2logging</code>
| Логування повідомлень і помилок
|-
| <code>k2mail</code>
| Робота з поштою
|-
| <code>k2notifications</code>
| Сповіщення користувачів
|-
| <code>k2path</code>
| Пошук шляхів у системі
|-
| <code>k2secur</code>
| Безпека та доступи
|-
| <code>k2settings</code>
| конфігурація системи
|-
| <code>k2trans</code>
| Переклади
|-
| <code>k2upd</code>
| актуалізація
|}

 │ ├── examples/

 │ ├── history.txt

=== Основні властивості класу ===

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

{| class="wikitable" style="width:100%;"
|-
| <code>domain_name</code>
| Назва домену
|-
| <code>domain_protocol</code>
| Протокол домену
|-
| <code>domain</code>
| Поточний домен
|-
| <code>port</code>
| Порт
|-
| <code>db</code>
| Підключення до бази даних
|-
| <code>default_language</code>
| Мова за замовчуванням
|}

Визначити платформу:

!;=== Основні властивості класу ===
!;== Клас K2CRM ==

 │ └── additional_developer_docs/

K2 — це ядро системи K2 ERP.; Призначення

│ └── views.py

check_lead() перевіряє, чи існує контакт із заданим номером телефону в таблиці k2contacts.; │ ├── yml/ datasource_keys = ["table1_data", "table2_data"]

; Призначення ; │ ├── user_manual/

Ілюстрації

Приклад Jinja-шаблону

process_options() обробляє JSON-запит і налаштовує K2Grid залежно від значення параметра name.; Призначення

pydoc -w k2/k2obj.py

Отримати список встановлених компонент: {% extends template_name + '/base.html' %}

{% if error %}
Метод повертає JSON-відповідь про успіх або помилку.;<pre>

</div>

Компонента K2 ERP повинна мати стандартизовану структуру.; '''істотно.''' Щоб автоматична документація була корисною, класи й методи потрібно описувати зрозумілими docstring-коментарями, а не залишати код без пояснень.; {| class="wikitable" style="width:100%;"
Отримати права поточного користувача:

 │ ├── models.py

<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;">

повертає права поточного користувача для URL, до якого він звертається.; !; Клас

== Методи роботи з базою даних і сесіями ==
K2().get_user_counterparts_id()
Приклад команди:
 page_url='/kadm/users',
=== Основні властивості інстансу ===
<pre>
 ]
=== Основні методи ===

!; Призначення
=== Статуси залишків ===
K2.logging_message(K2.log_error, 'Operation completed with error.')

!; Група
|-
| <code>database</code>
| База даних через глобальний об’єкт <code>K2.db</code>
|-
| <code>time_zone</code>
| Часовий пояс системи через <code>K2.timezone</code>
|-
| <code>domain</code>
| Поточний домен через <code>K2.domain</code>
|}

== Метод process_options() ==

!; !;
  • створення звітів;
  • робота з конструктором звітів;
  • керування друкованими формами;
  • генерація друкованих документів;
  • взаємодія з API Stimulsoft;
  • візуалізація та експорт звітів.; Призначення

k2log==2.0.0.2 k2grid==2.0.4.1

; Метод

Клас додатково наслідується від K2Obj.; file_class = 'k2equipment'

│ ├── schema/

— шлях до Python-файлу від кореня проєкту.; Призначення

reports_id = [
├── requirements.txt
create_contact() Створює контакт на основі даних ліда
check_lead() Перевіряє, чи існує контакт із заданим телефоном
crm_data(route, data) Отримує інформаційні дані для друкованих форм CRM
process_options() Обробляє параметри JSON-запиту й налаштовує об’єкти K2Grid

У K2 ERP використовуються щонайменше українська та англійська мови.; Що зберігається

Клас K2Production

Приклад структури компоненти

Основні методи

designer() Відображає сторінку редагування друкованої форми
viewer() Відображає сторінку перегляду друкованої форми
dashboard_viewer() Відображає сторінку перегляду дашборду
dashboard_designer() Відображає сторінку редагування дашборду
json_data_create(...) Створює JSON-дані на основі джерел даних і періоду
save_report_id() Зберігає ідентифікатор і конфігурація звіту
mrt_report_create(report_id, design_type_id=None) Створює MRT-файл звіту на основі шаблону
table_report_data(datasource_value, datasource_keys) Обробляє SQL-дані для джерел звіту
save_info_report_designer() Зберігає інформацію про звіт і генерує MRT-файл
data_source_lists_creating(group_reports_id) Створює списки джерел даних для звіту

Ресурси компоненти зберігаються у стандартних каталогах:

Приклади: K2().get_user_project_name()

datasource_keys,

Призначення документа

Файли перекладів зберігаються у структурі:

ключовий метод

Окремо варто відзначити створюють компоненти, підключають системні класи, використовують API, пишуть документацію, тести і допоміжні JavaScript-функції виступає ключовою рисою розробників забезпечується через Класи та команди K2 ERP Python.; Властивість

;=== Основні властивості інстансу ===

де reports_id — список ідентифікаторів звітів.; Він повинен мати зрозумілу структуру, моделі, роути, API, залежності, документацію, історію змін, тести, локалізації, приклади та ресурси.; {| class="wikitable" style="width:100%;"

removeBootstrapLoader()

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

crm_data() отримує інформаційні дані з таблиць бази для формування друкованих форм документів у CRM.;K2DocsCRM — частина CRM-модуля, яка відповідає за роботу з документами та даними CRM.;== Локалізації ==

Клас K2UpdateRemainder

Клас містить методи для обробки запитів на затвердження змін у технічній документації обладнання.;
 │ ├── forms.py
{| class="wikitable" style="width:100%;"


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

Приклад backend Flask

де:

; K2ReportEmbed(reports_id: List [str])

 │ ├── business_processes/

; datasource_is_storage_id = [False, True] K2Production застосовується для виробничих процесів.;

Метод crm_data(route, data)

Від нього наслідуються об’єкти, які використовують стандартну логіку системи: конфігурації, YML, grids, форми, параметри, кнопки, джерела даних і розширення.; Поле Клас наслідується від K2Obj, з цієї причини використовує базові властивості та методи системних об’єктів K2 ERP.; Каталог

=== Ініціалізація ===
K2_Cloud_ERP_Python_01.png|Ілюстрація K2 ERP Python|посилання=Файл:K2_Cloud_ERP_Python_01.png

Приклад:

Повертає ідентифікатор створеного каруселя або модального вікна.; Метод
 {% endif %}
!; | <code>K2</code>
|-
| Від чого наслідуються об’єкти системи?; Параметр

Відображає повідомлення користувачу у вигляді Bootstrap Toast.; Отримати домен:

K2CRM — клас CRM-модуля K2 ERP.; showUserAlert(message, type = 'light') </gallery>
models.py ORM-структури та моделі бази даних компоненти
views.py центральний клас компоненти, роути та API
objects/ Додаткові класи, від яких залежить функціональні можливості компоненти
hooks.py Хуки для розширення або зміни стандартної поведінки системи
requirements-components.txt Залежності від інших компонент K2 ERP
requirements.txt Python-залежності компоненти
README.md характеристика цілі компоненти, способу використання та важливих приміток
history.txt історичний розвиток змін, написана зрозумілою для користувача мовою
doc/ Документація, схеми, бізнес-процеси та інструкції
tests/ Юніт-тести компоненти
examples/ Приклади використання компоненти
widgets/ Віджети, дашборди та візуальні елементи
languages/ Локалізації та переклади
static/ Зображення, стилі, JavaScript, текстові ресурси
templates/ Шаблони компоненти
yml/ YML-конфігурації
; Параметр ; характеристика

K2().component_list()

Залежності компоненти

Метод отримує інформаційні дані звітів із бази даних і формує JSON-структуру для відображення.; це технічна документація; додатково реалізовано які працюють із Python-версією K2 ERP.;

Клас K2LogbookTMDoc

; Якщо компонента залежить від інших компонент K2 ERP, ці залежності потрібно вказати у файлі: ; │ ├── __init__.py
; Частина
/static Зображення, тексти, JavaScript, CSS та інші статичні ресурси
/static/img Іконки та зображення компоненти
/templates Шаблони компоненти
/yml YML-конфігурації
/data інформаційні дані компоненти, якщо вони потрібні

/languages/en/LC_MESSAGES/messages.po

; Метод

Додає анімацію завантаження у вказаний контейнер.; !; ├── __init__.py

generate_id() Генерація ID
compare_versions(version1, version2) Порівняння версій
get_platform() Визначення операційної системи
get_locale() Визначення поточної мови
get_locale_id() Визначення id поточної мови
get_active_lang_list() Отримання списку активних мов
get_user_role(user_id) Отримання roleid користувача
get_current_user_role_name() Отримання role name поточного користувача
get_path_abs(caller_file) Абсолютний шлях до файлу, в якому виконується код
get_path_to_root(caller_file) Відносний шлях до кореня
search_yml(name_yml) Пошук YML-файлу в каталогах компонент
search_comp_names() Пошук ідентифікаторів компонент
load_babel_translation_directories() Завантаження перекладів

{% endblock %}

│ ├── templates/
components/

=== Основні методи K2DocsCRM ===

 'b452a5ae84f9e92e75eb0467c196fd71',
=== Основні методи K2Report ===
- __init__(sql=[]) Ініціалізує клас і отримує шлях до каталогу виклику
create_report(sql=None, data_source=None) Створює звіт і відображає редактор або переглядач
get_report(file_name) Отримує звіт за назвою файлу
execute_query(query, params=None) Виконує SQL-запит
get_report_designer(file_name, design_type_id) Отримує дизайнер звіту за типом дизайну
add_reports_type(name, data) Додає тип звіту до групи звітів

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

show_message=False

Логіка роботи:


{| class="wikitable" style="width:100%;"
!; | Слайдер зображень, loader, видалення loader та повідомлення користувачу
|}

<pre>

* [[K2 Cloud ERP|K2 ERP]]
* [[K2 ERP]]
* [[Python]]
* [[API]]
* [[Документація для розробників]]
* [[K2 Cloud ERP Javascript|K2 ERP Javascript]]
* [[Розгортання системи K2 ERP Python для розробників]]
* [[Компоненти K2 ERP]]
* [[K2 CRM]]
* [[K2 Report]]
* [[K2 Production]]

<pre>
{| class="wikitable" style="width:100%;"
Якщо компоненту створює сторонній розробник, потрібно вказати інформацію про такого розробника.; !; Статус

== Клас K2EquipmentFunction ==

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

datasource_value = ["SELECT * FROM table1", "SELECT * FROM table2"]

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

period = 1
!; Атрибут
K2 має методи для збереження, завантаження та відправлення повідомлень користувачу.; Відповідь

* як має виглядати структура компоненти;
* які файли є собою обов’язковими;
* де зберігати моделі, роути, хуки й додаткові об’єкти;
* як описувати залежності;
* як оформлювати документацію для користувачів і розробників;
* які базові класи доступні в ядрі K2 ERP;
* як використовувати системні API;
* які JavaScript-допоміжні функції доступні для інтерфейсу.; |-
| <code>update_pub_sub_remainder()</code>
| Оновлює залишки на основі даних Pub/Sub
|-
| <code>_insert_new_pub_sub_nomenclature(session, nomenclature_data)</code>
| Додає нову номенклатуру, якщо її ще немає
|}

 {% include dashboard_settings.template %}

!; Властивість
<code>create_contact()</code> створює контакт на основі даних існуючого ліда.; Призначення
== Метод create_contact() ==
=== Метод send_approval_request_from_hook() ===
|-
| <code>doc/schema</code>
| Структура бази даних, зокрема SQL Power Architect-схеми
|-
| <code>doc/business_processes</code>
| Бізнес-процеси та схеми роботи у форматі Draw.io
|-
| <code>doc/user_manual</code>
| Інструкція користувача
|-
| <code>doc/developer_documentation</code>
| Документація для розробників, згенерована автономно з коментарів
|-
| <code>doc/additional_developer_docs</code>
| Додаткова документація для розробників
|}

<pre>

<code>K2UpdateRemainder</code> відповідає за актуалізація залишків на основі даних, отриманих від клієнтів.; Призначення

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

!; All rights reserved.; Метод
== Класи компонент ==

!; )


!; Призначення

Ця сторінка потрібна для того, щоб розробники K2 ERP працювали з компонентами в єдиному стилі.; | У <code>requirements-components.txt</code> та <code>requirements.txt</code>
|-
| Де зберігається документація?; Призначення
datasource_is_counterpart_id = [True, False]
Системні класи K2 ERP забезпечують базову роботу ядра, об’єктів, безпеки, шляхів, даних, налаштувань, повідомлень, перекладів і оновлень.; Параметри:
 {% else %}
 '1673a4fab757fb6c5df970fdc6ee680c',
│ ├── tests/

Створює слайдер зображень у контейнері або модальному вікні.; Значення

date_from,

Шаблони мають бути розроблені так, щоб не конфліктувати з глобальними шаблонами системи.; Призначення


Метод:
{| class="wikitable" style="width:100%;"
== Клас K2ReportEmbed ==
|-
| <code>equipment_type_id</code>
| Ідентифікатор типу обладнання
|-
| <code>changed_fields</code>
| Словник зі зміненими полями та їхніми значеннями
|}

  1. перевіряє наявність записів із parentid != '0' у таблиці k2tm_fields;
  2. отримує інформацію про тип обладнання з таблиці k2equipment_type;
  3. шукає активних затверджувачів у таблиці k2users_for_approval;
  4. формує характеристика змін;
  5. формує URL для сторінки затвердження;
  6. надсилає повідомлення через K2Notifications.send_approval_request().; Призначення
usr_perm = K2().get_user_permissions()
Клас взаємодіє з базою даних, керує файлами звітів і генерує JSON-дані для подальшого використання.; |-
| Відображення логбука
| <code>k2logbook_tm()</code>, <code>take_logbook_tm()</code>, <code>edit_logbook_tm()</code>
| Відкриття списку, форми та редагування логбука
|-
| Планове і позапланове ТО
| <code>planned_tm()</code>, <code>unplanned_tm()</code>, <code>create_unplanned_task()</code>
| Робота з плановим і позаплановим технічним обслуговуванням
|-
| Параметри
| <code>write_logbook_params()</code>, <code>read_logbook_params()</code>
| Збереження та читання параметрів логбука
|-
| Запчастини
| <code>pull_spare_parts_data()</code>, <code>spare_parts_check()</code>, <code>take_material_by_qr()</code>, <code>return_material_by_qr()</code>
| Робота із запчастинами та матеріалами
|-
| Кроки ТО
| <code>task_step_form()</code>, <code>save_step()</code>, <code>end_step()</code>, <code>end_step_manager()</code>
| Обробка кроків технічного обслуговування
|-
| Перевірки
| <code>step_image_check()</code>, <code>step_data_check()</code>, <code>detail_check()</code>, <code>equipment_qr_confirmation()</code>
| Перевірка зображень, даних, деталей і QR-кодів
|-
| Статуси
| <code>decline_task()</code>, <code>confirm_task()</code>, <code>send_on_revision_task()</code>, <code>requires_partner()</code>, <code>join_task()</code>
| Керування статусами завдань
|-
| Звіти та зображення
| <code>e_report_logbook()</code>, <code>get_all_employee_image()</code>, <code>get_employee_image()</code>, <code>get_image_logbook()</code>
| Звіти та робота із зображеннями логбука
|}

Основні методи K2


У документації клас згадується в контексті схеми вибору обслуговування терміналу.; характеристика

{| class="wikitable" style="width:100%;"
== Генерація документації з docstring ==
<pre>
|-
| <code>k2doc_rows_detail</code>
| Створює grid для деталізації рядків документа, вимикає зайві кнопки, передає <code>row_id</code> і <code>storage_id</code>
|-
| <code>k2doc_move</code>
| Створює grid руху документа, вимикає кнопки додавання, редагування, видалення та друку
|}

date_to = "2023-12-31"

K2.get_platform()

 │ │ └── users.py

* <code>K2ReportEmbed</code>;
* <code>K2ReportDesigner</code>.; │ ├── objects/
'''Коротко.''' Компонент K2 ERP має бути не без ускладнень набором Python-файлів.; K2().domain
Метод відправляє запит на затвердження змін у технічній карті обладнання.; Клас
Документація сприяє зрозуміти:
__init__() Ініціалізація об’єкта
content() Формування контенту
create_names_yml() Створення назв YML-конфігурацій
search_class_prop() Пошук властивостей для розширення класу
select_grid() Вибір grid
show_grid() Відображення grid

Клас наслідується від K2Obj і є собою батьківським класом для:

│ ├── hooks.py

<pre>
<pre>
 period,
|-
| <code>K2Site</code>
| Робота з сайтом
|-
| <code>K2Grid</code>
| Робота з таблицями та grid-компонентами
|-
| <code>K2WMS</code>
| Складські процеси та WMS
|-
| <code>K2CRM</code>
| CRM-функціональність
|-
| <code>K2DocsCRM</code>
| Документи CRM
|-
| <code>K2Report</code>
| Звіти та друковані форми
|-
| <code>K2ReportEmbed</code>
| Вбудовування звітів у вебсторінки
|-
| <code>K2ReportDesigner</code>
| Конструктор звітів і дашбордів
|-
| <code>K2Production</code>
| Виробничі процеси
|-
| <code>K2LogbookTMDoc</code>
| Логбук технічного обслуговування
|-
| <code>K2EquipmentFunction</code>
| Робота з обладнанням
|}

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

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

<pre>

Знайти YML-файл:

createImageSliderModal(images, containerId = null)
Отримати id поточного контрагента:
!; !; Видаляє анімацію завантаження з контейнера.; Методи
<pre>
json_data = k2_designer.json_data_create(
|-
| <code>init_db()</code>
| Підключення <code>db_uri</code> для вибраної бази даних
|-
| <code>init_db_custom(key)</code>
| Підключення custom <code>db_uri</code> за ключем
|-
| <code>init_db_uri()</code>
| Пошук і ініціалізація файлу підключення до бази даних
|-
| <code>init_db_uri_custom()</code>
| Зчитування підключень із <code>db_custom.yml</code>
|-
| <code>init_db_uri_user()</code>
| Ініціалізація підключення до БД для поточного користувача
|-
| <code>init_db_user()</code>
| Підключення <code>db_uri</code> для користувача
|-
| <code>create_db_role(user_name, password)</code>
| Створення користувача на рівні БД
|-
| <code>drop_db_role(user_name)</code>
| Видалення користувача на рівні БД
|-
| <code>kill_user_sessions(target_username)</code>
| Завершення сесій користувача на рівні БД
|}

K2().get_current_user()

 │ ├── roles/
Основні приклади:
<code>K2EquipmentFunction</code> — підклас <code>K2Obj</code>, призначений для роботи з функціональністю обладнання в K2 ERP.;<code>K2Obj</code> — базовий клас для об’єктів системи K2 ERP.; !; !;=== showBootstrapLoader() ===

ключовий метод:

Метод check_lead()

; Призначення

Логування та повідомлення K2

Атрибути

self.secur Підключення класу безпеки self.path Підключення класу пошуку шляхів self.data Підключення класу синхронізації даних self.settings Підключення класу налаштувань self.notifications Підключення класу сповіщень

requirements-components.txt

path_class = 'components/k2production/k2production/k2equipment'

; Метод ; Це потрібно для того, щоб систему можна було оновлювати, документувати, тестувати й підключати до інших модулів без ручного хаосу.; характеристика

Приклад отримання абсолютного шляху:

; k2report_embed = K2ReportEmbed(reports_id) ; характеристика
│ ├── users/
)
├── history.txt

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

<gallery mode="packed" heights="180">

Методи класу K2

id = K2.generate_id()

name Назва компоненти version реліз компоненти
│ ├── data/

Основні атрибути

K2.get_path_abs(__file__)


self._name_yml

Назва конфігураційного YML-файлу


self._name_yml_tree

Назва YML-файлу з деревом


self._new_buttons

Нові кнопки


self._name_yml_master

Майстер-конфігурація


self._send_params

Параметри для конфігураційного файлу


self._send_group_params

Параметри групи


self._report_id

ID звіту


self._data_source

Джерела даних


self._off_buttons

Кнопки, які потрібно вимкнути


self._row_selection

Вибір рядка


У компоненті має бути вказане авторство.; Метод


Вимоги до компонентів, системні класи, API, CRM, звіти, production-класи та JavaScript-утиліти


Який базовий клас системи?; Якщо зображення відсутні, показує повідомлення та повертає null.;== Клас K2Report ==

Приклад json_data_create()