diff --git a/formula_editor/api.py b/formula_editor/api.py index e2fbcd9..a5aef81 100644 --- a/formula_editor/api.py +++ b/formula_editor/api.py @@ -17,7 +17,7 @@ def get_doctype_fields(doctype): if field.fieldtype in ["Int", "Float", "Currency"]: fields.append({ "fieldname": field.fieldname, - "label": field.label, + "label": field.label or field.fieldname, # ✅ Используем fieldname если нет label "fieldtype": field.fieldtype }) @@ -27,9 +27,13 @@ def get_doctype_fields(doctype): child_meta = frappe.get_meta(child.options) for sub_field in child_meta.fields: if sub_field.fieldtype in ["Int", "Float", "Currency"]: + # ✅ Используем fieldname если нет label для обоих полей + child_label = child.label or child.fieldname + sub_field_label = sub_field.label or sub_field.fieldname + fields.append({ "fieldname": f"{child.fieldname}_{sub_field.fieldname}", - "label": f"{child.label} → {sub_field.label}", + "label": f"{child_label} → {sub_field_label}", "fieldtype": sub_field.fieldtype }) @@ -53,7 +57,7 @@ def get_all_doctype_fields(doctype): if field.fieldname and field.fieldtype not in excluded_types: field_data = { "fieldname": field.fieldname, - "label": field.label or field.fieldname, + "label": field.label or field.fieldname, # ✅ Используем fieldname если нет label "fieldtype": field.fieldtype } @@ -64,7 +68,7 @@ def get_all_doctype_fields(doctype): fields.append(field_data) return fields - + def get_report_module(report_name): """Универсальное получение модуля отчета""" try: diff --git a/formula_editor/formula_editor/doctype/formula_editor/formula_editor.js b/formula_editor/formula_editor/doctype/formula_editor/formula_editor.js index 845a000..9ce12ff 100644 --- a/formula_editor/formula_editor/doctype/formula_editor/formula_editor.js +++ b/formula_editor/formula_editor/doctype/formula_editor/formula_editor.js @@ -750,8 +750,7 @@ frappe.require([ return; } - let label = field.label ? field.label : "*Нет наименования*"; - let match = label.match(/^(.*?)\s*→\s*(.*?)$/); + let label = field.label || field.fieldname || "*Нет наименования*"; // ✅ Сначала label, потом fieldname let match = label.match(/^(.*?)\s*→\s*(.*?)$/); let table_name = match ? match[1] : field.fieldname.startsWith("table_") ? field.fieldname : "Основные поля"; let field_label = match ? match[2] : label;