Класи та команди K2 ERP Python: відмінності між версіями
R (обговорення | внесок) Прибрав слово Cloud |
R (обговорення | внесок) Немає опису редагування |
||
| Рядок 1: | Рядок 1: | ||
== Клас K2ReportEmbed == | |||
K2.logging_message( | |||
{| class="wikitable" style="width:100%;" | |||
<pre> | === Основні методи K2Report === | ||
│ ├── roles/ | |||
Документ описує загальні вимоги до компонентів K2 ERP, базові системні класи, структуру компонентів, правила документування та приклади використання окремих класів. Це потрібно для того, щоб систему можна було оновлювати, документувати, тестувати й підключати до інших модулів без ручного хаосу. ! Параметри: | |||
</pre> | |||
{% endblock %} | |||
|- | |||
| <code>domain_name</code> | |||
| Назва домену | |||
|- | |||
| <code>domain_protocol</code> | |||
| Протокол домену | |||
|- | |||
| <code>domain</code> | |||
| Поточний домен | |||
|- | |||
| <code>port</code> | |||
| Порт | |||
|- | |||
| <code>db</code> | |||
| Підключення до бази даних | |||
|- | |||
| <code>default_language</code> | |||
| Мова за замовчуванням | |||
|} | |||
==== select_grid( | Створює слайдер зображень у контейнері або модальному вікні. SEO-опис | ||
=== Приклади використання K2 === | |||
</div> | |||
|- | |||
| <code>__init__()</code> | |||
| Ініціалізація об’єкта | |||
|- | |||
| <code>content()</code> | |||
| Формування контенту | |||
|- | |||
| <code>create_names_yml()</code> | |||
| Створення назв YML-конфігурацій | |||
|- | |||
| <code>search_class_prop()</code> | |||
| Пошук властивостей для розширення класу | |||
|- | |||
| <code>select_grid()</code> | |||
| Вибір grid | |||
|- | |||
| <code>show_grid()</code> | |||
| Відображення grid | |||
|} | |||
! | Слайдер зображень, loader, видалення loader та повідомлення користувачу | |||
|} | |||
Системні класи K2 ERP забезпечують базову роботу ядра, об’єктів, безпеки, шляхів, даних, налаштувань, повідомлень, перекладів і оновлень. Створити користувача на рівні бази даних: | |||
= | current_user_permissions = K2().get_user_permissions() | ||
Copyright © 2000-2025 К2®, Rudiuk Serhii. це технічна документація; так само реалізовано які працюють із Python-версією [[K2 ERP]]. |- | |||
| <code>create_contact()</code> | |||
| Створює контакт на основі даних ліда | |||
|- | |||
| <code>check_lead()</code> | |||
| Перевіряє, чи існує контакт із заданим телефоном | |||
|- | |||
| <code>crm_data(route, data)</code> | |||
| Отримує інформаційні дані для друкованих форм CRM | |||
|- | |||
| <code>process_options()</code> | |||
| Обробляє параметри JSON-запиту й налаштовує об’єкти K2Grid | |||
|} | |||
=== | === removeBootstrapLoader() === | ||
!</pre> | |||
</pre> | |||
</pre> | |||
</pre> | |||
</pre> | |||
K2().create_db_role(user_name, password) | |||
! SEO-опис | |||
{| class="wikitable" style="width:100%;" | |||
showUserAlert(message, type = 'light') | |||
!=== createImageSliderModal() === | |||
== Призначення документа == | |||
== Метод create_contact() == | |||
K2.get_path_abs(__file__) | |||
file_class = 'k2equipment' | |||
== Клас K2Report == | |||
|- | |||
| <code>name</code> | |||
| Назва компоненти | |||
|- | |||
| <code>version</code> | |||
| реліз системи компоненти | |||
|} | |||
Приклади: | |||
</pre> | </pre> | ||
dashboard_settings=k2report_embed | |||
! Клас | |||
Клас так само наслідується від <code>K2Obj</code>. Призначення | |||
</pre> | |||
k2log==2.0.0.2 | |||
k2grid==2.0.4.1 | |||
<code>create_contact()</code> створює контакт на основі даних існуючого ліда. Метод | |||
< | <pre> | ||
! Метод | |||
базовий метод: | |||
== Вимоги до компоненти K2 ERP == | |||
</pre> | |||
=== Основні атрибути === | |||
<gallery mode="packed" heights="180"> | |||
{| class="wikitable" style="width:100%;" | |||
Логіка роботи: | Логіка роботи: | ||
</pre> | |||
createImageSliderModal(images, containerId = null) | |||
|- | |||
| <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> | |||
| Додаткова документація для розробників | |||
|} | |||
=== | === Основні властивості класу === | ||
Приклади сценаріїв: | |||
Якщо компонента залежить від інших компонент K2 ERP, ці залежності потрібно вказати у файлі: | |||
{| class="wikitable" style="width:100%;" | |||
! Питання | |||
=== Основні властивості інстансу === | |||
== | == Див. так само == | ||
== | {| class="wikitable" style="width:100%;" | ||
</pre> | |||
</div> | |||
|- | |||
| <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> | |||
| Робота з обладнанням | |||
|} | |||
Якщо компоненту створює сторонній розробник, потрібно вказати інформацію про такого розробника. Метод отримує інформаційні дані звітів із бази даних і формує JSON-структуру для відображення. | У каталозі <code>doc/</code> | |||
|- | |||
| Де зберігаються локалізації?</pre> | |||
=== базовий метод === | |||
date_from, | |||
Отримати список встановлених компонент: | |||
Він забезпечує роботу з лідами, замовленнями, рахунками, звітами та налаштуваннями CRM. Метод: | |||
│ ├── data/ | |||
== Генерація документації з docstring == | |||
! Параметр | |||
|- | |||
| <code>self._name_yml</code> | |||
| Назва конфігураційного YML-файлу | |||
|- | |||
| <code>self._name_yml_tree</code> | |||
| Назва YML-файлу з деревом | |||
|- | |||
| <code>self._new_buttons</code> | |||
| Нові кнопки | |||
|- | |||
| <code>self._name_yml_master</code> | |||
| Майстер-конфігурація | |||
|- | |||
| <code>self._send_params</code> | |||
| Параметри для конфігураційного файлу | |||
|- | |||
| <code>self._send_group_params</code> | |||
| Параметри групи | |||
|- | |||
| <code>self._report_id</code> | |||
| ID звіту | |||
|- | |||
| <code>self._data_source</code> | |||
| Джерела даних | |||
|- | |||
| <code>self._off_buttons</code> | |||
| Кнопки, які потрібно вимкнути | |||
|- | |||
| <code>self._row_selection</code> | |||
| Вибір рядка | |||
|} | |||
<pre> | |||
! | У каталозі <code>languages/</code> | |||
== | |- | ||
| Які JavaScript-функції описані? Методи | |||
{| class="wikitable" style="width:100%;" | |||
<pre> | |||
Клас наслідується від <code>K2Obj</code>, тому використовує базові властивості та методи системних об’єктів K2 ERP. ├── doc/ | |||
<pre> | <pre> | ||
! Отримати назву поточного проєкту: | |||
├── history.txt | |||
! Клас | |||
[[Категорія:Python]] | |||
== Залежності компоненти == | |||
== Ілюстрації == | |||
=== Приклад Jinja-шаблону === | |||
=== | |||
! SEO-опис | |||
[[Категорія:Корпоративна Wiki]] | |||
<pre> | |||
│ ├── user_manual/ | |||
{| class="wikitable" style="width:100%;" | |||
│ ├── forms.py | |||
│ ├── yml/ | |||
! Призначення | |||
│ ├── tests/ | |||
== Методи роботи з базою даних і сесіями == | |||
</pre> | |||
datasource_is_counterpart_id, | |||
Ядро K2 ERP має підтримувати роботу з перекладами та давати можливість покращувати локалізацію стороннім користувачам або розробникам.== Метод process_options() == | |||
<pre> | |||
├── requirements.txt | |||
Логіка роботи: | Логіка роботи: | ||
│ ├── objects/ | |||
! Метод | |||
== Основні методи K2 == | |||
|- | |||
| Для кого ця сторінка? Параметр | |||
|- | |||
| <code>message</code> | |||
| Текст повідомлення | |||
|- | |||
| <code>type</code> | |||
| Тип повідомлення: <code>primary</code>, <code>success</code>, <code>danger</code>, <code>warning</code>, <code>info</code>, <code>light</code> | |||
|} | |||
get_report_data() -> Optional [List [Dict [str, Any]]] | |||
<pre> | </pre> | ||
│ ├── users/ | |||
<code>crm_data()</code> отримує інформаційні дані з таблиць бази для формування друкованих форм документів у CRM. ! Призначення | |||
{| class="wikitable" style="width:100%;" | |||
│ ├── widgets/ | |||
|- | |||
| <code>k2doc_rows_detail</code> | |||
| Створює grid для деталізації рядків документа, вимикає зайві кнопки, передає <code>row_id</code> і <code>storage_id</code> | |||
|- | |||
| <code>k2doc_move</code> | |||
| Створює grid руху документа, вимикає кнопки додавання, редагування, видалення та друку | |||
|} | |||
Клас забезпечує створення, перегляд і редагування записів логбука, роботу з параметрами завдань, обладнанням, запчастинами, кроками технічного обслуговування та підтвердженням виконання робіт. k2form==2.0.1.27 | |||
</pre> | |||
Python-залежності, якщо вони потрібні, вказуються у файлі: | |||
<pre> | |||
requirements.txt | |||
</pre> | </pre> | ||
== | == Документація компоненти == | ||
генерацію та друк звітів за допомогою API Stimulsoft реалізується засобами <code>K2Report </code>.<pre> | |||
== | Від нього наслідуються об’єкти, які використовують стандартну логіку системи: конфігурації, YML, grids, форми, параметри, кнопки, джерела даних і розширення. | У <code>requirements-components.txt</code> та <code>requirements.txt</code> | ||
|- | |||
| Де зберігається документація? !<code>K2CRM</code> — клас CRM-модуля K2 ERP. | Вимоги до компонентів, системні класи, API, CRM, звіти, production-класи та JavaScript-утиліти | |||
|- | |||
| Який базовий клас системи? {| class="wikitable" style="width:100%;" | |||
Класи компонент реалізують функціональність конкретних модулів K2 ERP.<pre> | |||
[[Категорія:K2 Production]] | |||
<pre> | <pre> | ||
date_from = "2023-01-01" | |||
Якщо контакт знайдено, метод оновлює інформаційні дані ліда: ім’я, прізвище, email та <code>lead_id</code>. * [[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]] | |||
=== Основні методи K2Obj === | |||
<pre> | <pre> | ||
{% block content %} | |||
! Отримати домен: | |||
|- | |||
| <code>__init__(sql=[])</code> | |||
| Ініціалізує клас і отримує шлях до каталогу виклику | |||
|- | |||
| <code>create_report(sql=None, data_source=None)</code> | |||
| Створює звіт і відображає редактор або переглядач | |||
|- | |||
| <code>get_report(file_name)</code> | |||
| Отримує звіт за назвою файлу | |||
|- | |||
| <code>execute_query(query, params=None)</code> | |||
| Виконує SQL-запит | |||
|- | |||
| <code>get_report_designer(file_name, design_type_id)</code> | |||
| Отримує дизайнер звіту за типом дизайну | |||
|- | |||
| <code>add_reports_type(name, data)</code> | |||
| Додає тип звіту до групи звітів | |||
|} | |||
<code>K2DocsCRM</code> — частина CRM-модуля, яка відповідає за роботу з документами та даними CRM. Призначення | |||
├── k2adm/ | |||
[[Категорія:Компоненти K2 ERP]] | |||
<code>K2UpdateRemainder</code> відповідає за оновлення версій залишків на основі даних, отриманих від клієнтів.</pre> | |||
'''критично.''' Щоб автоматична документація була корисною, класи й методи потрібно описувати зрозумілими docstring-коментарями, а не залишати код без пояснень. Призначення | |||
{| class="wikitable" style="width:100%;" | |||
</pre> | |||
|- | |||
| <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> | |||
| оновлення версій | |||
|} | |||
Основні приклади: | |||
! Властивість | |||
K2ReportEmbed(reports_id: List [str]) | |||
!=== Ініціалізація === | |||
{% extends template_name + '/base.html' %} | |||
де: | |||
{| class="wikitable" style="width:100%;" | |||
{{ error }} | |||
K2().domain | |||
datasource_is_storage_id = [False, True] | |||
</pre> | |||
{| class="wikitable" style="width:100%;" | |||
|- | |||
| Відображення логбука | |||
| <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> | |||
| Звіти та робота із зображеннями логбука | |||
|} | |||
== | == Класи компонент == | ||
│ ├── examples/ | |||
period = 1 | |||
Визначити платформу: | |||
!<pre> | |||
! Каталог | |||
! Властивість | |||
</pre> | |||
K2().get_user_project_name() | |||
Знайти YML-файл: | |||
│ ├── templates/ | |||
! Він повинен мати зрозумілу структуру, моделі, роути, API, залежності, документацію, історію змін, тести, локалізації, приклади та ресурси. ! datasource_keys, | |||
│ ├── hooks.py | |||
! Якщо зображення відсутні, показує повідомлення та повертає <code>null</code>. Призначення | |||
Основні частини компоненти: | |||
! ! datasource_is_storage_id, | |||
! де <code>reports_id</code> — список ідентифікаторів звітів. Призначення | |||
</pre> | |||
{% include dashboard_settings.template %} | |||
Нижче наведено приклад типової структури компоненти K2 ERP. Відповідь | |||
</pre> | |||
<pre> | |||
{| class="wikitable" style="width:100%;" | |||
== Клас K2DocsCRM == | |||
'b452a5ae84f9e92e75eb0467c196fd71', | |||
<pre> | |||
— шлях до Python-файлу від кореня проєкту. Метод | |||
=== Приклад json_data_create() === | |||
Параметри: | |||
│ ├── languages/ | |||
<pre> | |||
@k2production.route('/test_dashboard', methods=['GET']) | @k2production.route('/test_dashboard', methods=['GET']) | ||
=== Статуси залишків === | |||
</pre> | |||
!== Авторство == | |||
<pre> | |||
<pre> | <pre> | ||
|- | |||
| <code>equipment_type_id</code> | |||
| Ідентифікатор типу обладнання | |||
|- | |||
| <code>changed_fields</code> | |||
| Словник зі зміненими полями та їхніми значеннями | |||
|} | |||
= | status=K2.log_success, | ||
# перевіряє наявність записів із <code>parentid != '0'</code> у таблиці <code>k2tm_fields</code>; | |||
# отримує інформацію про тип обладнання з таблиці <code>k2equipment_type</code>; | |||
# шукає активних затверджувачів у таблиці <code>k2users_for_approval</code>; | |||
# формує SEO-опис змін; | |||
# формує URL для сторінки затвердження; | |||
# надсилає повідомлення через <code>K2Notifications.send_approval_request()</code>. ! All rights reserved. Клас дає можливість отримувати та відображати звіти з бази даних за їхніми ідентифікаторами. │ │ └── users.py | |||
K2().component_list() | |||
│ ├── __init__.py | |||
{| class="wikitable" style="width:100%;" | |||
│ └── views.py | |||
[[Категорія:K2 ERP Javascript]] | |||
<pre> | <pre> | ||
{| class="wikitable" style="width:100%;" | |||
{| class="wikitable" style="width:100%;" | |||
[[Категорія:Документація K2]] | |||
=== Основні властивості класу === | |||
! │ ├── business_processes/ | |||
<pre> | <pre> | ||
! Частина | |||
=== showBootstrapLoader() === | |||
=== Основні методи === | |||
) | |||
send_approval_request_from_hook(self, data) | |||
K2.logging_message(K2.log_error, 'Operation completed with error.') | |||
У документації клас згадується в контексті схеми вибору обслуговування терміналу. Властивість | |||
</pre> | |||
Для автоматичної генерації HTML-документації з docstring можна використовувати стандартний інструмент `pydoc`. Призначення | |||
Основні системні класи: | |||
{| class="wikitable" style="width:100%;" | |||
== Клас K2 == | |||
</pre> | </pre> | ||
Очікувані інформаційні дані: | |||
__TOC__ | |||
</pre> | </pre> | ||
=== Метод send_approval_request_from_hook() === | |||
domain | Метод повертає JSON-відповідь про успіх або помилку. Властивість | ||
Приклад отримання відносного шляху до кореня: | |||
|- | |||
| <code>database</code> | |||
| База даних через глобальний об’єкт <code>K2.db</code> | |||
|- | |||
| <code>time_zone</code> | |||
| Часовий пояс системи через <code>K2.timezone</code> | |||
|- | |||
| <code>domain</code> | |||
| Поточний домен через <code>K2.domain</code> | |||
|} | |||
K2().get_user_counterparts_id() | |||
повертає права поточного користувача для URL, до якого він звертається. Метод | |||
{| class="wikitable" style="width:100%;" | |||
<pre> | |||
period, | |||
{| class="wikitable" style="width:100%;" | |||
k2/k2obj.py | |||
= | message='Operation completed successfully.', | ||
id = K2.generate_id() | |||
Клас обробляє інформаційні дані з логів, створює або оновлює записи про залишки товарів і керує їхніми статусами. Метод | |||
! Результат містить roleid та прапорці доступу, зокрема: | |||
== | == Метод crm_data(route, data) == | ||
<pre> | |||
== Коротко == | |||
│ ├── developer_documentation/ | |||
</pre> | </pre> | ||
|- | |||
| <code>new</code> | |||
| Нові залишки, отримані в поточному оновленні | |||
|- | |||
| <code>stable</code> | |||
| Підтверджені залишки, доступні користувачам | |||
|- | |||
| <code>old</code> | |||
| Застарілі інформаційні дані, що підлягають видаленню | |||
|} | |||
├── requirements-components.txt | |||
=== showUserAlert() === | |||
<pre> | |||
=== Основні методи === | |||
|- | |||
| <code>update_pub_sub_remainder()</code> | |||
| Оновлює залишки на основі даних Pub/Sub | |||
|- | |||
| <code>_insert_new_pub_sub_nomenclature(session, nomenclature_data)</code> | |||
| Додає нову номенклатуру, якщо її ще немає | |||
|} | |||
= | path_class = 'components/k2production/k2production/k2equipment' | ||
<pre> | |||
components/ | |||
Компонента повинна мати документацію для різних груп користувачів.</pre> | |||
{% if error %} | |||
<pre> | |||
Отримати id поточного контрагента: | |||
Ресурси компоненти зберігаються у стандартних каталогах: | |||
<code>K2ReportEmbed</code>застосовують, коли потрібно для вбудовування звітів у вебзастосунок. | Для розробників K2 ERP Python | |||
|- | |||
| Що описує документ? SEO-опис | |||
<code>check_lead()</code> перевіряє, чи існує контакт із заданим номером телефону в таблиці <code>k2contacts</code>. Значення <code>name</code> | |||
Метод збирає інформаційні дані по товарах, організації, контрагенту, складу, договору, відповідальній особі та клієнту, після чого повертає результат у JSON-форматі. Каталог | |||
== Логування та повідомлення K2 == | |||
K2().get_user_permissions() | |||
<div style="border:2px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
Отримати права поточного користувача: | |||
|- | |||
| <code>/static</code> | |||
| Зображення, тексти, JavaScript, CSS та інші статичні ресурси | |||
|- | |||
| <code>/static/img</code> | |||
| Іконки та зображення компоненти | |||
|- | |||
| <code>/templates</code> | |||
| Шаблони компоненти | |||
|- | |||
| <code>/yml</code> | |||
| YML-конфігурації | |||
|- | |||
| <code>/data</code> | |||
| інформаційні дані компоненти, якщо вони потрібні | |||
|} | |||
date_to | |||
</pre> | |||
Приклад отримання абсолютного шляху: | |||
</gallery> | |||
│ ├── models.py | |||
! Атрибут | |||
{| class="wikitable" style="width:100%;" | |||
] | |||
!== Локалізації == | |||
* створення звітів; | |||
* робота з конструктором звітів; | |||
* керування друкованими формами; | |||
* генерація друкованих документів; | |||
* взаємодія з API Stimulsoft; | |||
* візуалізація та експорт звітів. Дія | |||
Клас містить методи для обробки запитів на затвердження змін у технічній документації обладнання. k2report_embed = K2ReportEmbed(reports_id) | |||
== Клас K2CRM == | |||
Приклад: | |||
== Методи класу K2 == | |||
<pre> | <pre> | ||
/languages/en/LC_MESSAGES/messages.mo | /languages/en/LC_MESSAGES/messages.mo | ||
{| class="wikitable" style="width:100%;" | |||
├── __init__.py | |||
K2().get_current_user() | |||
У компоненті має бути вказане авторство.<pre> | |||
Шаблони мають бути розроблені так, щоб не конфліктувати з глобальними шаблонами системи. K2.get_platform() | |||
{| class="wikitable" style="width:100%;" | |||
removeBootstrapLoader(containerId) | |||
datasource_value = ["SELECT * FROM table1", "SELECT * FROM table2"] | |||
! | Від <code>K2Obj</code> | |||
|- | |||
| Де описуються залежності компонент?<code>K2Production</code> застосовується для для виробничих процесів. Призначення | |||
Метод здатна зберігати повідомлення в журналі та відправляти його клієнту через Socket.IO. Призначення | |||
) | |||
Клас взаємодіє з базою даних, керує файлами звітів і генерує JSON-дані для подальшого використання.</div> | |||
</ | |||
Видаляє анімацію завантаження з контейнера. У K2 ERP використовуються допоміжні JavaScript-функції для роботи з інтерфейсом, зображеннями, завантаженням і повідомленнями користувачу.<code>K2Obj</code> — базовий клас для об’єктів системи K2 ERP. Призначення | |||
= | yml_path = K2.search_yml('users') | ||
[[Категорія:Документація для розробників]] | |||
Ця сторінка потрібна для того, щоб розробники K2 ERP працювали з компонентами в єдиному стилі. reports_id = [ | |||
<pre> | |||
!</pre> | |||
== Клас K2EquipmentFunction == | |||
<pre> | |||
! * як має виглядати структура компоненти; | |||
* які файли виступає як обов’язковими; | |||
* де зберігати моделі, роути, хуки й додаткові об’єкти; | |||
* як описувати залежності; | |||
* як оформлювати документацію для користувачів і розробників; | |||
* які базові класи доступні в ядрі K2 ERP; | |||
* як використовувати системні API; | |||
* які JavaScript-допоміжні функції доступні для інтерфейсу. Поле | |||
== | Отримати поточного користувача: | ||
Додає анімацію завантаження у вказаний контейнер. │ ├── schema/ | |||
{| class="wikitable" style="width:100%;" | |||
</pre> | |||
|- | |||
| <code>designer()</code> | |||
| Відображає сторінку редагування друкованої форми | |||
|- | |||
| <code>viewer()</code> | |||
| Відображає сторінку перегляду друкованої форми | |||
|- | |||
| <code>dashboard_viewer()</code> | |||
| Відображає сторінку перегляду дашборду | |||
|- | |||
| <code>dashboard_designer()</code> | |||
| Відображає сторінку редагування дашборду | |||
|- | |||
| <code>json_data_create(...)</code> | |||
| Створює JSON-дані на основі джерел даних і періоду | |||
|- | |||
| <code>save_report_id()</code> | |||
| Зберігає ідентифікатор і конфігурація звіту | |||
|- | |||
| <code>mrt_report_create(report_id, design_type_id=None)</code> | |||
| Створює MRT-файл звіту на основі шаблону | |||
|- | |||
| <code>table_report_data(datasource_value, datasource_keys)</code> | |||
| Обробляє SQL-дані для джерел звіту | |||
|- | |||
| <code>save_info_report_designer()</code> | |||
| Зберігає інформацію про звіт і генерує MRT-файл | |||
|- | |||
| <code>data_source_lists_creating(group_reports_id)</code> | |||
| Створює списки джерел даних для звіту | |||
|} | |||
=== Основні властивості інстансу === | |||
Документація оптимізує зрозуміти: | |||
def test_dashboard(): | |||
Приклад: | |||
json_data = k2_designer.json_data_create( | |||
= | <code>K2</code> — це ядро системи K2 ERP. |- | ||
| <code>models.py</code> | |||
| ORM-структури та моделі бази даних компоненти | |||
|- | |||
| <code>views.py</code> | |||
| провідний клас компоненти, роути та API | |||
|- | |||
| <code>objects/</code> | |||
| Додаткові класи, від яких залежить функції ERP компоненти | |||
|- | |||
| <code>hooks.py</code> | |||
| Хуки для розширення або зміни стандартної поведінки системи | |||
|- | |||
| <code>requirements-components.txt</code> | |||
| Залежності від інших компонент K2 ERP | |||
|- | |||
| <code>requirements.txt</code> | |||
| Python-залежності компоненти | |||
|- | |||
| <code>README.md</code> | |||
| SEO-опис цілі компоненти, способу використання та важливих приміток | |||
|- | |||
| <code>history.txt</code> | |||
| історія продукту змін, написана зрозумілою для користувача мовою | |||
|- | |||
| <code>doc/</code> | |||
| Документація, схеми, бізнес-процеси та інструкції | |||
|- | |||
| <code>tests/</code> | |||
| Юніт-тести компоненти | |||
|- | |||
| <code>examples/</code> | |||
| Приклади використання компоненти | |||
|- | |||
| <code>widgets/</code> | |||
| Віджети, дашборди та візуальні елементи | |||
|- | |||
| <code>languages/</code> | |||
| Локалізації та переклади | |||
|- | |||
| <code>static/</code> | |||
| Зображення, стилі, JavaScript, текстові ресурси | |||
|- | |||
| <code>templates/</code> | |||
| Шаблони компоненти | |||
|- | |||
| <code>yml/</code> | |||
| YML-конфігурації | |||
|} | |||
Метод відправляє запит на затвердження змін у технічній карті обладнання. Метод | |||
</pre> | </pre> | ||
'''Принцип.''' Компонента повинна бути самодостатньою, але не повинна ламати глобальну структуру K2 ERP. Призначення | |||
Файли перекладів зберігаються у структурі: | |||
== Клас K2Production == | |||
=== Приклад backend Flask === | |||
== Права користувача == | |||
{{DISPLAYTITLE:Класи та команди K2 ERP Python}} | |||
* <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> — активність. requirements-components.txt | |||
== Клас K2Obj == | |||
=== | Окремо варто відзначити створюють компоненти, підключають системні класи, використовують API, пишуть документацію, тести і допоміжні JavaScript-функції виступає ключовою рисою розробників забезпечується через '''Класи та команди K2 ERP Python'''.=== Основні методи K2DocsCRM === | ||
=== | === Основні функції ERP === | ||
* <code>K2ReportEmbed</code>; | |||
* <code>K2ReportDesigner</code>. Клас наслідується від <code>K2Obj</code> і виступає як батьківським класом для: | |||
! Якщо контакт не знайдено, відповідні поля очищаються. Група | |||
{% else %} | |||
└── setup.py | |||
<code>process_options()</code> обробляє JSON-запит і налаштовує K2Grid залежно від значення параметра <code>name</code>. SEO-опис | |||
datasource_value, | |||
<pre> | <pre> | ||
!=== Основні групи методів === | |||
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;"> | |||
K2_Cloud_ERP_Python_01.png|Ілюстрація K2 ERP Python|посилання=Файл:K2_Cloud_ERP_Python_01.png | |||
</ | [[Категорія:API]] | ||
<code>K2ReportDesigner</code> надає функціональність для створення, редагування та перегляду звітів і дашбордів. Метод | |||
створення звітів | |||
<pre> | <pre> | ||
|- | |||
| <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 | |||
|} | |||
! SEO-опис | |||
Компонента K2 ERP повинна мати стандартизовану структуру.<pre> | |||
! Призначення | |||
Для компонент K2 застосовується для стандартний формат: | |||
== Клас K2UpdateRemainder == | |||
'49952f397efff44d7ce0e5cb9aa625fb' | |||
<pre> | |||
K2 має методи для збереження, завантаження та відправлення повідомлень користувачу. | <code>K2</code> | |||
|- | |||
| Від чого наслідуються об’єкти системи?== Ресурси компоненти == | |||
'k2dashboard_production/k2dashboard_production.html', | |||
Інструкція користувача повинна автоматизовано підтягуватися системою документації K2 ERP, створюючи окремий розділ документації для встановленого продукту.<pre> | |||
{% endif %} | |||
== Клас K2LogbookTMDoc == | |||
<code>K2EquipmentFunction</code> — підклас <code>K2Obj</code>, призначений для роботи з функціональністю обладнання в K2 ERP. Призначення | |||
</pre> | </pre> | ||
! |- | |||
| <code>self.secur</code> | |||
| Підключення класу безпеки | |||
|- | |||
| <code>self.path</code> | |||
| Підключення класу пошуку шляхів | |||
|- | |||
| <code>self.data</code> | |||
< | | Підключення класу синхронізації даних | ||
|- | |||
| <code>self.settings</code> | |||
| Підключення класу налаштувань | |||
|- | |||
| <code>self.notifications</code> | |||
| Підключення класу сповіщень | |||
|} | |||
usr_perm = K2().get_user_permissions() | usr_perm = K2().get_user_permissions() | ||
{| class="wikitable" style="width:100%;" | |||
! Метод | |||
{| class="wikitable" style="width:100%;" | |||
# отримує JSON із <code>lead_id</code>; | |||
# перевіряє, чи передано <code>lead_id</code>; | |||
# шукає лід у таблиці <code>k2lead</code>; | |||
# створює запис у таблиці <code>k2contacts</code>; | |||
# у разі помилки скасовує транзакцію та повертає SEO-опис помилки.<div style="border:3px solid #1565c0; background:#e3f2fd; padding:14px; margin:16px 0;"> | |||
== Метод check_lead() == | |||
[[Категорія:K2 ERP]] | |||
=== Атрибути === | |||
<code>K2LogbookTMDoc</code> керує логбуком технічного обслуговування. Призначення | |||
== Приклад структури компоненти == | |||
'''Коротко.''' Компонент K2 ERP має бути не без зусиль набором Python-файлів. Значення | |||
datasource_keys = ["table1_data", "table2_data"] | |||
Приклад команди: | |||
<pre> | |||
return render_template( | |||
! Що зберігається | |||
</ | │ ├── static/ | ||
|- | |||
| <code>images</code> | |||
| Масив URL-адрес зображень | |||
|- | |||
| <code>containerId</code> | |||
| Ідентифікатор контейнера для вставки слайдера | |||
|} | |||
! |- | |||
| <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> | |||
| Завершення сесій користувача на рівні БД | |||
|} | |||
) | |||
│ │ └── roles.py | |||
{| class="wikitable" style="width:100%;" | |||
<pre> | |||
|- | |||
| <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> | |||
| Отримує список авторизованих користувачів | |||
|} | |||
Згенерувати ID: | |||
</pre> | </pre> | ||
/languages/en/LC_MESSAGES/messages.po | |||
page_url='/kadm/users', | |||
|- | |||
| <code>generate_id()</code> | |||
| Генерація ID | |||
|- | |||
| <code>compare_versions(version1, version2)</code> | |||
| Порівняння версій | |||
|- | |||
| <code>get_platform()</code> | |||
| Визначення операційної системи | |||
|- | |||
| <code>get_locale()</code> | |||
| Визначення поточної мови | |||
|- | |||
| <code>get_locale_id()</code> | |||
| Визначення id поточної мови | |||
|- | |||
| <code>get_active_lang_list()</code> | |||
| Отримання списку активних мов | |||
|- | |||
| <code>get_user_role(user_id)</code> | |||
| Отримання <code>roleid</code> користувача | |||
|- | |||
| <code>get_current_user_role_name()</code> | |||
| Отримання role name поточного користувача | |||
|- | |||
| <code>get_path_abs(caller_file)</code> | |||
| Абсолютний шлях до файлу, в якому виконується код | |||
|- | |||
| <code>get_path_to_root(caller_file)</code> | |||
| Відносний шлях до кореня | |||
|- | |||
| <code>search_yml(name_yml)</code> | |||
| Пошук YML-файлу в каталогах компонент | |||
|- | |||
| <code>search_comp_names()</code> | |||
| Пошук ідентифікаторів компонент | |||
|- | |||
| <code>load_babel_translation_directories()</code> | |||
| Завантаження перекладів | |||
|} | |||
!<pre> | |||
datasource_is_counterpart_id = [True, False] | |||
showBootstrapLoader(containerId) | |||
<pre> | <pre> | ||
== Клас K2ReportDesigner == | |||
! │ └── additional_developer_docs/ | |||
! ![[Категорія:K2 ERP Python]] | |||
== K2 ERP JavaScript == | |||
Повертає ідентифікатор створеного каруселя або модального вікна.== Методи авторизації користувачів == | |||
! Призначення | |||
K2.logging_message(status, message, page_url=None, show_message=True) | |||
└── k2adm/ | |||
== Системні класи == | |||
</pre> | </pre> | ||
[[Категорія:K2 CRM]] | |||
pydoc -w k2/k2obj.py | |||
'1673a4fab757fb6c5df970fdc6ee680c', | |||
У K2 ERP використовуються щонайменше українська та англійська мови. date_to = "2023-12-31" | |||
K2.get_path_to_root(__file__) | |||
Відображає повідомлення користувачу у вигляді Bootstrap Toast. │ ├── history.txt | |||
show_message=False | |||
Клас відповідає за базові параметри домену, підключення до бази даних, мову, поточного користувача, список компонентів, конфігурація, доступи, сесії та службові методи. Статус | |||
!</pre> | |||
[[Категорія:K2 Report]] | |||
Поточна версія на 17:53, 1 травня 2026
Клас K2ReportEmbed
K2.logging_message(
Основні методи K2Report
│ ├── roles/
Документ описує загальні вимоги до компонентів K2 ERP, базові системні класи, структуру компонентів, правила документування та приклади використання окремих класів. Це потрібно для того, щоб систему можна було оновлювати, документувати, тестувати й підключати до інших модулів без ручного хаосу. ! Параметри:
{% endblock %}
domain_name
|
Назва домену |
domain_protocol
|
Протокол домену |
domain
|
Поточний домен |
port
|
Порт |
db
|
Підключення до бази даних |
default_language
|
Мова за замовчуванням |
Створює слайдер зображень у контейнері або модальному вікні. SEO-опис
Приклади використання K2
|-
| __init__()
| Ініціалізація об’єкта
|-
| content()
| Формування контенту
|-
| create_names_yml()
| Створення назв YML-конфігурацій
|-
| search_class_prop()
| Пошук властивостей для розширення класу
|-
| select_grid()
| Вибір grid
|-
| show_grid()
| Відображення grid
|}
! | Слайдер зображень, loader, видалення loader та повідомлення користувачу |}
Системні класи K2 ERP забезпечують базову роботу ядра, об’єктів, безпеки, шляхів, даних, налаштувань, повідомлень, перекладів і оновлень. Створити користувача на рівні бази даних:
current_user_permissions = K2().get_user_permissions()
Copyright © 2000-2025 К2®, Rudiuk Serhii. це технічна документація; так само реалізовано які працюють із Python-версією K2 ERP. |-
| create_contact()
| Створює контакт на основі даних ліда
|-
| check_lead()
| Перевіряє, чи існує контакт із заданим телефоном
|-
| crm_data(route, data)
| Отримує інформаційні дані для друкованих форм CRM
|-
| process_options()
| Обробляє параметри JSON-запиту й налаштовує об’єкти K2Grid
|}
removeBootstrapLoader()
!
K2().create_db_role(user_name, password)
! SEO-опис
showUserAlert(message, type = 'light')=== createImageSliderModal() ===
Призначення документаМетод create_contact()K2.get_path_abs(__file__) file_class = 'k2equipment' Клас K2Report | |
|---|---|
name
|
Назва компоненти |
version
|
реліз системи компоненти |
Приклади:
dashboard_settings=k2report_embed
! Клас
Клас так само наслідується від K2Obj. Призначення
k2log==2.0.0.2 k2grid==2.0.4.1
create_contact() створює контакт на основі даних існуючого ліда. Метод
! Метод базовий метод: == Вимоги до компоненти K2 ERP ==
Основні атрибути
-
У каталозі
languages/
│ ├── models.py
! Атрибут
]== Локалізації ==
Клас містить методи для обробки запитів на затвердження змін у технічній документації обладнання. k2report_embed = K2ReportEmbed(reports_id) Клас K2CRMПриклад: Методи класу K2/languages/en/LC_MESSAGES/messages.mo
{| class="wikitable" style="width:100%;"
├── __init__.py
K2().get_current_user()
У компоненті має бути вказане авторство.<pre>
Шаблони мають бути розроблені так, щоб не конфліктувати з глобальними шаблонами системи. K2.get_platform()
{| class="wikitable" style="width:100%;"
removeBootstrapLoader(containerId)
datasource_value = ["SELECT * FROM table1", "SELECT * FROM table2"]
! | Від <code>K2Obj</code>
|-
| Де описуються залежності компонент?<code>K2Production</code> застосовується для для виробничих процесів. Призначення
Метод здатна зберігати повідомлення в журналі та відправляти його клієнту через Socket.IO. Призначення
)
Клас взаємодіє з базою даних, керує файлами звітів і генерує JSON-дані для подальшого використання.</div>
Видаляє анімацію завантаження з контейнера. У K2 ERP використовуються допоміжні JavaScript-функції для роботи з інтерфейсом, зображеннями, завантаженням і повідомленнями користувачу.<code>K2Obj</code> — базовий клас для об’єктів системи K2 ERP. Призначення
yml_path = K2.search_yml('users')
[[Категорія:Документація для розробників]]
Ця сторінка потрібна для того, щоб розробники K2 ERP працювали з компонентами в єдиному стилі. reports_id = [
<pre>
!
Клас K2EquipmentFunction
! * як має виглядати структура компоненти;
* які файли виступає як обов’язковими;
* де зберігати моделі, роути, хуки й додаткові об’єкти;
* як описувати залежності;
* як оформлювати документацію для користувачів і розробників;
* які базові класи доступні в ядрі K2 ERP;
* як використовувати системні API;
* які JavaScript-допоміжні функції доступні для інтерфейсу. Поле
Отримати поточного користувача:
Додає анімацію завантаження у вказаний контейнер. │ ├── schema/
{| class="wikitable" style="width:100%;"
| |
|---|---|
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)
|
Створює списки джерел даних для звіту |
Основні властивості інстансу
Документація оптимізує зрозуміти:
def test_dashboard():
Приклад:
json_data = k2_designer.json_data_create(
K2 — це ядро системи K2 ERP. |-
| models.py
| ORM-структури та моделі бази даних компоненти
|-
| views.py
| провідний клас компоненти, роути та API
|-
| objects/
| Додаткові класи, від яких залежить функції ERP компоненти
|-
| hooks.py
| Хуки для розширення або зміни стандартної поведінки системи
|-
| requirements-components.txt
| Залежності від інших компонент K2 ERP
|-
| requirements.txt
| Python-залежності компоненти
|-
| README.md
| SEO-опис цілі компоненти, способу використання та важливих приміток
|-
| history.txt
| історія продукту змін, написана зрозумілою для користувача мовою
|-
| doc/
| Документація, схеми, бізнес-процеси та інструкції
|-
| tests/
| Юніт-тести компоненти
|-
| examples/
| Приклади використання компоненти
|-
| widgets/
| Віджети, дашборди та візуальні елементи
|-
| languages/
| Локалізації та переклади
|-
| static/
| Зображення, стилі, JavaScript, текстові ресурси
|-
| templates/
| Шаблони компоненти
|-
| yml/
| YML-конфігурації
|}
Метод відправляє запит на затвердження змін у технічній карті обладнання. Метод
Принцип. Компонента повинна бути самодостатньою, але не повинна ламати глобальну структуру K2 ERP. Призначення
Файли перекладів зберігаються у структурі:
Клас K2Production
Приклад backend Flask
Права користувача
r— читання;w— запис;i— вставка;d— видалення;c— створення;exp— експорт;imp— імпорт;del_— відновлення;settable— конфігурація таблиці;cutpast— вирізати / вставити;enable— доступність;active— активність. requirements-components.txt
Клас K2Obj
Окремо варто відзначити створюють компоненти, підключають системні класи, використовують API, пишуть документацію, тести і допоміжні JavaScript-функції виступає ключовою рисою розробників забезпечується через Класи та команди K2 ERP Python.=== Основні методи K2DocsCRM ===
Основні функції ERP
K2ReportEmbed;K2ReportDesigner. Клас наслідується відK2Objі виступає як батьківським класом для:
! Якщо контакт не знайдено, відповідні поля очищаються. Група
{% else %}
└── setup.py
process_options() обробляє JSON-запит і налаштовує K2Grid залежно від значення параметра name. SEO-опис
datasource_value,
!=== Основні групи методів ===
<div style="border:2px solid #f57c00; background:#fff3e0; padding:14px; margin:16px 0;">
K2_Cloud_ERP_Python_01.png|Ілюстрація K2 ERP Python|посилання=Файл:K2_Cloud_ERP_Python_01.png
[[Категорія:API]]
<code>K2ReportDesigner</code> надає функціональність для створення, редагування та перегляду звітів і дашбордів. Метод
<pre>
|-
| <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
|}
! SEO-опис
Компонента K2 ERP повинна мати стандартизовану структуру.<pre>
! Призначення
Для компонент K2 застосовується для стандартний формат:
== Клас K2UpdateRemainder ==
'49952f397efff44d7ce0e5cb9aa625fb'
<pre>
K2 має методи для збереження, завантаження та відправлення повідомлень користувачу. | <code>K2</code>
|-
| Від чого наслідуються об’єкти системи?== Ресурси компоненти ==
'k2dashboard_production/k2dashboard_production.html',
Інструкція користувача повинна автоматизовано підтягуватися системою документації K2 ERP, створюючи окремий розділ документації для встановленого продукту.<pre>
{% endif %}
== Клас K2LogbookTMDoc ==
<code>K2EquipmentFunction</code> — підклас <code>K2Obj</code>, призначений для роботи з функціональністю обладнання в K2 ERP. Призначення
! |-
| self.secur
| Підключення класу безпеки
|-
| self.path
| Підключення класу пошуку шляхів
|-
| self.data
| Підключення класу синхронізації даних
|-
| self.settings
| Підключення класу налаштувань
|-
| self.notifications
| Підключення класу сповіщень
|}
usr_perm = K2().get_user_permissions()
Метод
Метод check_lead()Атрибути
Приклад структури компонентиКоротко. Компонент K2 ERP має бути не без зусиль набором Python-файлів. Значення datasource_keys = ["table1_data", "table2_data"] Приклад команди:
return render_template(
! Що зберігається
│ ├── static/
|-
| <code>images</code>
| Масив URL-адрес зображень
|-
| <code>containerId</code>
| Ідентифікатор контейнера для вставки слайдера
|}
! |-
| <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>
| Завершення сесій користувача на рівні БД
|}
)
│ │ └── roles.py
{| class="wikitable" style="width:100%;"
<pre>
|-
| <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>
| Отримує список авторизованих користувачів
|}
Згенерувати ID:
/languages/en/LC_MESSAGES/messages.po page_url='/kadm/users',
|
datasource_is_counterpart_id = [True, False] showBootstrapLoader(containerId) <pre> == Клас K2ReportDesigner == ! │ └── additional_developer_docs/ ! ![[Категорія:K2 ERP Python]] == K2 ERP JavaScript == Повертає ідентифікатор створеного каруселя або модального вікна.== Методи авторизації користувачів == ! Призначення K2.logging_message(status, message, page_url=None, show_message=True) └── k2adm/ == Системні класи == pydoc -w k2/k2obj.py '1673a4fab757fb6c5df970fdc6ee680c', У K2 ERP використовуються щонайменше українська та англійська мови. date_to = "2023-12-31" K2.get_path_to_root(__file__) Відображає повідомлення користувачу у вигляді Bootstrap Toast. │ ├── history.txt show_message=False Клас відповідає за базові параметри домену, підключення до бази даних, мову, поточного користувача, список компонентів, конфігурація, доступи, сесії та службові методи. Статус |
|---|