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

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

Матеріал з K2 ERP Wiki
Версія від 21:16, 28 квітня 2026, створена R (обговорення | внесок) (Прибрав слово Cloud)

Пошук властивостей для розширення класу

{% include dashboard_settings.template %}

Відправка запиту на затвердження: Метод очікує вхідні інформаційні дані у форматі JSON і доступ до них здійснюється через request.json.; Відображає сторінку редагування дашборду.; Якщо запису немає – створює його.;=== Клас K2Site ===

Клас k2upd

K2.logging_message(K2.log_error, 'Operation completed with error.')

session (Session) – об'єкт сесії бази даних.; unitId (str) – одиниця виміру (конвертується за фіксованим списком).; Структури, які потрібні для даної компоненти.;==== dashboard_viewer() ====

""" Index page """

__TOC__

itemId (str) – ідентифікатор номенклатури.;<pre>
Повернення результату у форматі JSON
date_to (str, опціонально): Кінцева дата періоду.; Витягує інформаційні дані про залишки (inventSumLines).; period = 1

Логує помилку у разі невдалої вставки даних.;[[index.php?title=Категорія:Документація для розробників]]

=== Клас k2data ===

[[Index.php?title=Категорія:K2 Cloud ERP|index.php?title=Категорія:K2 ERP]]

dashboard_settings=k2report_embed)
current_user_permissions = K2().get_user_permissions()

Request information about the running threads of the current process.; (файл requirements-components.txt)

<pre>

Виклик K2.get_path_abs(__file__)
Перевіряє чи було надано lead_id.;==== get_user_role(user_id) ====

Формує SQL-запити для витягування даних із таблиць бази даних (Товари, Організація, Контрагент, складський облік, Договір, Відповідальна особа, замовник).;==== Залежності ====
актуалізація залишків на основі даних Pub/Sub.; Returns:

Формування повідомлення:

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

This method emits a message to the client with a given status and message content.;== K2 ERP Javascript ==
Rerurn: list of components identificators

Формує URL для сторінки затвердження

Викликає конструктор батьківського класу K2Docs.; page_url(str): url of page with Errors.;=== Клас K2Report ===

datasource_is_storage_id (list): Список флагів, що вказують на наявність storage_id.; name (str): Name of the object (page) to load messages for.; З цього класу створюються всі об’єкти системи К2.; Призначення: застосовують, коли потрібно для зберігання та обробки даних, пов'язаних з CRM.; status (str): The status of the message (e.g., cls.log_error - 'ERROR', cls.log_warning - 'WARNING', cls.log_success - 'SUCCESS').;==== designer() ====

Передаються параметри: row_id та storage_id.;==== Методи ====

Шукає ліда в таблиці k2lead за наданим параметром.;==== search_babel_translation_directories() ====

[[index.php?title=Категорія:Python]]

<pre>

==== Класk2notifications ====

Save a logging message to the stack.;<pre>

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

=== Клас K2admin_menus ===

Зележності від інших компонент.;==== dashboard_designer() ====

== API ==

Методи

Призначення: застосовується для побудови URL-адрес або інших задач, пов'язаних з доменним середовищем.; Якщо lead_id не надано то повертається помилка.;==== get_user_permissions() ==== Parameters: Приклад використання функції: Логіка роботи: The search is performed in the 'yml' subdirectory of each caller directory.; Передає список затверджувачів, ідентифікатор об'єкта, URL та характеристика змін

K2.logging_message(status=K2.log_success, message='Operation completed successfully.', page_url='/kadm/users', show_message=False)

Вимикаються кнопки: add, edit, delete, printReport.;==== save_logging_message(error_id, status, message, name) ====

id = K2.generate_id()

process_options - Метод обробляє різні параметри, передані через JSON-запит, і налаштовує об'єкти типу K2Grid для роботи з даними в залежності від значення ключа name у вхідних даних.; name_yml_master: str = )

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

Властивості

k2report_embed = K2ReportEmbed(reports_id)

Даний клас формує список пунктів меню для конкретного користувача

Генерація ID

Створює JSON-дані на основі джерел даних та періоду.; This method fetches permissions for the current user based on the URL they are accessing.; Returns:

get_locale()

Зберігає ідентифікатор та конфігурація звіту в JSON-файл.; Об'єкт класу K2UpdateRemainder.; Таблиця, в яку додається новий контакт на основі даних ліда.;


self._name_yml #назва конфігураційного файлу

Видаляє застарілі ('old').;=== Клас k2secur ===

Використовує K2Notifications.send_approval_request() для відправки повідомлення

З options [‘dataField’] отримує номер телефону (phone)

Перевірка наявності записів з parentid:

Parameters:

json_data = k2_designer.json_data_create(datasource_value, datasource_keys, datasource_is_counterpart_id, datasource_is_storage_id, period, date_from, date_to)

self._name_yml_tree #назва конфігураційного файлу з деревом


== K2 ERP Python ==

==== update_pub_sub_remainder() ====

str: HTML-шаблон сторінки редагування дашборду.; 'stable' – залишки, які підтвердились та доступні користувачам.; Перевіряє наявність номенклатури у таблиці k2nomenclature.; self._new_buttons #назва кнопки

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

==== logging_message(status, message, page_url=None, show_message=True) ====

{% endif %}

date_from (str, опціонально): Початкова дата періоду.; Лід і контакт взаємодіють через базу даних, де інформаційні дані ліда переносяться в таблицю контактів.; check_lead() - Цей метод перевіряє, чи існує контакт із заданим номером телефону у базі даних (k2contacts).; Вимикаються кнопки add, edit, delete, printReport на панелі інструментів.; Цей клас представляє CRM компонент, який гарантує роботу з різними розділами CRM системи такими як:
self._data_source #датасети
<pre>
==== взаємодія з API Stimulsoft для візуалізації та експорту звітів ====

version #реліз компоненти

return render_template('k2dashboard_production/k2dashboard_production.html',

Виконує SQL-запит до таблиці k2contacts для пошуку контакту за номером телефону.;==== Метод очікує вхідний JSON, що містить ідентифікатор ліда (lead_id) ====

Клас K2Grid

This method searches for a yml file with a specified name in the caller directories of all subclasses of K2Obj.;===

Атрибути

path_class: 'components/k2production/k2production/k2equipment'

file_class: 'k2equipment'

Методи

init(self) ==== Параметри ==== Логіка роботи

content(self)

Потребує доступу до бази даних через self.db

==== ins_search_comp() ====

period (int): Період вибірки даних.; Створюється об'єкт K2Grid з іменем yml 'k2doc_move'.;== Вимоги до створення компонент ==

{% else %}

k2form==2.0.1.27

Python залежності, якщо є. (файл requirements.txt)

Readme.md. Файл в якому написана ціль компоненти, як її використовувати. Та різні моменти, які потрібно знати програмістам, адмінам та користувачам

Історія змін. Документ, в якому описуються зміни текстом, зрозумілим для користувачів. (файл history.txt)

Структура бази даних. На даний час, в форматі SQL power Architech. (каталог doc/schema)

Бізнес-процеси, схеми роботи, які були втілені в проудкті. В форматі Draw.io. (каталог doc/business_processes)

Інструкція користувача. Де розписано, як користуватись продуктом. Інструкція користувача повинна автоматично підтягуватись системою документації K2 ERP, додаючи розділ документації для цього продукту і надаючи можливість пошуку інформації в документації. Зберігається в каталозі: doc/user_manual)

Документацію для розробників, що генерується автоматично з коментарів. Зберігається в каталозі: doc/developer_documentation )

(потрібно завершити автоматичне збирання із компонент)

Документація для розробників (не обов’язково, але желательно). Додатково, якщо потрібно, щось додатково відмітити. Каталог doc/additional_developer_docs)

Приклади програмного коду з використанням компонент. Які автоматично з’являються в Examples при встановленні компоненти. І по яким можна протестувати функціонал. /examples (потрібно вирішити як додавати)

Віджети. Дашборди та інші візуальні елементи для вставки на головну сторінку та інші сторінки, які можна додавати автоматично. (потрібно вирішити як додавати) /widgets

Юніт тести. Написати де і яка структура. Юніт тести повинні автоматично знаходитись системою і використовуватись для загального тестування системи. Каталог /tests (потрібно завершити автоматичне збирання із компонент)

Локалізації. В К2 використовуються щонайменше: українська та англійська мова. Ядро повинно вміти робити переклади і давати можливість працювати з перекладами стороннім користувачам, покращуючи якість перекладу. Зберігається в каталозі:

/languages/en/LC_MESSAGES/messages.po
/languages/en/LC_MESSAGES/messages.mo

Демо-дані. Це дані, які розгортаються на демо-базі даних для демонстрації роботи з продуктом. (потрібно вирішити як додавати)

Файли ресурсів (зображення, тексти): Каталог /static

YML, якщо є. Каталог /yml

Іконки, які будуть використовуватись для представлення компоненти. Каталог /static/img

Авторство. Якщо К2, то в форматі, як прийнято в цілому для К2, якщо сторонній розробник - інформація про стороннього розробника. Copyright © 2000-2025 К2®, Rudiuk Serhii. All rights reserved.

Шаблони, якщо є. Вказуємо каталог. Звертаю увагу, що К2 ERP повинна мати змогу використовувати не обмежену кількість шаблонів. Шаблони повинні бути так розроблені, щоб не конфліктувати з глобальними шаблонами системи. Каталог /templates

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

components/
└── k2adm/
├── k2adm/
│ ├── data/
│ ├── languages/
│ ├── static/
│ ├── templates/
│ ├── yml/
│ ├── tests/
│ ├── examples/
│ ├── widgets/
│ ├── __init__.py
│ ├── objects/
│ ├── users/users.py
│ ├── roles/roles.py
│ ├── forms.py
│ ├── history.txt
│ ├── hooks.py
│ ├── models.py
│ ├── views.py│
├── __init__.py
├── doc/
├── schema/
├── business_processes/
├── user_manual/
├── developer_documentation/
├── additional_developer_docs/
├── history.txt
├── requirements-components.txt
├── requirements.txt
├── setup.py

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

Клас K2

Ядро системи K2CloudERP.

Властивості

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

self.secur #властивість що підключає до ядра клас безпеки

self.path #властивість що підключає до ядра клас пошуку шляхів по ієрархії self.data #властивість що підключає до ядра клас синхронізації даних

self.settings #властивість що підключає до ядра клас збереження та пошуку налаштувань

self.notifications #властивість що підключає до ядра клас створення та відправки сповіщень ==== K2().domain

Методи

Методи інстансу ==== K2().get_user_counterparts_id() ==== K2().component_list() ==== K2().get_user_project_name() ==== K2().get_current_user() ==== K2().create_db_role(user_name, password)

__init__(self, *args, **kwargs)

Initialize self. See help(type(self)) for accurate signature.

add_authorized_users(self, user_id, login)

Додати користувача до списку авторизованих

check_authorized_users(self, user_id)

Перевірити чи користувач системи активний

check_logout_users(self, user_id)

Авторизовані користувачі

component_list()

Пошук встановлених компонент

create_db_file_config_user(self)

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

create_db_role(self, user_name, password)

Створення користувача на рівні БД

current_template(self)

Search current template

db_custom_engine(self, db)

Зміна custom параметрів підключення

db_user_engine(self, db)

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

dell_authorized_users(self, user_id)

Видалити користувача зі списку авторизованих

drop_db_role(self, user_name)

Видалення користувача на рівні БД

get_all_subclasses(cls)

Пошук підкласів

get_authorized_users(self)

Отримати список авторизованих користувачів

get_current_user(self)

Повертає об’єкт поточного користувача

K2().get_current_user()

get_menu_url(self)

Повертає список url активних пунктів меню

get_project_setting(self)

Форма зміни проекту

get_user_counterparts_id(self)

Пошук id поточного контрагента

K2().get_user_counterparts_id()

get_user_counterparts_name(self)

Пошук назви поточного контрагента

K2().get_user_counterparts_name()

get_user_project_id(self)

Пошук id поточного проекту користувача

K2().get_user_project_id()

get_user_project_name(self)

Пошук назви поточного проекту користувача

K2().get_user_project_name()

get_user_stoages_name(self)

Пошук назви поточного складу

K2().get_user_stoages_name()

get_user_storage_id(self)

Пошук id поточного складу

K2().get_user_storage_id()

get_user_structural_division_id(self)

Пошук id поточного підрозділу

K2().get_user_structural_division_id()

get_user_structural_division_id_tree(self)

Пошук всіх підрозділів за ієрархією від поточного підрозділу користувача у форматі tuple ('id1', 'id2', 'id3')

init_db(self)

Підключення db_uri для вибраної бази даних

init_db_custom(self, key)

Підключення custom db_uri за ключем.

init_db_uri(self)

Пошук і ініціалізація файлу з підключення до бази даних

init_db_uri_custom(self)

Зчитує всі підключення до бази даних з файлу db_custom.yml і зберігає їх у словник.

init_db_uri_user(self)

Пошук і ініціалізація файлу з підключення до бази даних для поточного користуача

init_db_user(self)

Підключення db_uri для користувача

init_lm(self, app)

Ініціалізація логін-менеджера

kill_user_sessions(self, target_username)

Завершення сесії підключення користувача на рівні БД

search_class_dict(self, parent_class=None)

Рекурсивний пошук властивостей нащадків базового класу

search_class_prop(path_objs) ==== search_menu_items(self)

Search menu items

search_menu_items_category(self)

Search menu items category

search_static_files(self)

url_map(self)

Методи класу

Вставляє нові записи у таблицю k2remainder_by_parties зі статусом 'new'.; У разі помилки скасовує транзакцію і повертає характеристика помилки.; порівняння версій

База даних, доступна через глобальний об'єкт K2.db.;==== get_platform() ==== Якщо тип обладнання не знайдено, повертає помилку 404

dict: The logging message if found, None otherwise.;==== Компоненти, які публікуються в K2 ERP повинні мати щонайменше такі атрибути ==== K2_Cloud_ERP_Python_01.png|Ілюстрація K2 ERP Python|посилання=Файл:K2_Cloud_ERP_Python_01.png документація з вимогами до створення компонентів забезпечується через K2 ERP Python; додатково реалізовано структури пакетів, системних класів, API, компонентних класів і допоміжних JavaScript-функцій системи K2 ERP виступає ключовою рисою розробників.; datasource_is_storage_id = [False, True]

Usage:

search_comp_names()

Клас K2Obj

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

Отримує список pub_sub_list_id з логів k2pubsub_logs.; Повертає:

str: HTML-шаблон сторінки перегляду.; Перевіряється значення ключа name у вхідних даних:

Клас K2CRM наслідується від K2Obj, всі властивості та методи отримуються від батьківського класу.

get_path_to_root(caller_file)

Load logging messages for the curren page from the error log file.; Example:

name #Назва компоненти.; Таблиця яка містить інформаційні дані про лідів.; self._report_id #id звіту

Використовує клас K2Notifications для відправки повідомлень

API

Масово оновлює статуси залишків:

Вивід списку ідентифікаторів компонент

Response: JSON-відповідь про результат збереження.; Пошук файлів з перекладами

Він надає доступ до ключових глобальних налаштувань та ресурсів, необхідних для роботи з документами або іншими функціями CRM.; Клас K2DocsCRM є собою частиною системи K2CRM і наслідується від K2Obj.

datasource_value = ["SELECT * FROM table1", "SELECT * FROM table2"] Clear all logging message by user Отримує список активних користувачів для затвердження з таблиці k2users_for_approval

Обробка k2doc_move:

коректну обробку часу в межах системи реалізується засобами Призначення:.; Алгоритм роботи:

{% if error %}

create_system_settings()

У разі успіху: JSON з повідомленням про успішну відправку (код 200) Parameters: datasource_keys (list): Список ключів для джерел даних.; message (str): The content of the message to be saved.;===

Методи класу

= k2logbook_tm() ==== take_logbook_tm(task_id) ==== edit_logbook_tm(logbook_fields_tm_id) ==== select_current_step(connection, logbook_fields_tm_id) ==== planned_tm(data, connection) ==== unplanned_tm(data, connection) ==== write_logbook_params(data) ==== read_logbook_params() ==== fill_logbook_tm_rows(data) ==== pull_spare_parts_data() ==== send_params_to_k2logbook_spare_parts(data) ==== instruments_and_equipment_parts_params() ==== task_step_form() ==== is_unplanned_step_form(step_data) ==== save_step(data) ==== end_step(data, session_id, connection, post_request) ==== step_image_check(connection, data) ==== step_data_check(connection, data) ==== decline_task() ==== write_user_comment() ==== end_step_manager(data) ==== detail_check(connection, data) ==== send_params_to_k2mount_point_form() ==== change_scheme_equipment() ==== pass_familiarisation() ==== create_write_off_act_logbook(connection, data) ==== create_doc_rows_for_write_of_act(connection, data) ==== write_off_part_logbook(connection, data) ==== end_logbook() ==== spare_parts_check() ==== equipment_qr_confirmation() ==== add_new_equipment_parts(connection, data) ==== material_quantity() ==== create_unplanned_task(data) ==== take_material_by_qr() ==== return_material_by_qr() ==== requires_partner() ==== join_task() ==== e_report_logbook(logbook_fields_tm_id) ==== get_all_employee_image() ==== get_employee_image() ==== get_image_logbook(image_data) ==== confirm_task() ==== send_on_revision_task() ==== send_to_the_task_list_revision() ==== change_task_employee(connection, data) ==== change_step_status_revision(connection, data) ==== change_task_status_revision(connection, data, status) ==== Клас K2EquipmentFunction

=== Клас K2EquipmentFunction є собою підкласом K2Obj і призначений для роботи з функціональністю, пов'язаною з обладнанням у системі K2.; У разі помилки повертає повідомлення з помилкою.; Додаткові класи від яких залежить функціональні можливості компоненти.; date_to = "2023-12-31"

Методи інстансу

Args:

namemenu(url)

K2.get_platform()

Виділяється doc_id із вхідних даних.; Повертає:

Exception: If an error occurs during database query execution.;==== select_grid(self) ====

= mrt_report_create(report_id, design_type_id=None) ==== table_report_data(datasource_value, datasource_keys) ==== save_info_report_designer() ==== data_source_lists_creating(group_reports_id) ==== Клас K2Production

Методи класу

Схема вибору обслуговування терміналу

Клас K2LogbookTMDoc

=== Клас для керування логбуком технічного обслуговування (ТО).;

Відображає сторінку перегляду друкованої форми.; * K2 ERP

Search for a yml file in the caller directories of subclasses.; The message is sent to a room identified by the current user's ID.;


==== Методи ====

Витягує equipment_type_name та equipment_type_code з таблиці k2equipment_type

Повертає:

* A sequence of text lines detailing the stacks of running

Відносний шлях до рута.;==== load_babel_translation_directories() ====

name (str): Name of object where the message originated.; dict: Словник з результатами запитів або помилкою.; (файл models.py)

Повертає:

such as 'r' (read), 'w' (write), 'i' (insert), 'd' (delete), 'c' (create), 'exp' (export), 'imp' (import), 'del_' (undelete), 'settable' (set table), 'cutpast' (cut and paste), 'enable' (enable), and 'active' (active).;==== Моделі які використовуються ====

* The number of greenlets.; ==== createImageSliderModal(images, containerId = null) ==== showBootstrapLoader(containerId) ==== removeBootstrapLoader(containerId) ==== showUserAlert(message, type = 'light') ==== Стилі (Назва) ==

Подзаголовок

Заголовок 1

Заголовок 2

Заголовок 3

Заголовок 4

Заголовок 5

Заголовок 6

Звичвйний текст

== Ілюстрації з документа ==

функціонує з конфігурацією домену через K2.domain
Відповідає за обробку даних з логів.; The caller directory where the yml file was found, or None if the file was not found.; pydoc -w k2/k2obj.py, де k2/k2obj.py - шлях до файлу з корня

Якщо лід знайдено то створюється новий запис у таблиці k2contacts на основі даних ліда.;==== viewer() ====

- замовлення
Initialize self.; K2.search_yml('users')

Завантаження перекладів

str: HTML-шаблон сторінки перегляду дашборду.; У разі помилки застосовується лог помилки і повертається повідомлення з помилкою.; yml_path = K2.search_yml('users')

datasource_value (list): Список SQL-запитів.; date_from = "2023-01-01"

Основні операції:

def test_dashboard():

Логіка статусів:

datasource_is_counterpart_id (list): Список флагів, що вказують на наявність counterpart_id.; __file__ - стандартна змінна в Python, яка містить абсолютний шлях до поточного файлу, в якому вона застосовується.;=== Клас K2ReportDesigner ===

Атрибути

Вимикаються кнопки: add, delete, printReport.; Домен, на якому функціонує CRM, отримується з глобального об'єкта K2.domain.; the current thread and greenlet.)

get_path_abs(caller_file)

'new' – нові залишки, отримані в поточному оновленні.; 'old' – застарілі інформаційні дані, що підлягають видаленню.; {% endblock %

Створює характеристика змін у форматі "поле: старе_значення → нове_значення"

Визначення операційної системи

search_yml(name_yml)

Параметри:

Атрибути класу

Add identificators to url page Повертає:

Властивості

nomenclature_data (dict) – інформаційні дані про номенклатуру:

Load a logging message by its error_id from the error log file.;


dict: A dictionary containing formatted log messages, the count of 'error' messages, and the count of 'warning' messages.; Визначення поточної мови

==== save_report_id() ====

==== get_current_user_role_name() ====

self._name_yml_master #назва конфігураційного файлу

Шаблон:Error

Отрмання roleid користувача

Класk2mail

Клас k2path

__file__ -стандартна змінна в Python, яка містить абсолютний шлях до поточного файлу, в якому вона застосовується.; гарантує функціональність для створення, перегляду, редагування записів логбука ТО, роботи з параметрами завдань та обладнання, а додатково підготовки даних про запчастини.; self._off_buttons #вимкнути кнопки

show_grid(self)

index.php?title=Категорія:K2 ERP

usr_perm = K2().get_user_permissions()

load_logging_message_by_id(error_id: str)

Parameters:

Якщо записів немає, повертає помилку 404

Клас для актуалізація залишків на основі даних з отриманих від клієнтів.

Повертає:

Визначення id поточної мови

search_class_prop(path_objs)

return: A tuple containing:

Повертає

K2Lead.;=== Клас k2logging ===

K2UpdateRemainder

time_zone:

Якщо контакт знайдено то відбувається актуалізація даних у options [‘dataField’] (name, surname, email, lead_id)

status (str): The status of the message (e.g., cls.log_error - 'ERROR', cls.log_warning - 'WARNING', cls.log_success - 'SUCCESS').; Usage:

Властивості класу

Обробка k2doc_rows_detail:

Винятки:

_insert_new_pub_sub_nomenclature(session, nomenclature_data)

Методи класу

=

Витягує нові залишки з логів, додає їх у таблицю k2remainder_by_parties, оновлює статуси існуючих записів та видаляє застарілі залишки.; Окремо варто відзначити створення/актуалізація записів про залишки товарів і керування їх статусами (новий, стабільний, старий).; If the user is a superadmin, a default set of permissions is returned.; Абсолютний шлях до файлу, в якому виконується код.; Виклик K2.get_path_to_root(__file__).; Відображає сторінку перегляду дашборду.; Параметри:

crm_data(route, data) - Цей метод отримує інформаційні дані із відповідних таблиць з бази даних на основі переданих параметрів для подальшого оформлення друкованої форми документів у компоненті k2CRM

Клас k2trans

Основні функціональні можливості модуля

Переводить стабільні ('stable') в старі ('old').;=== Клас k2settings ===

self._send_params #параметри для конфігураційного файлу

reports_id = ['b452a5ae84f9e92e75eb0467c196fd71', '1673a4fab757fb6c5df970fdc6ee680c',

Ім'я YML: 'k2doc_move'.; У разі помилки виконує відкат (rollback).;==== Приклад використання ====

K2DocsCRM

Передаються параметри: doc_id.; Raises:

генерація друкованих документів

compare_versions(version1, version2)

Якщо затверджувачів не знайдено, повертає помилку 404

create_names_yml(self, name_yml: str = , name_yml_tree: str = ,

Повертає:
Перевіряє наявність записів у таблиці k2tm_fields з parentid != '0'

datasource_keys = ["table1_data", "table2_data"]

==== load_logging_messages(page_url: str) ====

==== __init__(self) ====

Retrieve user permissions based on the URL.;==== __init__() ====

Ініціалізація класу.;== Класи компонент ==

itemName (str) – назва товару.; у всіх шляхах пошуку

==== Фронтенд (Jinja-шаблон) ====

==== clear_logging_messages() ====

Нічого.; Він містить методи для обробки запитів на затвердження змін у технічній документації обладнання.;<pre>

k2log==2.0.0.2
k2grid==2.0.4.1

Якщо name == 'k2doc_rows_detail':
Виділяється row_id із переданих даних. Створюється об’єкт K2Grid з іменем yml “'k2doc_rows_detail”. Вимикаються кнопки add, delete, printReport на панелі інструментів. Отримується storage_id через метод self.get_storage_id(). Параметри row_id та storage_id передаються через send_params.
Якщо name == 'k2doc_move':

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

Визначення id поточної мови

Параметри:

==== Окремо варто відзначити роути і api (файл views.; центральний клас компоненти.py) ====

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

domain:

У разі помилки: JSON з описом помилки (код 404 або 500)

=== Він взаємодіє з базою даних.; створення забезпечується через Клас K2ReportDesigner надає функціональність; додатково реалізовано редагування та перегляду звітів і дашбордів.; Окремо варто відзначити управляє файлами звітів і генерує JSON-дані для подальшого використання. ===

self._row_selection #вибір з рядка

 приклад:

datasource_is_counterpart_id = [True, False]

dict: A dictionary containing the user permissions, including 'roleid' and various permission flags

Команда для автоматичної генерації html файлу з документацією по док стрінгах:

K2.logging_message(K2.log_success, 'Operation completed successfully.'1)

message (str): The content of the message to be sent.; See help(type(self)) for accurate signature.;=== Клас K2CRM ===

Нові ('new') переводить у стабільні ('stable').;=== Клас k2datasync ===

Отримання інформації про тип обладнання:

To search for a yml file named 'users.yml', call this method as follows:

dump_stacks()

Якщо контакт не знайдено то для полів name, surname, email встановлюється значення None.;==== Властивості інстансу ====

керування лідами

Додавання нової номенклатури.; Для кожного запиту виконується SQL-запит та результат додається до result_dict.; Параметри (doc_id) передаються через send_params.; If no permissions are found for the user, an empty dictionary is returned.; str: HTML-шаблон сторінки редагування.; Додаткові об’єкти компоненти.; json_data_create(datasource_value, datasource_keys, datasource_is_counterpart_id, datasource_is_storage_id, period, date_from=None, date_to=None)

name_yml: The name of the yml file to search for (without the '.yml' extension).; {% extends template_name + '/base.html' %}

Returns:


create_contact() - Цей метод створює контакт на основі даних існуючого ліда.; ==== __init__(sql=[]) ==== create_report(sql=None, data_source=None) ==== get_report(file_name) ==== execute_query(query, params=None) ==== get_report_designer(file_name, design_type_id) ==== add_reports_type(name, data) ==== Клас K2ReportEmbed ===

K2ReportEmbed - Компонент для вбудовування звітів у веб-додаток.; надає можливість отримувати та відображати звіти з бази даних на основі їх ідентифікаторів.

Атрибути класу

__init__(reports_id: List [str]) ==== get_report_data() -> Optional [List [Dict [str, Any]]] ==== Бекенд (Flask)

Створює порожній словник result_dict, який буде наповнюватись даними та парсить вхідні інформаційні дані data у форматі JSON і зберігає їх у result_dict [‘Header’].; ORM структури.; * рахунки * звіти * конфігурація системи CRM

get_locale_id()

log_entry(error_id, status, message, name)

Returns: '49952f397efff44d7ce0e5cb9aa625fb'] Результати запитів конвертуються у словники (row_asdict) для зручного JSON-формату.; Повертає: