From e86e8c841b19dbea834df862fcd8d9654bfce35f Mon Sep 17 00:00:00 2001 From: Ali <010109ali@gmail.com> Date: Thu, 2 Apr 2026 11:40:04 +0000 Subject: [PATCH] push from mvp --- taxes_az/fixtures/client_script.json | 40 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/taxes_az/fixtures/client_script.json b/taxes_az/fixtures/client_script.json index ac0e101..7503ad7 100644 --- a/taxes_az/fixtures/client_script.json +++ b/taxes_az/fixtures/client_script.json @@ -80,8 +80,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.097373", + "enabled": 1, + "modified": "2026-04-01 16:09:32.850669", "module": "Taxes Az", "name": "Single declaration related to salaried and non-salaried work", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\n refresh: function (frm) {\n if (!frm.fields_dict.mdssüzrə) return;\n\n let options = [\n \"0112 Muzdla işləyənləri işə götürən sığortaedənlər\",\n \"0200 Müəlliflik qonorarı ödəyən hüquqi və fiziki şəxslər\",\n \"0300 Vəkillər kollegiyasının üzvləri, sərbəst auditorlar, sərbəst mühasiblər, sərbəst mediatorlar\",\n \"0500 Mülki hüquqi xarakterli müqavilələrlə işləyənlər\",\n ];\n\n frm.set_df_property('mdssüzrə', 'read_only', 1);\n\n $(frm.fields_dict.mdssüzrə.$wrapper).on(\"click\", function () {\n let selected_options = frm.doc.mdssüzrə ? frm.doc.mdssüzrə.split(\", \") : [];\n\n let d = new frappe.ui.Dialog({\n title: 'MDSS üzrə',\n fields: options.map((option, index) => ({\n fieldname: 'opt_' + index, // ← простой ключ: opt_0, opt_1...\n fieldtype: 'Check',\n label: option, // ← красивый текст только здесь\n default: selected_options.includes(option) ? 1 : 0\n })),\n primary_action_label: 'OK',\n primary_action(values) {\n // Фильтруем по индексу, собираем обратно оригинальные строки\n let chosen = options.filter((option, index) => values['opt_' + index]);\n\n if (chosen.length === 0) {\n frappe.msgprint(\"Вы ничего не выбрали.\");\n frm.set_value('mdssüzrə', 'Seçilməyib');\n } else {\n frm.set_value('mdssüzrə', chosen.join(\", \"));\n }\n\n frm.refresh_field('mdssüzrə');\n d.hide();\n }\n });\n\n d.show();\n });\n }\n});", @@ -91,8 +91,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.087192", + "enabled": 1, + "modified": "2026-04-01 16:09:25.069966", "module": "Taxes Az", "name": "Single declaration related to salaried and non-salaried work 2", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n refresh: function (frm) {\r\n // Проверяем, что поле icbaritibbisığortaüzrə существует\r\n if (!frm.fields_dict.icbaritibbisığortaüzrə) return;\r\n\r\n let options = [\"2100 Muzdla işləyənləri işə götürən sığortaedənlər (İcbari tibbi sığorta haqqı üzrə)\", \"2202 Vəkillər kollegiyasının üzvləri, sərbəst auditorlar, sərbəst mühasiblər, sərbəst mediatorlar\", \"2300 Mülki hüquqi müqavilələr əsasında işləri (xidmətləri) yerinə yetirən fiziki şəxslər üzrə (fərdi sahibkarlar istisna olmaqla)\", ];\r\n\r\n // Делаем поле icbaritibbisığortaüzrə нередактируемым (чтобы пользователь не мог вводить текст)\r\n frm.set_df_property('icbaritibbisığortaüzrə', 'read_only', 1);\r\n\r\n // Добавляем обработчик на клик по полю icbaritibbisığortaüzrə\r\n $(frm.fields_dict.icbaritibbisığortaüzrə.$wrapper).on(\"click\", function () {\r\n // Получаем текущие выбранные варианты из icbaritibbisığortaüzrə\r\n let selected_options = frm.doc.icbaritibbisığortaüzrə ? frm.doc.icbaritibbisığortaüzrə.split(\", \") : [];\r\n\r\n let d = new frappe.ui.Dialog({\r\n title: 'İcbari tibbi sığorta üzrə',\r\n fields: options.map(option => ({\r\n fieldname: option,\r\n fieldtype: 'Check',\r\n label: option,\r\n default: selected_options.includes(option) // Помечаем галочками выбранные ранее\r\n })),\r\n primary_action_label: 'OK',\r\n primary_action(values) {\r\n selected_options = Object.keys(values).filter(key => values[key]);\r\n\r\n if (selected_options.length === 0) {\r\n frappe.msgprint(\"Вы ничего не выбрали, установлено значение по умолчанию.\");\r\n selected_options = [\"Seçilməyib\"]; // Если ничего не выбрали, ставим \"Нет выбора\"\r\n } else {\r\n //frappe.msgprint(\"Вы выбрали: \" + selected_options.join(\", \"));\r\n }\r\n\r\n // Записываем выбранные значения в поле Select\r\n frm.set_value('icbaritibbisığortaüzrə', selected_options.join(\", \"));\r\n frm.refresh_field('icbaritibbisığortaüzrə');\r\n\r\n d.hide();\r\n }\r\n });\r\n\r\n d.show();\r\n });\r\n }\r\n});\r\n", @@ -102,8 +102,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.077439", + "enabled": 1, + "modified": "2026-04-01 16:09:19.546440", "module": "Taxes Az", "name": "Single declaration related to salaried and non-salaried work 3", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n refresh: function (frm) {\r\n // Проверяем, что поле select_xdry существует\r\n if (!frm.fields_dict.select_xdry) return;\r\n\r\n let options = [\"İşçilər üzrə istifadə edilməmiş əmək məzuniyyətinə görə hesablanmış kompensasiya məbləği\", \"Muzdlu işlə əlaqədar ödəmə mənbəyində tutulan vergi üzrə güzəşt və azadolmalar\", \"MDSS haqqına cəlb olunmayan gəlirlər\", \"İşsizlikdən sığorta haqqına cəlb olunmayan gəlirlər\", \"İcbari Tibbi Sığorta haqqına cəlb olunmayan gəlirlər\"];\r\n\r\n // Делаем поле select_xdry нередактируемым (чтобы пользователь не мог вводить текст)\r\n frm.set_df_property('select_xdry', 'read_only', 1);\r\n\r\n // Добавляем обработчик на клик по полю select_xdry\r\n $(frm.fields_dict.select_xdry.$wrapper).on(\"click\", function () {\r\n // Получаем текущие выбранные варианты из select_xdry\r\n let selected_options = frm.doc.select_xdry ? frm.doc.select_xdry.split(\", \") : [];\r\n\r\n let d = new frappe.ui.Dialog({\r\n title: 'Azadolma və güzəştlər/Əmək məzuniyyətinə görə kompensasiya',\r\n fields: options.map(option => ({\r\n fieldname: option,\r\n fieldtype: 'Check',\r\n label: option,\r\n default: selected_options.includes(option) // Помечаем галочками выбранные ранее\r\n })),\r\n primary_action_label: 'OK',\r\n primary_action(values) {\r\n selected_options = Object.keys(values).filter(key => values[key]);\r\n\r\n if (selected_options.length === 0) {\r\n frappe.msgprint(\"Вы ничего не выбрали, установлено значение по умолчанию.\");\r\n selected_options = [\"-\"]; // Если ничего не выбрали, ставим \"Нет выбора\"\r\n } else {\r\n //frappe.msgprint(\"Вы выбрали: \" + selected_options.join(\", \"));\r\n }\r\n\r\n // Записываем выбранные значения в поле Select\r\n frm.set_value('select_xdry', selected_options.join(\", \"));\r\n frm.refresh_field('select_xdry');\r\n\r\n d.hide();\r\n }\r\n });\r\n\r\n d.show();\r\n });\r\n }\r\n});\r\n", @@ -1411,8 +1411,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.066631", + "enabled": 1, + "modified": "2026-04-01 16:09:13.123569", "module": "Taxes Az", "name": "Single Declaration-Bolme4_Hisse1", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.bolme4_hisse1) {\r\n frm.set_value('bolme4_hisse1', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'Məcburi dövlət sosial sığorta haqqına cəlb olunan gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablama (cəmi)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış məcburi dövlət sosial sığorta haqqı (cəmi)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaedənin hesabına məcburi dövlət sosial sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış əmək haqqı və digər gəlirlərə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə hesablanmış kompensasiya məbləğinə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Həyatın yığım sığortasına cəlb olunmuş məbləğə nisbətdə (vaxtından əvvəl müqaviləyə xitam verildiyi halda)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaolunanın (işçinin) hesabına məcburi dövlət sosial sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış əmək haqqı və digər gəlirlərə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə hesablanmış kompensasiya məbləğinə nisbətdə MDSS haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Digər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sanatoriya kurort yollayışlarının dəyərinin qismən ödənilməsi', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Əmək zədəsi və peşə xəstəliyi üzrə müavinətlərin geri qaytarılması', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('bolme4_hisse1', row);\r\n });\r\n\r\n frm.refresh_field('bolme4_hisse1'); \r\n }\r\n});", @@ -1422,8 +1422,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.055808", + "enabled": 1, + "modified": "2026-04-01 16:09:06.631947", "module": "Taxes Az", "name": "Single Declaration-Bolme4_Hisse2", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.bolme4_hisse2) {\r\n frm.set_value('bolme4_hisse2', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'İşsizlikdən sığorta haqqına cəlb edilən gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablama (cəmi)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış işsizlikdən sığorta haqqı (cəmi)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaedənin hesabına işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaolunanın hesabına işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Digər mənbələr', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('bolme4_hisse2', row);\r\n });\r\n\r\n frm.refresh_field('bolme4_hisse2'); \r\n }\r\n});", @@ -1433,8 +1433,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.045062", + "enabled": 1, + "modified": "2026-04-01 16:09:00.843646", "module": "Taxes Az", "name": "Single Declaration-Bolme4_Hisse3", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.bolme4_hisse3) {\r\n frm.set_value('bolme4_hisse3', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'İcbari tibbi sığorta haqqına cəlb edilən gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış icbari tibbi sığorta haqqı, cəmi', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortalının hesabına icbari tibbi sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Sığortaolunanın hesabına icbari tibbi sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('bolme4_hisse3', row);\r\n });\r\n\r\n frm.refresh_field('bolme4_hisse3'); \r\n }\r\n});", @@ -1444,8 +1444,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.036130", + "enabled": 1, + "modified": "2026-04-01 16:08:55.167313", "module": "Taxes Az", "name": "Single Declaration-Bolme3", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.səhifə_3_table_1) {\r\n frm.set_value('səhifə_3_table_1', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'Muzdlu işlə əlaqədar hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'AR hüdudlarından kənarda muzdlu işlə əlaqədar hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'O cümlədən, rəsmi bəyan edilməklə hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Yerli fiziki şəxslər üzrə hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'VM-nin 98.2-ci maddəsinə əsasən yerli fiziki şəxslər üzrə hesablamalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə ödənilmiş kompensasiya məbləği', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Xarici fiziki şəxslər üzrə hesablamalar (manatla)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Xarici fiziki şəxslər üzrə hesablamalar (ABŞ dolları ilə)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'VM-nin 98.2-ci maddəsinə əsasən xarici fiziki şəxslər üzrə hesablamalar (manatla)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'VM-nin 98.2-ci maddəsinə əsasən xarici fiziki şəxslər üzrə hesablamalar (ABŞ dolları ilə)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə ödənilmiş kompensasiya məbləği (manatla)', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə ödənilmiş kompensasiya məbləği (ABŞ dolları ilə)', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('səhifə_3_table_1', row);\r\n });\r\n\r\n frm.refresh_field('səhifə_3_table_1'); \r\n }\r\n});", @@ -1455,8 +1455,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.025362", + "enabled": 1, + "modified": "2026-04-01 16:08:24.477806", "module": "Taxes Az", "name": "Single Declaration-Bolme2_hisse1", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.bolme2_hisse1) {\r\n frm.set_value('bolme2_hisse1', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'İşçilərin ümumi sayı', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Faktiki işə cəlb olunan işçilərin sayı', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('bolme2_hisse1', row);\r\n });\r\n\r\n frm.refresh_field('bolme2_hisse1'); \r\n }\r\n});", @@ -1466,8 +1466,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.014084", + "enabled": 1, + "modified": "2026-04-01 16:08:50.098442", "module": "Taxes Az", "name": "Single Declaration-Bolme2_hisse2", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.bolme2_hisse2) {\r\n frm.set_value('bolme2_hisse2', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'Gəlirlər, cəmi', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Hesablanmış əmək haqqı və digər gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'O cümlədən əmək haqqının tərkibinə daxil olmayan gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İstifadə edilməmiş əmək məzuniyyətinə görə hesablanmış kompensasiya məbləği', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Həyatın yığım sığortasına cəlb olunmuş məbləğə nisbətdə (vaxtından əvvəl müqaviləyə xitam verildiyi halda )', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('bolme2_hisse2', row);\r\n });\r\n\r\n frm.refresh_field('bolme2_hisse2'); \r\n }\r\n});", @@ -1477,8 +1477,8 @@ "docstatus": 0, "doctype": "Client Script", "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 0, - "modified": "2026-03-30 19:02:44.001071", + "enabled": 1, + "modified": "2026-04-01 16:08:44.360993", "module": "Taxes Az", "name": "Single Declaration-Bolme2_hisse3", "script": "frappe.ui.form.on('Single declaration related to salaried and non-salaried work', {\r\n onload: function(frm) {\r\n if (!frm.doc.__islocal) return; \r\n\r\n if (!frm.doc.bolme2_hisse3) {\r\n frm.set_value('bolme2_hisse3', []); \r\n }\r\n\r\n const default_rows = [\r\n { göstəricilər: 'Muzdlu işlə əlaqəli ödəmə mənbəyində tutulan vergilər üzrə güzəşt və azadolmalar', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'Məcburi dövlət sosial sığorta haqqına cəlb olunmayan gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İşsizlikdən sığorta haqqına cəlb olunmayan gəlirlər', SahəAdı2: 'Məlumat' },\r\n { göstəricilər: 'İcbari tibbi sığorta haqqına cəlb olunmayan gəlirlər', SahəAdı2: 'Məlumat' },\r\n ];\r\n\r\n default_rows.forEach(row => {\r\n frm.add_child('bolme2_hisse3', row);\r\n });\r\n\r\n frm.refresh_field('bolme2_hisse3'); \r\n }\r\n});",