Класи та команди K2 ERP Python
Приклади використання K2
K2.logging_message(
!;
== Клас K2ReportDesigner == showBootstrapLoader(containerId) === createImageSliderModal() === !; Каталог k2form==2.0.1.27
Python-залежності, якщо вони потрібні, вказуються у файлі:
requirements.txt
Документація компоненти
- отримує JSON із
lead_id; - перевіряє, чи передано
lead_id; - шукає лід у таблиці
k2lead; - створює запис у таблиці
k2contacts; - у разі помилки скасовує транзакцію та повертає характеристика помилки.; Для компонент 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 та прапорці доступу, зокрема:
Метод збирає інформаційні дані по товарах, організації, контрагенту, складу, договору, відповідальній особі та клієнту, після чого повертає результат у 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-шаблону
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() ==
!; !;
k2log==2.0.0.2 k2grid==2.0.4.1
У 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/
{% 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>
| Словник зі зміненими полями та їхніми значеннями
|}
- перевіряє наявність записів із
parentid != '0'у таблиціk2tm_fields; - отримує інформацію про тип обладнання з таблиці
k2equipment_type; - шукає активних затверджувачів у таблиці
k2users_for_approval; - формує характеристика змін;
- формує URL для сторінки затвердження;
- надсилає повідомлення через
K2Notifications.send_approval_request().; Призначення
Клас взаємодіє з базою даних, керує файлами звітів і генерує 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_idID звітуself._data_sourceДжерела данихself._off_buttonsКнопки, які потрібно вимкнутиself._row_selectionВибір рядка У компоненті має бути вказане авторство.; МетодВимоги до компонентів, системні класи, API, CRM, звіти, production-класи та JavaScript-утиліти Який базовий клас системи?; Якщо зображення відсутні, показує повідомлення та повертаєnull.;== Клас K2Report ==Приклад json_data_create()