[
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2026-02-04 18:58:47.567179",
  "module": "Taxes Az",
  "name": "DefaultDeclaration of value added tax yeni elave 1",
  "script": "\r\nfrappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.əlavə1_yeni) {\r\n            frm.set_value('əlavə1_yeni', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { sətirkodu: '308', SahəAdı2: 'Məlumat' },\r\n            { sətirkodu: '314', SahəAdı2: 'Məlumat' },\r\n            { sətirkodu: '316', SahəAdı2: 'Məlumat' },\r\n            \r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('əlavə1_yeni', row);\r\n        });\r\n\r\n        frm.refresh_field('əlavə1_yeni'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2026-02-04 18:58:43.018856",
  "module": "Taxes Az",
  "name": "DefaultDeclaration of value added tax yeni elave 1_2",
  "script": "\r\nfrappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.əlavə1_2_yeni) {\r\n            frm.set_value('əlavə1_2_yeni', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { sətirkodu: '308 VM 175.1-ci maddəsinə əsasən alınmış elektron qaimə-fakturalar (elektron vergi hesab-fakturalar) üzrə nağdsız qaydada ödənilmiş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { sətirkodu: '314 VM 175.3-cü maddəsinə əsasən əvəzləşdirilməsinə yol verilməyən ƏDV məbləği', SahəAdı2: 'Məlumat' },\r\n            { sətirkodu: '316 ƏDV sıfır (0) faiz dərəcəsi ilə ödənilmiş məbləğ', SahəAdı2: 'Məlumat' },\r\n            \r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('əlavə1_2_yeni', row);\r\n        });\r\n\r\n        frm.refresh_field('əlavə1_2_yeni'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Road tax 2",
  "enabled": 1,
  "modified": "2026-01-15 14:13:05.233509",
  "module": "Taxes Az",
  "name": "Formula_Editor_Script_for_Road tax 2",
  "script": "// Generated by Formula Editor\nfrappe.ui.form.on(\"Road tax 2\", {\n    \"refresh\": async function(frm) {\n        initialize_table_row_formulas(frm);\n        calculate_həcmlitrlə(frm);\n        calculate_vergiməbləğimanatla(frm);\n        calculate_həcmlitrlə2(frm);\n        calculate_vergiməbləğimanatla2(frm);\n        calculate_idxalolunmuşməhsulunhəcmilitrlə2(frm);\n        calculate_icbaritibbisığortahaqqımanatla2(frm);\n    },\n    \"ay\": async function(frm) {\n        await calculate_həcmlitrlə(frm); // order: 10\n        await calculate_vergiməbləğimanatla(frm); // order: 10\n        await calculate_həcmlitrlə2(frm); // order: 10\n        await calculate_vergiməbləğimanatla2(frm); // order: 10\n        await calculate_idxalolunmuşməhsulunhəcmilitrlə2(frm); // order: 10\n        await calculate_icbaritibbisığortahaqqımanatla2(frm); // order: 10\n        \n        // Формула строки 1 в таблице bölmə_2 (порядок: 1)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Aİ-92)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице bölmə_2 (порядок: 2)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Aİ-95)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице bölmə_2 (порядок: 3)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Aİ-80)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице bölmə_2 (порядок: 4)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"report(Dizel yanacağı)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 5 в таблице bölmə_2 (порядок: 5)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 5) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 4;\n                const formula = \"report(Maye qaz)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице bölmə_2 (порядок: 6)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Aİ-92) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице bölmə_2 (порядок: 7)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Aİ-95) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице bölmə_2 (порядок: 8)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Aİ-80) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице bölmə_2 (порядок: 9)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"report(Dizel yanacağı) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 5 в таблице bölmə_2 (порядок: 10)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 5) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 4;\n                const formula = \"report(Maye qaz) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n    },\n    \"il\": async function(frm) {\n        await calculate_həcmlitrlə(frm); // order: 10\n        await calculate_vergiməbləğimanatla(frm); // order: 10\n        await calculate_həcmlitrlə2(frm); // order: 10\n        await calculate_vergiməbləğimanatla2(frm); // order: 10\n        await calculate_idxalolunmuşməhsulunhəcmilitrlə2(frm); // order: 10\n        await calculate_icbaritibbisığortahaqqımanatla2(frm); // order: 10\n        \n        // Формула строки 1 в таблице bölmə_2 (порядок: 1)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Aİ-92)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице bölmə_2 (порядок: 2)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Aİ-95)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице bölmə_2 (порядок: 3)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Aİ-80)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице bölmə_2 (порядок: 4)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"report(Dizel yanacağı)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 5 в таблице bölmə_2 (порядок: 5)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 5) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 4;\n                const formula = \"report(Maye qaz)\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"həcmlitrlə\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице bölmə_2 (порядок: 6)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Aİ-92) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице bölmə_2 (порядок: 7)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Aİ-95) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице bölmə_2 (порядок: 8)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Aİ-80) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице bölmə_2 (порядок: 9)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"report(Dizel yanacağı) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 5 в таблице bölmə_2 (порядок: 10)\n        if (frm.doc.bölmə_2 && frm.doc.bölmə_2.length >= 5) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 4;\n                const formula = \"report(Maye qaz) * 0.02\";\n                \n                await calculate_table_row_field(frm, \"bölmə_2\", rowIndex, \"vergiməbləği\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n    },\n    \"bölmə_2_add\": function(frm) {\n        // Обновляем индексы строк после добавления новой строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"bölmə_2_remove\": function(frm) {\n        // Обновляем индексы строк после удаления строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n});\n\n\n        // Функция для обработки и выполнения формул\n            async function processFormula(frm, formula) {\n                try {\n                    // Проверяем наличие вызовов отчетов\n                    if (formula.includes(\"report(\")) {\n                        // Извлекаем все вызовы report() из формулы\n                        const reportRegex = /report\\(([^)]+)\\)/g;\n                        let match;\n                        let processedFormula = formula;\n                        \n                        // Массив для хранения промисов запросов к отчетам\n                        const reportPromises = [];\n                        const reportPlaceholders = [];\n                        \n                        // Находим все вызовы report() и заменяем их на плейсхолдеры\n                        while ((match = reportRegex.exec(formula)) !== null) {\n                            const fullMatch = match[0]; // report(fieldName)\n                            const fieldName = match[1]; // fieldName\n                            \n                            // Создаем уникальный плейсхолдер\n                            const placeholder = `__REPORT_PLACEHOLDER_${reportPromises.length}__`;\n                            \n                            // Ищем данные отчета в хранилище\n                            const reportFields = JSON.parse(frm.doc.report_fields_storage || \"{}\");\n                            const reportField = Object.values(reportFields).find(f => f.name === fieldName);\n                            \n                            if (reportField) {\n                                // Добавляем промис запроса к отчету\n                                reportPromises.push(\n                                    getReportFieldValue(\n                                        frm,\n                                        reportField.report, \n                                        JSON.parse(reportField.filters_json || \"{}\"), \n                                        reportField.field_name, \n                                        reportField.aggregation || 'sum'\n                                    )\n                                );\n                                \n                                // Запоминаем соответствие плейсхолдера и вызова\n                                reportPlaceholders.push({\n                                    placeholder: placeholder,\n                                    original: fullMatch\n                                });\n                                \n                                // Заменяем вызов отчета на плейсхолдер\n                                processedFormula = processedFormula.replace(fullMatch, placeholder);\n                            }\n                        }\n                        \n                        // Если нашли вызовы отчетов, ждем выполнения всех запросов\n                        if (reportPromises.length > 0) {\n                            const reportResults = await Promise.all(reportPromises);\n                            \n                            // Заменяем плейсхолдеры на результаты\n                            for (let i = 0; i < reportPlaceholders.length; i++) {\n                                // Убедимся, что результат - числовое значение\n                                const reportValue = reportResults[i] !== undefined ? Number(reportResults[i]) : 0;\n                                processedFormula = processedFormula.replace(\n                                    reportPlaceholders[i].placeholder, \n                                    reportValue\n                                );\n                            }\n                            \n                            // Теперь формула не содержит вызовов report(), обрабатываем её обычным способом\n                            let transformResult = transform_expression(processedFormula, false);\n                            \n                            // Если есть внешняя трансформация, применяем её\n                            let result;\n                            if (transformResult && transformResult.transformed) {\n                                result = eval(transformResult.transformed);\n                            } else {\n                                // Иначе просто вычисляем выражение\n                                result = eval(processedFormula);\n                            }\n                            \n                            // Возвращаем результат\n                            return isNaN(result) ? 0 : result;\n                        }\n                    }\n                    \n                    // Стандартная обработка для формул без отчетов\n                    let transformResult = transform_expression(formula, false);\n                    let result = eval(transformResult.transformed);\n                    return isNaN(result) ? 0 : result;\n                } catch (e) {\n                    return 0;\n                }\n        }\n\n\n        // Функция для расчета универсальных полей\n        async function calculate_universal_fields(frm) {\n            \n        }\n    \n    // Функция для обработки квартала (rüb) и года (il)\n    function processQuarterDateField(docValues) {\n        // Проверяем, есть ли у нас значения rüb и il\n        if (docValues && docValues.rüb && docValues.il) {\n            // Получаем номер квартала (преобразуем из строки вида \"1 Rüb\" в число 1)\n            const quarterStr = docValues.rüb;\n            const quarterMatch = quarterStr.match(/(\\d+)/);\n            \n            if (!quarterMatch) {\n                return null;\n            }\n            \n            const quarterNum = parseInt(quarterMatch[1]);\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем начальный и конечный месяц квартала\n            let startMonth, endMonth;\n            \n            switch(quarterNum) {\n                case 1:\n                    startMonth = 1; // Январь\n                    endMonth = 3;   // Март\n                    break;\n                case 2:\n                    startMonth = 4; // Апрель\n                    endMonth = 6;   // Июнь\n                    break;\n                case 3:\n                    startMonth = 7; // Июль\n                    endMonth = 9;   // Сентябрь\n                    break;\n                case 4:\n                    startMonth = 10; // Октябрь\n                    endMonth = 12;   // Декабрь\n                    break;\n                default:\n                    return null;\n            }\n            \n            // Определяем первый день квартала (1-е число начального месяца)\n            const firstDay = new Date(year, startMonth - 1, 1);\n            \n            // Последний день квартала (последнее число конечного месяца)\n            const lastDay = new Date(year, endMonth, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(startMonth).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(endMonth).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n    // Функция для обработки специальных полей с азербайджанскими месяцами\n    function processAzerbayjanDateField(docValues) {\n        // Словарь для сопоставления названий месяцев с их номерами\n        const monthNames = {\n            \"Yanvar\": 1,\n            \"Fevral\": 2,\n            \"Mart\": 3,\n            \"Aprel\": 4,\n            \"May\": 5,\n            \"İyun\": 6,\n            \"İyul\": 7,\n            \"Avqust\": 8,\n            \"Sentyabr\": 9,\n            \"Oktyabr\": 10,\n            \"Noyabr\": 11,\n            \"Dekabr\": 12\n        };\n        \n        // Проверяем наличие квартала (rüb) и года (il)\n        if (docValues && docValues.rüb && docValues.il) {\n            // Вызываем специальную функцию для обработки квартала\n            return processQuarterDateField(docValues);\n        }\n        \n        // Проверяем, есть ли у нас значения ay и il\n        if (docValues && docValues.ay && monthNames[docValues.ay]) {\n            // Получаем номер месяца\n            const monthNum = monthNames[docValues.ay];\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем первый день месяца (1-е число)\n            const firstDay = new Date(year, monthNum - 1, 1);\n            \n            // Последний день месяца (получаем последнее число месяца)\n            const lastDay = new Date(year, monthNum, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(monthNum).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(monthNum).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n\n\n// Функция для обработки азербайджанских дат\nfunction processAzerbayjanDateField(docValues) {\n    // Словарь для сопоставления названий месяцев с их номерами\n    const monthNames = {\n        \"Yanvar\": 1,\n        \"Fevral\": 2,\n        \"Mart\": 3,\n        \"Aprel\": 4,\n        \"May\": 5,\n        \"İyun\": 6,\n        \"İyul\": 7,\n        \"Avqust\": 8,\n        \"Sentyabr\": 9,\n        \"Oktyabr\": 10,\n        \"Noyabr\": 11,\n        \"Dekabr\": 12\n    };\n    \n    // Проверяем наличие квартала (rüb) и года (il)\n    if (docValues && docValues.rüb && docValues.il) {\n        // Получаем номер квартала (преобразуем из строки вида \"1 Rüb\" в число 1)\n        const quarterStr = docValues.rüb;\n        const quarterMatch = quarterStr.match(/(\\d+)/);\n        \n        if (!quarterMatch) {\n            return null;\n        }\n        \n        const quarterNum = parseInt(quarterMatch[1]);\n        \n        // Получаем год из поля il или используем текущий год\n        let year = docValues.il || new Date().getFullYear();\n        \n        // Определяем начальный и конечный месяц квартала\n        let startMonth, endMonth;\n        \n        switch(quarterNum) {\n            case 1:\n                startMonth = 1; // Январь\n                endMonth = 3;   // Март\n                break;\n            case 2:\n                startMonth = 4; // Апрель\n                endMonth = 6;   // Июнь\n                break;\n            case 3:\n                startMonth = 7; // Июль\n                endMonth = 9;   // Сентябрь\n                break;\n            case 4:\n                startMonth = 10; // Октябрь\n                endMonth = 12;   // Декабрь\n                break;\n            default:\n                return null;\n        }\n        \n        // Определяем первый день квартала (1-е число начального месяца)\n        const firstDay = new Date(year, startMonth - 1, 1);\n        \n        // Последний день квартала (последнее число конечного месяца)\n        const lastDay = new Date(year, endMonth, 0);\n        \n        // Форматируем даты в формате YYYY-MM-DD\n        const firstDayStr = year + \"-\" + String(startMonth).padStart(2, '0') + \"-01\";\n        const lastDayStr = year + \"-\" + String(endMonth).padStart(2, '0') + \"-\" + String(lastDay.getDate()).padStart(2, '0');            \n        \n        // Возвращаем объект с диапазоном дат\n        return {\n            start: firstDayStr,\n            end: lastDayStr\n        };\n    }\n    \n    // Проверяем, есть ли у нас значения ay и il\n    if (docValues && docValues.ay && monthNames[docValues.ay]) {\n        // Получаем номер месяца\n        const monthNum = monthNames[docValues.ay];\n        \n        // Получаем год из поля il или используем текущий год\n        let year = docValues.il || new Date().getFullYear();\n        \n        // Определяем первый день месяца (1-е число)\n        const firstDay = new Date(year, monthNum - 1, 1);\n        \n        // Последний день месяца (получаем последнее число месяца)\n        const lastDay = new Date(year, monthNum, 0);\n        \n        // Форматируем даты в формате YYYY-MM-DD\n        const firstDayStr = year + \"-\" + String(monthNum).padStart(2, '0') + \"-01\";\n        const lastDayStr = year + \"-\" + String(monthNum).padStart(2, '0') + \"-\" + String(lastDay.getDate()).padStart(2, '0');            \n        \n        // Возвращаем объект с диапазоном дат\n        return {\n            start: firstDayStr,\n            end: lastDayStr\n        };\n    }\n    \n    // Если это не специальное поле или значение не распознано, возвращаем null\n    return null;\n}\n\nasync function getReportFieldValue(frm, reportName, filters, fieldName, aggregation) {\n    try {\n        // Обрабатываем фильтры с возможными ссылками на поля документа\n        const processedFilters = {};\n        \n        for (const key in filters) {\n            let value = filters[key];\n            \n            // Проверяем, является ли значение ссылкой на поле документа\n            if (typeof value === 'string' && value.startsWith('doc.')) {\n                const docField = value.substring(4);\n                if (frm.doc[docField] !== undefined) {\n                    processedFilters[key] = frm.doc[docField];\n                    continue;\n                }\n            }\n            \n            // Обработка специальных переменных\n            if (typeof value === 'string' && value.startsWith('$')) {\n                switch (value) {\n                    case '$DefaultCompany':\n                        // Получаем компанию по умолчанию из настроек или документа\n                        processedFilters[key] = frm.doc.company || frappe.defaults.get_user_default(\"Company\");\n                        continue;\n                        \n                    case '$AyIlSpecial':\n                        // Обрабатываем специальные даты для азербайджанских месяцев/кварталов\n                        const dateRange = processAzerbayjanDateField(frm.doc);\n                        if (dateRange) {\n                            // Для полей from_date и to_date используем соответствующие значения\n                            if (key === 'from_date') {\n                                processedFilters[key] = dateRange.start;\n                            } else if (key === 'to_date') {\n                                processedFilters[key] = dateRange.end;\n                            } else {\n                                // Для других полей используем начальную дату\n                                processedFilters[key] = dateRange.start;\n                            }\n                        } else {\n                            // Если не удалось получить диапазон дат, используем текущую дату\n                            processedFilters[key] = frappe.datetime.get_today();\n                        }\n                        continue;\n                        \n                    default:\n                        // Для других $-переменных оставляем как есть\n                        processedFilters[key] = value;\n                        continue;\n                }\n            }\n            \n            // Обычные значения\n            processedFilters[key] = value;\n        }\n        \n        // Проверяем кеш\n        if (!window.reportCache) window.reportCache = {};\n        \n        const cacheKey = reportName + \"|\" + JSON.stringify(processedFilters) + \"|\" + fieldName + \"|\" + aggregation;\n        const now = new Date().getTime();\n        \n        if (window.reportCache[cacheKey] && \n            window.reportCache[cacheKey].timestamp > now - 5 * 60 * 1000) {\n            return window.reportCache[cacheKey].value;\n        }\n                \n        // Выполняем запрос к серверу\n        try {\n            const result = await frappe.call({\n                method: \"formula_editor.api.run_report_for_formula\",\n                args: {\n                    report_name: reportName,\n                    filters: processedFilters,\n                    field_name: fieldName\n                },\n                freeze: false\n            });\n            \n            if (result && result.message !== undefined) {\n                if (result.message.error) {\n                    console.error('Report error:', result.message.error);\n                    return 0;\n                }                    \n                \n                let value = parseFloat(result.message);\n                if (isNaN(value)) value = 0;\n                \n                // Округляем до 2 знаков после запятой\n                value = Math.round(value * 100) / 100;\n                                \n                // Сохраняем в кеш\n                window.reportCache[cacheKey] = {\n                    value: value,\n                    timestamp: now\n                };\n                                \n                return value;\n            }\n        } catch (err) {\n            console.error('Report field error:', err);\n        }\n        \n        return 0;\n    } catch (error) {\n        console.error('getReportFieldValue error:', error);\n        return 0;\n    }\n}\n\n\n    function transform_expression(expression, for_child_table = false, table_name = null) {\n        let transformed = expression;\n        let needsAsync = false;\n        let reportCalls = [];\n\n        // === Обработка report(...) ===\n        const reportRegex = /report\\(([^)]+)\\)/g;\n        let match;\n        \n        // Находим все вызовы report() в выражении\n        while ((match = reportRegex.exec(expression)) !== null) {\n            const reportName = match[1]; // Имя поля отчета\n            const fullMatch = match[0]; // Полный текст match - \"report(xyz)\"\n            needsAsync = true;\n            \n            // Создаем уникальный плейсхолдер\n            const placeholder = `__REPORT_PLACEHOLDER_${reportCalls.length}__`;\n            \n            // Ищем соответствующее поле отчета по имени\n            \n            if (reportName === \"Aİ-92\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Fuel Products Purchase Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"ai_92\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Aİ-95\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Fuel Products Purchase Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"ai_95\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Aİ-80\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Fuel Products Purchase Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"ai_80\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Dizel yanacağı\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Fuel Products Purchase Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"dizel\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Maye qaz\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Fuel Products Purchase Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"maye_qaz\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n        }\n\n        // === Обработка table(...) ===\n        const tableRegex = /table\\(([^,)]+),\\s*([^,)]+),\\s*([^)]+)\\)/g;\n        let tableMatch;\n        while ((tableMatch = tableRegex.exec(expression)) !== null) {\n            const fullMatch = tableMatch[0];\n            const tableName = tableMatch[1].trim().replace(/['\"]/g, '');\n            const rowNumber = tableMatch[2].trim();\n            const fieldName = tableMatch[3].trim().replace(/['\"]/g, '');\n            \n            const replacement = `(function() { \n                try {\n                    if (!frm.doc[\"${tableName}\"] || !frm.doc[\"${tableName}\"][${rowNumber} - 1]) {\n                        return 0;\n                    }\n                    const value = frm.doc[\"${tableName}\"][${rowNumber} - 1][\"${fieldName}\"];\n                    return parseFloat(value) || 0;\n                } catch (e) {\n                    return 0;\n                }\n            })()`;\n            \n            transformed = transformed.replace(fullMatch, replacement);\n        }\n\n        // === Обработка universal полей ===\n        \n\n        // === Обработка val() и row() ===\n        const tablePrefixes = [\"items\", \"taxes\", \"packed_items\", \"payments\", \"advances\", \"timesheets\", \"payment_schedule\", \"sales_team\"];\n\n        for (const prefix of tablePrefixes) {\n            const sumPattern = new RegExp(`sum\\\\(${prefix}_([^)]+)\\\\)`, 'g');\n            transformed = transformed.replace(sumPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n\n            const valPattern = new RegExp(`val\\\\(${prefix}_([^)]+)\\\\)`, 'g');\n            transformed = transformed.replace(valPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n        }\n\n        if (for_child_table) {\n            transformed = transformed.replace(/row\\(([^)]+)\\)/g, (m, f) => \n                `(parseFloat(row[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/val\\(([^)]+)\\)/g, (m, f) => {\n                if (f.startsWith(table_name + '_')) {\n                    return `(parseFloat(row[\"${f.slice(table_name.length + 1)}\"]) || 0)`;\n                }\n                return `(parseFloat(frm.doc[\"${f}\"]) || 0)`;\n            });\n        } else {\n            transformed = transformed.replace(/val\\(([^)]+)\\)/g, (m, f) => \n                `(parseFloat(frm.doc[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/row\\(([^)]+)\\)/g, () => \n                `0 /* ERROR: row() вне табличной части */`\n            );\n        }\n\n        return { transformed, needsAsync, reportCalls };\n    }\n\n\n// Функция для получения индекса строки по её имени (name/cdn)\nfunction get_row_index(frm, tableName, rowName) {\n    \n    // Проверяем наличие таблицы\n    if (!frm.doc[tableName]) {\n        return -1;\n    }\n    \n    // Выводим все строки для отладки\n    frm.doc[tableName].forEach((row, idx) => {\n    });\n    \n    // Ищем индекс строки по имени\n    for (let i = 0; i < frm.doc[tableName].length; i++) {\n        if (frm.doc[tableName][i].name === rowName) {\n            return i;\n        }\n    }\n    return -1;\n}\n\n// Функция для доступа к полям конкретных строк таблицы\nfunction table_row(tableName, rowIndex, fieldName) {\n    // Проверяем наличие необходимых аргументов\n    if (!tableName || rowIndex === undefined || !fieldName) {\n        return 0;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return 0;\n        }\n        \n        // Получаем значение поля\n        const value = frm.doc[tableName][rowIdx][fieldName];\n        \n        // Проверяем на NaN и возвращаем значение или 0\n        const numValue = parseFloat(value);\n        if (isNaN(numValue)) {\n            return 0;\n        }\n        return numValue;\n    } catch (error) {\n        return 0;\n    }\n}\n\n// Функция для обновления значения поля конкретной строки таблицы\nfunction set_table_row(frm, tableName, rowIndex, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || rowIndex === undefined || !fieldName) {\n        return false;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return false;\n        }\n        \n        // Получаем строку таблицы\n        const row = frm.doc[tableName][rowIdx];\n        \n        // Получаем сетевое имя cdt и cdn для Frappe\n        const cdt = frm.fields_dict[tableName].grid.doctype;\n        const cdn = row.name;\n        \n        // Проверяем, является ли значение NaN, и если да, заменяем его на 0\n        let finalValue = value;\n        if (typeof value === 'number' && isNaN(value)) {\n            finalValue = 0;\n        }\n        \n        // Обновляем значение поля\n        frappe.model.set_value(cdt, cdn, fieldName, finalValue);\n        \n        return true;\n    } catch (error) {\n        return false;\n    }\n}\n\n// Функция для поиска строки таблицы по значению поля\nfunction find_table_row(frm, tableName, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || !fieldName) {\n        return -1;\n    }\n    \n    try {\n        // Проверяем наличие таблицы\n        if (!frm.doc[tableName]) {\n            return -1;\n        }\n        \n        // Ищем строку с указанным значением поля\n        for (let i = 0; i < frm.doc[tableName].length; i++) {\n            if (frm.doc[tableName][i][fieldName] == value) {\n                // Возвращаем индекс строки (начиная с 1 для пользователя)\n                return i + 1;\n            }\n        }\n        \n        // Если строка не найдена\n        return -1;\n    } catch (error) {\n        return -1;\n    }\n}\n\n\n                    async function calculate_həcmlitrlə(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"report(Aİ-92) + report(Aİ-95) + report(Aİ-80) + report(Dizel yanacağı) + report(Maye qaz)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"həcmlitrlə\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_vergiməbləğimanatla(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"( report(Aİ-92) + report(Aİ-95) + report(Aİ-80) + report(Dizel yanacağı) + report(Maye qaz) ) * 0.02\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"vergiməbləğimanatla\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_həcmlitrlə2(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"report(Aİ-92) + report(Aİ-95) + report(Aİ-80) + report(Dizel yanacağı) + report(Maye qaz)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"həcmlitrlə2\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_vergiməbləğimanatla2(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"( report(Aİ-92) + report(Aİ-95) + report(Aİ-80) + report(Dizel yanacağı) + report(Maye qaz) ) * 0.02\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"vergiməbləğimanatla2\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_idxalolunmuşməhsulunhəcmilitrlə2(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"report(Aİ-92) + report(Aİ-95) + report(Aİ-80) + report(Dizel yanacağı) + report(Maye qaz)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"idxalolunmuşməhsulunhəcmilitrlə2\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_icbaritibbisığortahaqqımanatla2(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"( report(Aİ-92) + report(Aİ-95) + report(Aİ-80) + report(Dizel yanacağı) + report(Maye qaz) ) * 0.02\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"icbaritibbisığortahaqqımanatla2\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n    // Функция для инициализации формул строк табличных частей\n    function initialize_table_row_formulas(frm) {\n        try {\n            // Получаем информацию о формулах для строк табличных частей\n            const formulas = JSON.parse(frm.doc.table_row_formulas_storage || \"{}\");\n            \n            // ВАЖНО: Преобразуем объект в массив и сортируем его по порядку выполнения\n            const sortedFormulas = Object.entries(formulas).map(([id, formula]) => {\n                return { id, ...formula };\n            }).sort((a, b) => {\n                // Сортировка по значению поля order (если порядок не задан, используем 10 по умолчанию)\n                const orderA = a.order !== undefined ? parseInt(a.order) : 10;\n                const orderB = b.order !== undefined ? parseInt(b.order) : 10;\n                return orderA - orderB;\n            });\n            \n            // Группируем формулы по табличным частям и строкам\n            const formulasByTableAndRow = {};\n            \n            sortedFormulas.forEach(formula => {\n                const tableName = formula.table_name;\n                const rowIndex = parseInt(formula.row_index);\n                \n                if (!formulasByTableAndRow[tableName]) {\n                    formulasByTableAndRow[tableName] = {};\n                }\n                \n                if (!formulasByTableAndRow[tableName][rowIndex]) {\n                    formulasByTableAndRow[tableName][rowIndex] = [];\n                }\n                \n                formulasByTableAndRow[tableName][rowIndex].push(formula);\n            });\n            \n            // Устанавливаем обработчики для каждой табличной части\n            Object.keys(formulasByTableAndRow).forEach(tableName => {\n                if (!frm.doc[tableName]) {\n                    return;\n                }\n                \n                // Для каждой строки таблицы\n                frm.doc[tableName].forEach((row, rowIdx) => {\n                    // Получаем отсортированные формулы для текущей строки (строки нумеруются с 1, а индексы с 0)\n                    const rowFormulas = formulasByTableAndRow[tableName][rowIdx + 1] || [];\n                    \n                    // Выполняем формулы в порядке сортировки (по полю order)\n                    for (const formula of rowFormulas) {\n                        try {\n                            // Определяем необходимость асинхронного вызова\n                            const usesUniversal = formula.formula && formula.formula.includes(\"univ(\");\n                            const usesReports = formula.formula && formula.formula.includes(\"report(\");\n                            \n                            // Вызываем расчет формулы согласно установленному порядку\n                            if (usesUniversal || usesReports) {\n                                // Для асинхронных вызовов используем await в асинхронной IIFE\n                                (async () => {\n                                    try {\n                                        await calculate_table_row_field(frm, tableName, rowIdx, formula.field_name, formula.formula, \"refresh\");\n                                    } catch (asyncError) {\n                                    }\n                                })();\n                            } else {\n                                // Для синхронных вызовов выполняем напрямую\n                                calculate_table_row_field(frm, tableName, rowIdx, formula.field_name, formula.formula, \"refresh\");\n                            }\n                        } catch (error) {\n                        }\n                    }\n                });\n            });\n        } catch (error) {\n        }\n    }\n\n\n// Функция для расчета значения поля в строке табличной части\nasync function calculate_table_row_field(frm, tableName, rowIndex, fieldName, formula, triggerField) {\n    try {\n        \n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIndex]) {\n            return;\n        }\n\n        const row = frm.doc[tableName][rowIndex];\n        const cdt = frm.fields_dict[tableName].grid.doctype;\n        const cdn = row.name;\n        \n        // === ЕДИНАЯ ТОЧКА ОБРАБОТКИ ВСЕХ ФУНКЦИЙ ===\n        let finalFormula, reportCalls;\n        \n        try {\n            // Используем transform_expression как единственную точку преобразования\n            const transformResult = transform_expression(formula, true, tableName);\n            \n            if (transformResult) {\n                finalFormula = transformResult.transformed;\n                reportCalls = transformResult.reportCalls || [];\n            } else {\n                finalFormula = formula;\n                reportCalls = [];\n            }\n        } catch (transformError) {\n            console.error('Ошибка transform_expression:', transformError);\n            finalFormula = formula;\n            reportCalls = [];\n        }\n        \n        // === ОБРАБОТКА АСИНХРОННЫХ ВЫЗОВОВ ОТЧЕТОВ ===\n        if (reportCalls && reportCalls.length > 0) {\n            try {\n                // Выполняем все асинхронные запросы к отчетам параллельно\n                const reportResults = await Promise.all(\n                    reportCalls.map(call => \n                        getReportFieldValue(\n                            frm,\n                            call.reportName,\n                            call.filters,\n                            call.fieldName,\n                            call.aggregation\n                        )\n                    )\n                );\n                \n                // Заменяем плейсхолдеры на реальные значения\n                for (let i = 0; i < reportCalls.length; i++) {\n                    const reportValue = reportResults[i] !== undefined ? Number(reportResults[i]) : 0;\n                    finalFormula = finalFormula.replace(\n                        reportCalls[i].placeholder, \n                        reportValue\n                    );\n                }\n            } catch (reportError) {\n                console.error('Ошибка получения данных отчетов:', reportError);\n                // В случае ошибки заменяем все плейсхолдеры на 0\n                for (const call of reportCalls) {\n                    finalFormula = finalFormula.replace(call.placeholder, 0);\n                }\n            }\n        }\n        \n        // === ВЫЧИСЛЕНИЕ ФИНАЛЬНОЙ ФОРМУЛЫ ===\n        let result = 0;\n        try {\n            // Создаем функцию с доступом к контексту row и frm\n            const evalFunc = new Function('row', 'frm', `return ${finalFormula};`);\n            result = evalFunc(row, frm);\n        } catch (evalError) {\n            console.error('Ошибка вычисления формулы:', evalError, 'Formula:', finalFormula);\n        }\n\n        if (isNaN(result)) {\n            result = 0;\n        }\n\n        // Устанавливаем вычисленное значение\n        frappe.model.set_value(cdt, cdn, fieldName, result);\n\n        // Обновляем таблицу\n        frm.refresh_field(tableName);\n    } catch (err) {\n        console.error('Ошибка в calculate_table_row_field:', err);\n    }\n}\n\n\n// Функция для получения индекса строки по её имени\nfunction get_row_index(frm, tableName, rowName) {\n    \n    // Проверяем наличие таблицы\n    if (!frm.doc[tableName]) {\n        return -1;\n    }\n    \n    // Ищем индекс строки по имени\n    for (let i = 0; i < frm.doc[tableName].length; i++) {\n        if (frm.doc[tableName][i].name === rowName) {\n            return i;\n        }\n    }\n    return -1;\n}",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Land tax declaration",
  "enabled": 1,
  "modified": "2026-01-15 14:12:38.012794",
  "module": "Taxes Az",
  "name": "Formula_Editor_Script_for_Land tax declaration",
  "script": "// Generated by Formula Editor\nfrappe.ui.form.on(\"Land tax declaration\", {\n    \"refresh\": async function(frm) {\n        initialize_table_row_formulas(frm);\n    },\n    \"il\": async function(frm) {\n        await calculate_mobnömrə1(frm); // order: 1\n        await calculate_ümumisahə(frm); // order: 10\n        await calculate_vergiyəcəlbolunmayansahə(frm); // order: 10\n        await calculate_vergiməbləğimanatla(frm); // order: 10\n        await calculate_ümumisahə2(frm); // order: 10\n        await calculate_vergiyəcəlbolunmayansahə2(frm); // order: 10\n        await calculate_vergiməbləğimanatla2(frm); // order: 10\n        await calculate_vergiməbləğimanatla3(frm); // order: 10\n        await calculate_ümumisahə4(frm); // order: 10\n        await calculate_vergiyəcəlbolunmayansahə4(frm); // order: 10\n        await calculate_vergiməbləğimanatla4(frm); // order: 10\n        \n        // Формула строки 1 в таблице verginin_hesablanması (порядок: 1)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"val(601umumi) + val(602umumi)\";\n                \n                calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице verginin_hesablanması (порядок: 2)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"val(601umumi)\";\n                \n                calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице verginin_hesablanması (порядок: 3)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"val(602umumi)\";\n                \n                calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице verginin_hesablanması (порядок: 4)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"val(əlavə_2_vergiməbləğimanatla)\";\n                \n                calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 5 в таблице verginin_hesablanması (порядок: 5)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 5) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 4;\n                const formula = \"val(601umumi) + val(602umumi) + val(əlavə_2_vergiməbləğimanatla)\";\n                \n                calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 7 в таблице verginin_hesablanması (порядок: 6)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 7) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 6;\n                const formula = \"report(Azadolma-maddə 207.3)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 8 в таблице verginin_hesablanması (порядок: 7)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 8) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 7;\n                const formula = \"report(Azadolma-maddə 207.4)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 9 в таблице verginin_hesablanması (порядок: 8)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 9) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 8;\n                const formula = \"report(Azadolma-maddə 207.5)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 10 в таблице verginin_hesablanması (порядок: 9)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 10) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 9;\n                const formula = \"report(Azadolma-maddə 207.6)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 11 в таблице verginin_hesablanması (порядок: 10)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 11) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 10;\n                const formula = \"report(Azadolma-maddə 207.7)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 12 в таблице verginin_hesablanması (порядок: 11)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 12) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 11;\n                const formula = \"report(Azadolma-maddə 207.8)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 13 в таблице verginin_hesablanması (порядок: 12)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 13) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 12;\n                const formula = \"report(Azadolma-maddə 207.9)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 14 в таблице verginin_hesablanması (порядок: 13)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 14) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 13;\n                const formula = \"report(Azadolma-maddə 207.10)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 15 в таблице verginin_hesablanması (порядок: 14)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 15) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 14;\n                const formula = \"report(Azadolma-maddə 207.11)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 16 в таблице verginin_hesablanması (порядок: 15)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 16) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 15;\n                const formula = \"report(Azadolma-maddə 207.12)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 17 в таблице verginin_hesablanması (порядок: 16)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 17) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 16;\n                const formula = \"report(Azadolma-maddə 227.1)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 6 в таблице verginin_hesablanması (порядок: 17)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 6) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 5;\n                const formula = \"report(Azadolma-maddə 207.3) + report(Azadolma-maddə 207.4) + report(Azadolma-maddə 207.5) + report(Azadolma-maddə 207.6) + report(Azadolma-maddə 207.7) + report(Azadolma-maddə 207.8) + report(Azadolma-maddə 207.9) + report(Azadolma-maddə 207.10) + report(Azadolma-maddə 207.11) + report(Azadolma-maddə 207.12) + report(Azadolma-maddə 227.1)\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 18 в таблице verginin_hesablanması (порядок: 18)\n        if (frm.doc.verginin_hesablanması && frm.doc.verginin_hesablanması.length >= 18) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 17;\n                const formula = \"( val(601umumi) + val(602umumi) + val(əlavə_2_vergiməbləğimanatla) ) - ( report(Azadolma-maddə 207.3) + report(Azadolma-maddə 207.4) + report(Azadolma-maddə 207.5) + report(Azadolma-maddə 207.6) + report(Azadolma-maddə 207.7) + report(Azadolma-maddə 207.8) + report(Azadolma-maddə 207.9) + report(Azadolma-maddə 207.10) + report(Azadolma-maddə 207.11) + report(Azadolma-maddə 207.12) + report(Azadolma-maddə 227.1) )\";\n                \n                await calculate_table_row_field(frm, \"verginin_hesablanması\", rowIndex, \"vergiməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n    },\n    \"verginin_hesablanması_add\": function(frm) {\n        // Обновляем индексы строк после добавления новой строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"verginin_hesablanması_remove\": function(frm) {\n        // Обновляем индексы строк после удаления строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n});\n\n\n        // Функция для обработки и выполнения формул\n            async function processFormula(frm, formula) {\n                try {\n                    // Проверяем наличие вызовов отчетов\n                    if (formula.includes(\"report(\")) {\n                        // Извлекаем все вызовы report() из формулы\n                        const reportRegex = /report\\(([^)]+)\\)/g;\n                        let match;\n                        let processedFormula = formula;\n                        \n                        // Массив для хранения промисов запросов к отчетам\n                        const reportPromises = [];\n                        const reportPlaceholders = [];\n                        \n                        // Находим все вызовы report() и заменяем их на плейсхолдеры\n                        while ((match = reportRegex.exec(formula)) !== null) {\n                            const fullMatch = match[0]; // report(fieldName)\n                            const fieldName = match[1]; // fieldName\n                            \n                            // Создаем уникальный плейсхолдер\n                            const placeholder = `__REPORT_PLACEHOLDER_${reportPromises.length}__`;\n                            \n                            // Ищем данные отчета в хранилище\n                            const reportFields = JSON.parse(frm.doc.report_fields_storage || \"{}\");\n                            const reportField = Object.values(reportFields).find(f => f.name === fieldName);\n                            \n                            if (reportField) {\n                                // Добавляем промис запроса к отчету\n                                reportPromises.push(\n                                    getReportFieldValue(\n                                        frm,\n                                        reportField.report, \n                                        JSON.parse(reportField.filters_json || \"{}\"), \n                                        reportField.field_name, \n                                        reportField.aggregation || 'sum'\n                                    )\n                                );\n                                \n                                // Запоминаем соответствие плейсхолдера и вызова\n                                reportPlaceholders.push({\n                                    placeholder: placeholder,\n                                    original: fullMatch\n                                });\n                                \n                                // Заменяем вызов отчета на плейсхолдер\n                                processedFormula = processedFormula.replace(fullMatch, placeholder);\n                            }\n                        }\n                        \n                        // Если нашли вызовы отчетов, ждем выполнения всех запросов\n                        if (reportPromises.length > 0) {\n                            const reportResults = await Promise.all(reportPromises);\n                            \n                            // Заменяем плейсхолдеры на результаты\n                            for (let i = 0; i < reportPlaceholders.length; i++) {\n                                // Убедимся, что результат - числовое значение\n                                const reportValue = reportResults[i] !== undefined ? Number(reportResults[i]) : 0;\n                                processedFormula = processedFormula.replace(\n                                    reportPlaceholders[i].placeholder, \n                                    reportValue\n                                );\n                            }\n                            \n                            // Теперь формула не содержит вызовов report(), обрабатываем её обычным способом\n                            let transformResult = transform_expression(processedFormula, false);\n                            \n                            // Если есть внешняя трансформация, применяем её\n                            let result;\n                            if (transformResult && transformResult.transformed) {\n                                result = eval(transformResult.transformed);\n                            } else {\n                                // Иначе просто вычисляем выражение\n                                result = eval(processedFormula);\n                            }\n                            \n                            // Возвращаем результат\n                            return isNaN(result) ? 0 : result;\n                        }\n                    }\n                    \n                    // Стандартная обработка для формул без отчетов\n                    let transformResult = transform_expression(formula, false);\n                    let result = eval(transformResult.transformed);\n                    return isNaN(result) ? 0 : result;\n                } catch (e) {\n                    return 0;\n                }\n        }\n\n\n        // Функция для расчета универсальных полей\n        async function calculate_universal_fields(frm) {\n            \n        }\n    \n    // Функция для обработки квартала (rüb) и года (il)\n    function processQuarterDateField(docValues) {\n        // Проверяем, есть ли у нас значения rüb и il\n        if (docValues && docValues.rüb && docValues.il) {\n            // Получаем номер квартала (преобразуем из строки вида \"1 Rüb\" в число 1)\n            const quarterStr = docValues.rüb;\n            const quarterMatch = quarterStr.match(/(\\d+)/);\n            \n            if (!quarterMatch) {\n                return null;\n            }\n            \n            const quarterNum = parseInt(quarterMatch[1]);\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем начальный и конечный месяц квартала\n            let startMonth, endMonth;\n            \n            switch(quarterNum) {\n                case 1:\n                    startMonth = 1; // Январь\n                    endMonth = 3;   // Март\n                    break;\n                case 2:\n                    startMonth = 4; // Апрель\n                    endMonth = 6;   // Июнь\n                    break;\n                case 3:\n                    startMonth = 7; // Июль\n                    endMonth = 9;   // Сентябрь\n                    break;\n                case 4:\n                    startMonth = 10; // Октябрь\n                    endMonth = 12;   // Декабрь\n                    break;\n                default:\n                    return null;\n            }\n            \n            // Определяем первый день квартала (1-е число начального месяца)\n            const firstDay = new Date(year, startMonth - 1, 1);\n            \n            // Последний день квартала (последнее число конечного месяца)\n            const lastDay = new Date(year, endMonth, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(startMonth).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(endMonth).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n    // Функция для обработки специальных полей с азербайджанскими месяцами\n    function processAzerbayjanDateField(docValues) {\n        // Словарь для сопоставления названий месяцев с их номерами\n        const monthNames = {\n            \"Yanvar\": 1,\n            \"Fevral\": 2,\n            \"Mart\": 3,\n            \"Aprel\": 4,\n            \"May\": 5,\n            \"İyun\": 6,\n            \"İyul\": 7,\n            \"Avqust\": 8,\n            \"Sentyabr\": 9,\n            \"Oktyabr\": 10,\n            \"Noyabr\": 11,\n            \"Dekabr\": 12\n        };\n        \n        // Проверяем наличие квартала (rüb) и года (il)\n        if (docValues && docValues.rüb && docValues.il) {\n            // Вызываем специальную функцию для обработки квартала\n            return processQuarterDateField(docValues);\n        }\n        \n        // Проверяем, есть ли у нас значения ay и il\n        if (docValues && docValues.ay && monthNames[docValues.ay]) {\n            // Получаем номер месяца\n            const monthNum = monthNames[docValues.ay];\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем первый день месяца (1-е число)\n            const firstDay = new Date(year, monthNum - 1, 1);\n            \n            // Последний день месяца (получаем последнее число месяца)\n            const lastDay = new Date(year, monthNum, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(monthNum).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(monthNum).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n\n\n// Функция для обработки азербайджанских дат\nfunction processAzerbayjanDateField(docValues) {\n    // Словарь для сопоставления названий месяцев с их номерами\n    const monthNames = {\n        \"Yanvar\": 1,\n        \"Fevral\": 2,\n        \"Mart\": 3,\n        \"Aprel\": 4,\n        \"May\": 5,\n        \"İyun\": 6,\n        \"İyul\": 7,\n        \"Avqust\": 8,\n        \"Sentyabr\": 9,\n        \"Oktyabr\": 10,\n        \"Noyabr\": 11,\n        \"Dekabr\": 12\n    };\n    \n    // Проверяем наличие квартала (rüb) и года (il)\n    if (docValues && docValues.rüb && docValues.il) {\n        // Получаем номер квартала (преобразуем из строки вида \"1 Rüb\" в число 1)\n        const quarterStr = docValues.rüb;\n        const quarterMatch = quarterStr.match(/(\\d+)/);\n        \n        if (!quarterMatch) {\n            return null;\n        }\n        \n        const quarterNum = parseInt(quarterMatch[1]);\n        \n        // Получаем год из поля il или используем текущий год\n        let year = docValues.il || new Date().getFullYear();\n        \n        // Определяем начальный и конечный месяц квартала\n        let startMonth, endMonth;\n        \n        switch(quarterNum) {\n            case 1:\n                startMonth = 1; // Январь\n                endMonth = 3;   // Март\n                break;\n            case 2:\n                startMonth = 4; // Апрель\n                endMonth = 6;   // Июнь\n                break;\n            case 3:\n                startMonth = 7; // Июль\n                endMonth = 9;   // Сентябрь\n                break;\n            case 4:\n                startMonth = 10; // Октябрь\n                endMonth = 12;   // Декабрь\n                break;\n            default:\n                return null;\n        }\n        \n        // Определяем первый день квартала (1-е число начального месяца)\n        const firstDay = new Date(year, startMonth - 1, 1);\n        \n        // Последний день квартала (последнее число конечного месяца)\n        const lastDay = new Date(year, endMonth, 0);\n        \n        // Форматируем даты в формате YYYY-MM-DD\n        const firstDayStr = year + \"-\" + String(startMonth).padStart(2, '0') + \"-01\";\n        const lastDayStr = year + \"-\" + String(endMonth).padStart(2, '0') + \"-\" + String(lastDay.getDate()).padStart(2, '0');            \n        \n        // Возвращаем объект с диапазоном дат\n        return {\n            start: firstDayStr,\n            end: lastDayStr\n        };\n    }\n    \n    // Проверяем, есть ли у нас значения ay и il\n    if (docValues && docValues.ay && monthNames[docValues.ay]) {\n        // Получаем номер месяца\n        const monthNum = monthNames[docValues.ay];\n        \n        // Получаем год из поля il или используем текущий год\n        let year = docValues.il || new Date().getFullYear();\n        \n        // Определяем первый день месяца (1-е число)\n        const firstDay = new Date(year, monthNum - 1, 1);\n        \n        // Последний день месяца (получаем последнее число месяца)\n        const lastDay = new Date(year, monthNum, 0);\n        \n        // Форматируем даты в формате YYYY-MM-DD\n        const firstDayStr = year + \"-\" + String(monthNum).padStart(2, '0') + \"-01\";\n        const lastDayStr = year + \"-\" + String(monthNum).padStart(2, '0') + \"-\" + String(lastDay.getDate()).padStart(2, '0');            \n        \n        // Возвращаем объект с диапазоном дат\n        return {\n            start: firstDayStr,\n            end: lastDayStr\n        };\n    }\n    \n    // Если это не специальное поле или значение не распознано, возвращаем null\n    return null;\n}\n\nasync function getReportFieldValue(frm, reportName, filters, fieldName, aggregation) {\n    try {\n        // Обрабатываем фильтры с возможными ссылками на поля документа\n        const processedFilters = {};\n        \n        for (const key in filters) {\n            let value = filters[key];\n            \n            // Проверяем, является ли значение ссылкой на поле документа\n            if (typeof value === 'string' && value.startsWith('doc.')) {\n                const docField = value.substring(4);\n                if (frm.doc[docField] !== undefined) {\n                    processedFilters[key] = frm.doc[docField];\n                    continue;\n                }\n            }\n            \n            // Обработка специальных переменных\n            if (typeof value === 'string' && value.startsWith('$')) {\n                switch (value) {\n                    case '$DefaultCompany':\n                        // Получаем компанию по умолчанию из настроек или документа\n                        processedFilters[key] = frm.doc.company || frappe.defaults.get_user_default(\"Company\");\n                        continue;\n                        \n                    case '$AyIlSpecial':\n                        // Обрабатываем специальные даты для азербайджанских месяцев/кварталов\n                        const dateRange = processAzerbayjanDateField(frm.doc);\n                        if (dateRange) {\n                            // Для полей from_date и to_date используем соответствующие значения\n                            if (key === 'from_date') {\n                                processedFilters[key] = dateRange.start;\n                            } else if (key === 'to_date') {\n                                processedFilters[key] = dateRange.end;\n                            } else {\n                                // Для других полей используем начальную дату\n                                processedFilters[key] = dateRange.start;\n                            }\n                        } else {\n                            // Если не удалось получить диапазон дат, используем текущую дату\n                            processedFilters[key] = frappe.datetime.get_today();\n                        }\n                        continue;\n                        \n                    default:\n                        // Для других $-переменных оставляем как есть\n                        processedFilters[key] = value;\n                        continue;\n                }\n            }\n            \n            // Обычные значения\n            processedFilters[key] = value;\n        }\n        \n        // Проверяем кеш\n        if (!window.reportCache) window.reportCache = {};\n        \n        const cacheKey = reportName + \"|\" + JSON.stringify(processedFilters) + \"|\" + fieldName + \"|\" + aggregation;\n        const now = new Date().getTime();\n        \n        if (window.reportCache[cacheKey] && \n            window.reportCache[cacheKey].timestamp > now - 5 * 60 * 1000) {\n            return window.reportCache[cacheKey].value;\n        }\n                \n        // Выполняем запрос к серверу\n        try {\n            const result = await frappe.call({\n                method: \"formula_editor.api.run_report_for_formula\",\n                args: {\n                    report_name: reportName,\n                    filters: processedFilters,\n                    field_name: fieldName\n                },\n                freeze: false\n            });\n            \n            if (result && result.message !== undefined) {\n                if (result.message.error) {\n                    console.error('Report error:', result.message.error);\n                    return 0;\n                }                    \n                \n                let value = parseFloat(result.message);\n                if (isNaN(value)) value = 0;\n                \n                // Округляем до 2 знаков после запятой\n                value = Math.round(value * 100) / 100;\n                                \n                // Сохраняем в кеш\n                window.reportCache[cacheKey] = {\n                    value: value,\n                    timestamp: now\n                };\n                                \n                return value;\n            }\n        } catch (err) {\n            console.error('Report field error:', err);\n        }\n        \n        return 0;\n    } catch (error) {\n        console.error('getReportFieldValue error:', error);\n        return 0;\n    }\n}\n\n\n    function transform_expression(expression, for_child_table = false, table_name = null) {\n        let transformed = expression;\n        let needsAsync = false;\n        let reportCalls = [];\n\n        // === Обработка report(...) ===\n        const reportRegex = /report\\(([^)]+)\\)/g;\n        let match;\n        \n        // Находим все вызовы report() в выражении\n        while ((match = reportRegex.exec(expression)) !== null) {\n            const reportName = match[1]; // Имя поля отчета\n            const fullMatch = match[0]; // Полный текст match - \"report(xyz)\"\n            needsAsync = true;\n            \n            // Создаем уникальный плейсхолдер\n            const placeholder = `__REPORT_PLACEHOLDER_${reportCalls.length}__`;\n            \n            // Ищем соответствующее поле отчета по имени\n            \n            if (reportName === \"Azadolma-maddə 207.3\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 207.4\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_4\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 207.5\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_5\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 207.6\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_6\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 207.7\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_7\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 207.8\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_8\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 207.9\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_9\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 207.10\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_10\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 207.11\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_11\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 207.12\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_207_12\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Azadolma-maddə 227.1\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Land Tax Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"vm_227_1\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n        }\n\n        // === Обработка table(...) ===\n        const tableRegex = /table\\(([^,)]+),\\s*([^,)]+),\\s*([^)]+)\\)/g;\n        let tableMatch;\n        while ((tableMatch = tableRegex.exec(expression)) !== null) {\n            const fullMatch = tableMatch[0];\n            const tableName = tableMatch[1].trim().replace(/['\"]/g, '');\n            const rowNumber = tableMatch[2].trim();\n            const fieldName = tableMatch[3].trim().replace(/['\"]/g, '');\n            \n            const replacement = `(function() { \n                try {\n                    if (!frm.doc[\"${tableName}\"] || !frm.doc[\"${tableName}\"][${rowNumber} - 1]) {\n                        return 0;\n                    }\n                    const value = frm.doc[\"${tableName}\"][${rowNumber} - 1][\"${fieldName}\"];\n                    return parseFloat(value) || 0;\n                } catch (e) {\n                    return 0;\n                }\n            })()`;\n            \n            transformed = transformed.replace(fullMatch, replacement);\n        }\n\n        // === Обработка universal полей ===\n        \n\n        // === Обработка val() и row() ===\n        // Динамически получаем список всех табличных частей из DocType\n        const tablePrefixes = [\"verginin_hesablanması\",\"əlavə_1\",\"əlavə_2\"];\n\n        for (const prefix of tablePrefixes) {\n            const sumPattern = new RegExp(`sum\\\\(${prefix}_([^)]+)\\\\)`, 'g');\n            transformed = transformed.replace(sumPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n\n            const valPattern = new RegExp(`val\\\\(${prefix}_([^)]+)\\\\)`, 'g');\n            transformed = transformed.replace(valPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n        }\n\n        if (for_child_table) {\n            transformed = transformed.replace(/row\\(([^)]+)\\)/g, (m, f) => \n                `(parseFloat(row[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/val\\(([^)]+)\\)/g, (m, f) => {\n                if (f.startsWith(table_name + '_')) {\n                    return `(parseFloat(row[\"${f.slice(table_name.length + 1)}\"]) || 0)`;\n                }\n                return `(parseFloat(frm.doc[\"${f}\"]) || 0)`;\n            });\n        } else {\n            transformed = transformed.replace(/val\\(([^)]+)\\)/g, (m, f) => \n                `(parseFloat(frm.doc[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/row\\(([^)]+)\\)/g, () => \n                `0 /* ERROR: row() вне табличной части */`\n            );\n        }\n\n        return { transformed, needsAsync, reportCalls };\n    }\n\n\n// Функция для получения индекса строки по её имени (name/cdn)\nfunction get_row_index(frm, tableName, rowName) {\n    \n    // Проверяем наличие таблицы\n    if (!frm.doc[tableName]) {\n        return -1;\n    }\n    \n    // Выводим все строки для отладки\n    frm.doc[tableName].forEach((row, idx) => {\n    });\n    \n    // Ищем индекс строки по имени\n    for (let i = 0; i < frm.doc[tableName].length; i++) {\n        if (frm.doc[tableName][i].name === rowName) {\n            return i;\n        }\n    }\n    return -1;\n}\n\n// Функция для доступа к полям конкретных строк таблицы\nfunction table_row(tableName, rowIndex, fieldName) {\n    // Проверяем наличие необходимых аргументов\n    if (!tableName || rowIndex === undefined || !fieldName) {\n        return 0;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return 0;\n        }\n        \n        // Получаем значение поля\n        const value = frm.doc[tableName][rowIdx][fieldName];\n        \n        // Проверяем на NaN и возвращаем значение или 0\n        const numValue = parseFloat(value);\n        if (isNaN(numValue)) {\n            return 0;\n        }\n        return numValue;\n    } catch (error) {\n        return 0;\n    }\n}\n\n// Функция для обновления значения поля конкретной строки таблицы\nfunction set_table_row(frm, tableName, rowIndex, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || rowIndex === undefined || !fieldName) {\n        return false;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return false;\n        }\n        \n        // Получаем строку таблицы\n        const row = frm.doc[tableName][rowIdx];\n        \n        // Получаем сетевое имя cdt и cdn для Frappe\n        const cdt = frm.fields_dict[tableName].grid.doctype;\n        const cdn = row.name;\n        \n        // Проверяем, является ли значение NaN, и если да, заменяем его на 0\n        let finalValue = value;\n        if (typeof value === 'number' && isNaN(value)) {\n            finalValue = 0;\n        }\n        \n        // Обновляем значение поля\n        frappe.model.set_value(cdt, cdn, fieldName, finalValue);\n        \n        return true;\n    } catch (error) {\n        return false;\n    }\n}\n\n// Функция для поиска строки таблицы по значению поля\nfunction find_table_row(frm, tableName, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || !fieldName) {\n        return -1;\n    }\n    \n    try {\n        // Проверяем наличие таблицы\n        if (!frm.doc[tableName]) {\n            return -1;\n        }\n        \n        // Ищем строку с указанным значением поля\n        for (let i = 0; i < frm.doc[tableName].length; i++) {\n            if (frm.doc[tableName][i][fieldName] == value) {\n                // Возвращаем индекс строки (начиная с 1 для пользователя)\n                return i + 1;\n            }\n        }\n        \n        // Если строка не найдена\n        return -1;\n    } catch (error) {\n        return -1;\n    }\n}\n\n\n                    async function calculate_mobnömrə1(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(601umumi_sahə)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"mobnömrə1\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_ümumisahə(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(601umumi_sahə)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"ümumisahə\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_vergiyəcəlbolunmayansahə(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(601cəlb)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"vergiyəcəlbolunmayansahə\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_vergiməbləğimanatla(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(601umumi)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"vergiməbləğimanatla\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_ümumisahə2(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(602umumi_sahə)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"ümumisahə2\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_vergiyəcəlbolunmayansahə2(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(602cəlb)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"vergiyəcəlbolunmayansahə2\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_vergiməbləğimanatla2(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(602umumi)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"vergiməbləğimanatla2\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_vergiməbləğimanatla3(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(601umumi) + val(602umumi)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"vergiməbləğimanatla3\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_ümumisahə4(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(əlavə_2_torpaqsahəsikvmetrləümumisahə)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"ümumisahə4\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_vergiyəcəlbolunmayansahə4(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(əlavə_2_torpaqsahəsikvmetrləocümlədənvergiyəcəlbolunmayansahə)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"vergiyəcəlbolunmayansahə4\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_vergiməbləğimanatla4(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"val(əlavə_2_vergiməbləğimanatla)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"vergiməbləğimanatla4\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n    // Функция для инициализации формул строк табличных частей\n    function initialize_table_row_formulas(frm) {\n        try {\n            // Получаем информацию о формулах для строк табличных частей\n            const formulas = JSON.parse(frm.doc.table_row_formulas_storage || \"{}\");\n            \n            // ВАЖНО: Преобразуем объект в массив и сортируем его по порядку выполнения\n            const sortedFormulas = Object.entries(formulas).map(([id, formula]) => {\n                return { id, ...formula };\n            }).sort((a, b) => {\n                // Сортировка по значению поля order (если порядок не задан, используем 10 по умолчанию)\n                const orderA = a.order !== undefined ? parseInt(a.order) : 10;\n                const orderB = b.order !== undefined ? parseInt(b.order) : 10;\n                return orderA - orderB;\n            });\n            \n            // Группируем формулы по табличным частям и строкам\n            const formulasByTableAndRow = {};\n            \n            sortedFormulas.forEach(formula => {\n                const tableName = formula.table_name;\n                const rowIndex = parseInt(formula.row_index);\n                \n                if (!formulasByTableAndRow[tableName]) {\n                    formulasByTableAndRow[tableName] = {};\n                }\n                \n                if (!formulasByTableAndRow[tableName][rowIndex]) {\n                    formulasByTableAndRow[tableName][rowIndex] = [];\n                }\n                \n                formulasByTableAndRow[tableName][rowIndex].push(formula);\n            });\n            \n            // Устанавливаем обработчики для каждой табличной части\n            Object.keys(formulasByTableAndRow).forEach(tableName => {\n                if (!frm.doc[tableName]) {\n                    return;\n                }\n                \n                // Для каждой строки таблицы\n                frm.doc[tableName].forEach((row, rowIdx) => {\n                    // Получаем отсортированные формулы для текущей строки (строки нумеруются с 1, а индексы с 0)\n                    const rowFormulas = formulasByTableAndRow[tableName][rowIdx + 1] || [];\n                    \n                    // Выполняем формулы в порядке сортировки (по полю order)\n                    for (const formula of rowFormulas) {\n                        try {\n                            // Определяем необходимость асинхронного вызова\n                            const usesUniversal = formula.formula && formula.formula.includes(\"univ(\");\n                            const usesReports = formula.formula && formula.formula.includes(\"report(\");\n                            \n                            // Вызываем расчет формулы согласно установленному порядку\n                            if (usesUniversal || usesReports) {\n                                // Для асинхронных вызовов используем await в асинхронной IIFE\n                                (async () => {\n                                    try {\n                                        await calculate_table_row_field(frm, tableName, rowIdx, formula.field_name, formula.formula, \"refresh\");\n                                    } catch (asyncError) {\n                                    }\n                                })();\n                            } else {\n                                // Для синхронных вызовов выполняем напрямую\n                                calculate_table_row_field(frm, tableName, rowIdx, formula.field_name, formula.formula, \"refresh\");\n                            }\n                        } catch (error) {\n                        }\n                    }\n                });\n            });\n        } catch (error) {\n        }\n    }\n\n\n// Функция для расчета значения поля в строке табличной части\nasync function calculate_table_row_field(frm, tableName, rowIndex, fieldName, formula, triggerField) {\n    try {\n        \n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIndex]) {\n            return;\n        }\n\n        const row = frm.doc[tableName][rowIndex];\n        const cdt = frm.fields_dict[tableName].grid.doctype;\n        const cdn = row.name;\n        \n        // === ЕДИНАЯ ТОЧКА ОБРАБОТКИ ВСЕХ ФУНКЦИЙ ===\n        let finalFormula, reportCalls;\n        \n        try {\n            // Используем transform_expression как единственную точку преобразования\n            const transformResult = transform_expression(formula, true, tableName);\n            \n            if (transformResult) {\n                finalFormula = transformResult.transformed;\n                reportCalls = transformResult.reportCalls || [];\n            } else {\n                finalFormula = formula;\n                reportCalls = [];\n            }\n        } catch (transformError) {\n            console.error('Ошибка transform_expression:', transformError);\n            finalFormula = formula;\n            reportCalls = [];\n        }\n        \n        // === ОБРАБОТКА АСИНХРОННЫХ ВЫЗОВОВ ОТЧЕТОВ ===\n        if (reportCalls && reportCalls.length > 0) {\n            try {\n                // Выполняем все асинхронные запросы к отчетам параллельно\n                const reportResults = await Promise.all(\n                    reportCalls.map(call => \n                        getReportFieldValue(\n                            frm,\n                            call.reportName,\n                            call.filters,\n                            call.fieldName,\n                            call.aggregation\n                        )\n                    )\n                );\n                \n                // Заменяем плейсхолдеры на реальные значения\n                for (let i = 0; i < reportCalls.length; i++) {\n                    const reportValue = reportResults[i] !== undefined ? Number(reportResults[i]) : 0;\n                    finalFormula = finalFormula.replace(\n                        reportCalls[i].placeholder, \n                        reportValue\n                    );\n                }\n            } catch (reportError) {\n                console.error('Ошибка получения данных отчетов:', reportError);\n                // В случае ошибки заменяем все плейсхолдеры на 0\n                for (const call of reportCalls) {\n                    finalFormula = finalFormula.replace(call.placeholder, 0);\n                }\n            }\n        }\n        \n        // === ВЫЧИСЛЕНИЕ ФИНАЛЬНОЙ ФОРМУЛЫ ===\n        let result = 0;\n        try {\n            // Создаем функцию с доступом к контексту row и frm\n            const evalFunc = new Function('row', 'frm', `return ${finalFormula};`);\n            result = evalFunc(row, frm);\n        } catch (evalError) {\n            console.error('Ошибка вычисления формулы:', evalError, 'Formula:', finalFormula);\n        }\n\n        if (isNaN(result)) {\n            result = 0;\n        }\n\n        // Устанавливаем вычисленное значение\n        frappe.model.set_value(cdt, cdn, fieldName, result);\n\n        // Обновляем таблицу\n        frm.refresh_field(tableName);\n    } catch (err) {\n        console.error('Ошибка в calculate_table_row_field:', err);\n    }\n}\n\n\n// Функция для получения индекса строки по её имени\nfunction get_row_index(frm, tableName, rowName) {\n    \n    // Проверяем наличие таблицы\n    if (!frm.doc[tableName]) {\n        return -1;\n    }\n    \n    // Ищем индекс строки по имени\n    for (let i = 0; i < frm.doc[tableName].length; i++) {\n        if (frm.doc[tableName][i].name === rowName) {\n            return i;\n        }\n    }\n    return -1;\n}",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2026-02-12 14:25:38.157221",
  "module": "Taxes Az",
  "name": "Formula_Editor_Script_for_Property tax return",
  "script": "// Generated by Formula Editor\nfrappe.ui.form.on(\"Property tax return\", {\n    \"refresh\": function(frm) {\n        initialize_table_row_formulas(frm);\n    },\n    \"il\": function(frm) {\n        \n        // Формула строки 1 в таблице vergi_hesab_1ci_1 (порядок: 1)\n        if (frm.doc.vergi_hesab_1ci_1 && frm.doc.vergi_hesab_1ci_1.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"table(elave_1, 23, hesabatiliərzindəəsasvəsaitlərinqalıqdəyəri) + table(elave_2, 12, hesabatilierzindeuçotaalınan)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci_1\", rowIndex, \"manatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице vergi_hesab_1ci_1 (порядок: 2)\n        if (frm.doc.vergi_hesab_1ci_1 && frm.doc.vergi_hesab_1ci_1.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"table(elave_2, 12, hesabatilierzindeuçotaalınan)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci_1\", rowIndex, \"manatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице vergi_hesab_1ci_1 (порядок: 3)\n        if (frm.doc.vergi_hesab_1ci_1 && frm.doc.vergi_hesab_1ci_1.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"table(elave_1, 23, hesabatiliərzindəəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci_1\", rowIndex, \"manatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице vergi_hesab_2ci (порядок: 4)\n        if (frm.doc.vergi_hesab_2ci && frm.doc.vergi_hesab_2ci.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"table(elave_1, 23, ilinsonunaəsasvəsaitlərinqalıqdəyəri) + table(elave_2, 12, hesabatilinsonunaəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_2ci\", rowIndex, \"manatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице vergi_hesab_2ci (порядок: 5)\n        if (frm.doc.vergi_hesab_2ci && frm.doc.vergi_hesab_2ci.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"table(elave_2, 12, hesabatilinsonunaəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_2ci\", rowIndex, \"manatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице vergi_hesab_2ci (порядок: 6)\n        if (frm.doc.vergi_hesab_2ci && frm.doc.vergi_hesab_2ci.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"table(elave_1, 23, ilinsonunaəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_2ci\", rowIndex, \"manatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице vergi_hesab_4cu (порядок: 7)\n        if (frm.doc.vergi_hesab_4cu && frm.doc.vergi_hesab_4cu.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"1\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_4cu\", rowIndex, \"faizlə\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице vergi_hesab_1ci (порядок: 8)\n        if (frm.doc.vergi_hesab_1ci && frm.doc.vergi_hesab_1ci.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"table(elave_1, 23, hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyərimanatla5012) + table(elave_2, 12, hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci\", rowIndex, \"manatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице vergi_hesab_1ci (порядок: 9)\n        if (frm.doc.vergi_hesab_1ci && frm.doc.vergi_hesab_1ci.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"table(elave_2, 12, hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci\", rowIndex, \"manatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице vergi_hesab_1ci (порядок: 10)\n        if (frm.doc.vergi_hesab_1ci && frm.doc.vergi_hesab_1ci.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"table(elave_1, 23, hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyərimanatla5012)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci\", rowIndex, \"manatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n    },\n    \"il_erzinde\": function(frm) {\n        \n        // Формула строки 1 в таблице vergi_hesab_1ci_1 (порядок: 1)\n        if (frm.doc.vergi_hesab_1ci_1 && frm.doc.vergi_hesab_1ci_1.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"table(elave_1, 23, hesabatiliərzindəəsasvəsaitlərinqalıqdəyəri) + table(elave_2, 12, hesabatilierzindeuçotaalınan)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci_1\", rowIndex, \"manatla\", formula, \"il_erzinde\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице vergi_hesab_1ci_1 (порядок: 2)\n        if (frm.doc.vergi_hesab_1ci_1 && frm.doc.vergi_hesab_1ci_1.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"table(elave_2, 12, hesabatilierzindeuçotaalınan)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci_1\", rowIndex, \"manatla\", formula, \"il_erzinde\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице vergi_hesab_1ci_1 (порядок: 3)\n        if (frm.doc.vergi_hesab_1ci_1 && frm.doc.vergi_hesab_1ci_1.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"table(elave_1, 23, hesabatiliərzindəəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci_1\", rowIndex, \"manatla\", formula, \"il_erzinde\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице vergi_hesab_2ci (порядок: 4)\n        if (frm.doc.vergi_hesab_2ci && frm.doc.vergi_hesab_2ci.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"table(elave_1, 23, ilinsonunaəsasvəsaitlərinqalıqdəyəri) + table(elave_2, 12, hesabatilinsonunaəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_2ci\", rowIndex, \"manatla\", formula, \"il_erzinde\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице vergi_hesab_2ci (порядок: 5)\n        if (frm.doc.vergi_hesab_2ci && frm.doc.vergi_hesab_2ci.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"table(elave_2, 12, hesabatilinsonunaəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_2ci\", rowIndex, \"manatla\", formula, \"il_erzinde\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице vergi_hesab_2ci (порядок: 6)\n        if (frm.doc.vergi_hesab_2ci && frm.doc.vergi_hesab_2ci.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"table(elave_1, 23, ilinsonunaəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_2ci\", rowIndex, \"manatla\", formula, \"il_erzinde\");\n            } catch (error) {\n            }\n        }\n    },\n    \"tam_il\": function(frm) {\n        \n        // Формула строки 1 в таблице vergi_hesab_1ci (порядок: 8)\n        if (frm.doc.vergi_hesab_1ci && frm.doc.vergi_hesab_1ci.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"table(elave_1, 23, hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyərimanatla5012) + table(elave_2, 12, hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci\", rowIndex, \"manatla\", formula, \"tam_il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице vergi_hesab_1ci (порядок: 9)\n        if (frm.doc.vergi_hesab_1ci && frm.doc.vergi_hesab_1ci.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"table(elave_2, 12, hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyəri)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci\", rowIndex, \"manatla\", formula, \"tam_il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице vergi_hesab_1ci (порядок: 10)\n        if (frm.doc.vergi_hesab_1ci && frm.doc.vergi_hesab_1ci.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"table(elave_1, 23, hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyərimanatla5012)\";\n                \n                calculate_table_row_field(frm, \"vergi_hesab_1ci\", rowIndex, \"manatla\", formula, \"tam_il\");\n            } catch (error) {\n            }\n        }\n    },\n    \"vergi_hesab_1ci_1_add\": function(frm) {\n        // Обновляем индексы строк после добавления новой строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"vergi_hesab_1ci_1_remove\": function(frm) {\n        // Обновляем индексы строк после удаления строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"vergi_hesab_2ci_add\": function(frm) {\n        // Обновляем индексы строк после добавления новой строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"vergi_hesab_2ci_remove\": function(frm) {\n        // Обновляем индексы строк после удаления строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"vergi_hesab_4cu_add\": function(frm) {\n        // Обновляем индексы строк после добавления новой строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"vergi_hesab_4cu_remove\": function(frm) {\n        // Обновляем индексы строк после удаления строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"vergi_hesab_1ci_add\": function(frm) {\n        // Обновляем индексы строк после добавления новой строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"vergi_hesab_1ci_remove\": function(frm) {\n        // Обновляем индексы строк после удаления строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n});\n\n\n        // Функция для обработки и выполнения формул\n            async function processFormula(frm, formula) {\n                try {\n                    // Проверяем наличие вызовов отчетов\n                    if (formula.includes(\"report(\")) {\n                        // Извлекаем все вызовы report() из формулы\n                        const reportRegex = /report\\(([^)]+)\\)/g;\n                        let match;\n                        let processedFormula = formula;\n                        \n                        // Массив для хранения промисов запросов к отчетам\n                        const reportPromises = [];\n                        const reportPlaceholders = [];\n                        \n                        // Находим все вызовы report() и заменяем их на плейсхолдеры\n                        while ((match = reportRegex.exec(formula)) !== null) {\n                            const fullMatch = match[0]; // report(fieldName)\n                            const fieldName = match[1]; // fieldName\n                            \n                            // Создаем уникальный плейсхолдер\n                            const placeholder = `__REPORT_PLACEHOLDER_${reportPromises.length}__`;\n                            \n                            // Ищем данные отчета в хранилище\n                            const reportFields = JSON.parse(frm.doc.report_fields_storage || \"{}\");\n                            const reportField = Object.values(reportFields).find(f => f.name === fieldName);\n                            \n                            if (reportField) {\n                                // Добавляем промис запроса к отчету\n                                reportPromises.push(\n                                    getReportFieldValue(\n                                        frm,\n                                        reportField.report, \n                                        JSON.parse(reportField.filters_json || \"{}\"), \n                                        reportField.field_name, \n                                        reportField.aggregation || 'sum'\n                                    )\n                                );\n                                \n                                // Запоминаем соответствие плейсхолдера и вызова\n                                reportPlaceholders.push({\n                                    placeholder: placeholder,\n                                    original: fullMatch\n                                });\n                                \n                                // Заменяем вызов отчета на плейсхолдер\n                                processedFormula = processedFormula.replace(fullMatch, placeholder);\n                            }\n                        }\n                        \n                        // Если нашли вызовы отчетов, ждем выполнения всех запросов\n                        if (reportPromises.length > 0) {\n                            const reportResults = await Promise.all(reportPromises);\n                            \n                            // Заменяем плейсхолдеры на результаты\n                            for (let i = 0; i < reportPlaceholders.length; i++) {\n                                // Убедимся, что результат - числовое значение\n                                const reportValue = reportResults[i] !== undefined ? Number(reportResults[i]) : 0;\n                                processedFormula = processedFormula.replace(\n                                    reportPlaceholders[i].placeholder, \n                                    reportValue\n                                );\n                            }\n                            \n                            // Теперь формула не содержит вызовов report(), обрабатываем её обычным способом\n                            let transformResult = transform_expression(processedFormula, false);\n                            \n                            // Если есть внешняя трансформация, применяем её\n                            let result;\n                            if (transformResult && transformResult.transformed) {\n                                result = eval(transformResult.transformed);\n                            } else {\n                                // Иначе просто вычисляем выражение\n                                result = eval(processedFormula);\n                            }\n                            \n                            // Возвращаем результат\n                            return isNaN(result) ? 0 : result;\n                        }\n                    }\n                    \n                    // Стандартная обработка для формул без отчетов\n                    let transformResult = transform_expression(formula, false);\n                    let result = eval(transformResult.transformed);\n                    return isNaN(result) ? 0 : result;\n                } catch (e) {\n                    return 0;\n                }\n        }\n\n\n        // Функция для расчета универсальных полей\n        async function calculate_universal_fields(frm) {\n            \n        }\n    \n    // Функция для обработки квартала (rüb) и года (il)\n    function processQuarterDateField(docValues) {\n        // Проверяем, есть ли у нас значения rüb и il\n        if (docValues && docValues.rüb && docValues.il) {\n            // Получаем номер квартала (преобразуем из строки вида \"1 Rüb\" в число 1)\n            const quarterStr = docValues.rüb;\n            const quarterMatch = quarterStr.match(/(\\d+)/);\n            \n            if (!quarterMatch) {\n                return null;\n            }\n            \n            const quarterNum = parseInt(quarterMatch[1]);\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем начальный и конечный месяц квартала\n            let startMonth, endMonth;\n            \n            switch(quarterNum) {\n                case 1:\n                    startMonth = 1; // Январь\n                    endMonth = 3;   // Март\n                    break;\n                case 2:\n                    startMonth = 4; // Апрель\n                    endMonth = 6;   // Июнь\n                    break;\n                case 3:\n                    startMonth = 7; // Июль\n                    endMonth = 9;   // Сентябрь\n                    break;\n                case 4:\n                    startMonth = 10; // Октябрь\n                    endMonth = 12;   // Декабрь\n                    break;\n                default:\n                    return null;\n            }\n            \n            // Определяем первый день квартала (1-е число начального месяца)\n            const firstDay = new Date(year, startMonth - 1, 1);\n            \n            // Последний день квартала (последнее число конечного месяца)\n            const lastDay = new Date(year, endMonth, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(startMonth).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(endMonth).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n    // Функция для обработки специальных полей с азербайджанскими месяцами\n    function processAzerbayjanDateField(docValues) {\n        // Словарь для сопоставления названий месяцев с их номерами\n        const monthNames = {\n            \"Yanvar\": 1,\n            \"Fevral\": 2,\n            \"Mart\": 3,\n            \"Aprel\": 4,\n            \"May\": 5,\n            \"İyun\": 6,\n            \"İyul\": 7,\n            \"Avqust\": 8,\n            \"Sentyabr\": 9,\n            \"Oktyabr\": 10,\n            \"Noyabr\": 11,\n            \"Dekabr\": 12\n        };\n        \n        // Проверяем наличие квартала (rüb) и года (il)\n        if (docValues && docValues.rüb && docValues.il) {\n            // Вызываем специальную функцию для обработки квартала\n            return processQuarterDateField(docValues);\n        }\n        \n        // Проверяем, есть ли у нас значения ay и il\n        if (docValues && docValues.ay && monthNames[docValues.ay]) {\n            // Получаем номер месяца\n            const monthNum = monthNames[docValues.ay];\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем первый день месяца (1-е число)\n            const firstDay = new Date(year, monthNum - 1, 1);\n            \n            // Последний день месяца (получаем последнее число месяца)\n            const lastDay = new Date(year, monthNum, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(monthNum).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(monthNum).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n\n\n    function transform_expression(expression, for_child_table = false, table_name = null) {\n        let transformed = expression;\n        let needsAsync = false;\n        let reportCalls = [];\n\n        // === Обработка report(...) ===\n        const reportRegex = /report\\(([^)]+)\\)/g;\n        let match;\n        \n        // Находим все вызовы report() в выражении\n        while ((match = reportRegex.exec(expression)) !== null) {\n            const reportName = match[1]; // Имя поля отчета\n            const fullMatch = match[0]; // Полный текст match - \"report(xyz)\"\n            needsAsync = true;\n            \n            // Создаем уникальный плейсхолдер\n            const placeholder = `__REPORT_PLACEHOLDER_${reportCalls.length}__`;\n            \n            // Ищем соответствующее поле отчета по имени\n            \n        }\n\n        // === Обработка table(...) ===\n        const tableRegex = /table\\(([^,)]+),\\s*([^,)]+),\\s*([^)]+)\\)/g;\n        let tableMatch;\n        while ((tableMatch = tableRegex.exec(expression)) !== null) {\n            const fullMatch = tableMatch[0];\n            const tableName = tableMatch[1].trim().replace(/['\"]/g, '');\n            const rowNumber = tableMatch[2].trim();\n            const fieldName = tableMatch[3].trim().replace(/['\"]/g, '');\n            \n            const replacement = `(function() { \n                try {\n                    if (!frm.doc[\"${tableName}\"] || !frm.doc[\"${tableName}\"][${rowNumber} - 1]) {\n                        return 0;\n                    }\n                    const value = frm.doc[\"${tableName}\"][${rowNumber} - 1][\"${fieldName}\"];\n                    return parseFloat(value) || 0;\n                } catch (e) {\n                    return 0;\n                }\n            })()`;\n            \n            transformed = transformed.replace(fullMatch, replacement);\n        }\n\n        // === Обработка universal полей ===\n        \n\n        // === Обработка val() и row() ===\n        // Динамически получаем список всех табличных частей из DocType\n        const tablePrefixes = [\"vergi_hesab_1ci\",\"vergi_hesab_1ci_1\",\"vergi_hesab_2ci\",\"vergi_hesab_3cu\",\"vergi_hesab_4cu\",\"vergi_hesab_4cu_1\",\"vergi_hesab_5ci\",\"vergi_hesab_6ci\",\"elave_1\",\"elave_2\"];\n\n        for (const prefix of tablePrefixes) {\n            const sumPattern = new RegExp(`sum\\\\(${prefix}_([^)]+)\\\\)`, 'g');\n            transformed = transformed.replace(sumPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n\n            const valPattern = new RegExp(`val\\\\(${prefix}_([^)]+)\\\\)`, 'g');\n            transformed = transformed.replace(valPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n        }\n\n        if (for_child_table) {\n            transformed = transformed.replace(/row\\(([^)]+)\\)/g, (m, f) => \n                `(parseFloat(row[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/val\\(([^)]+)\\)/g, (m, f) => {\n                if (f.startsWith(table_name + '_')) {\n                    return `(parseFloat(row[\"${f.slice(table_name.length + 1)}\"]) || 0)`;\n                }\n                return `(parseFloat(frm.doc[\"${f}\"]) || 0)`;\n            });\n        } else {\n            transformed = transformed.replace(/val\\(([^)]+)\\)/g, (m, f) => \n                `(parseFloat(frm.doc[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/row\\(([^)]+)\\)/g, () => \n                `0 /* ERROR: row() вне табличной части */`\n            );\n        }\n\n        return { transformed, needsAsync, reportCalls };\n    }\n\n\n// Функция для получения индекса строки по её имени (name/cdn)\nfunction get_row_index(frm, tableName, rowName) {\n    \n    // Проверяем наличие таблицы\n    if (!frm.doc[tableName]) {\n        return -1;\n    }\n    \n    // Выводим все строки для отладки\n    frm.doc[tableName].forEach((row, idx) => {\n    });\n    \n    // Ищем индекс строки по имени\n    for (let i = 0; i < frm.doc[tableName].length; i++) {\n        if (frm.doc[tableName][i].name === rowName) {\n            return i;\n        }\n    }\n    return -1;\n}\n\n// Функция для доступа к полям конкретных строк таблицы\nfunction table_row(tableName, rowIndex, fieldName) {\n    // Проверяем наличие необходимых аргументов\n    if (!tableName || rowIndex === undefined || !fieldName) {\n        return 0;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return 0;\n        }\n        \n        // Получаем значение поля\n        const value = frm.doc[tableName][rowIdx][fieldName];\n        \n        // Проверяем на NaN и возвращаем значение или 0\n        const numValue = parseFloat(value);\n        if (isNaN(numValue)) {\n            return 0;\n        }\n        return numValue;\n    } catch (error) {\n        return 0;\n    }\n}\n\n// Функция для обновления значения поля конкретной строки таблицы\nfunction set_table_row(frm, tableName, rowIndex, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || rowIndex === undefined || !fieldName) {\n        return false;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return false;\n        }\n        \n        // Получаем строку таблицы\n        const row = frm.doc[tableName][rowIdx];\n        \n        // Получаем сетевое имя cdt и cdn для Frappe\n        const cdt = frm.fields_dict[tableName].grid.doctype;\n        const cdn = row.name;\n        \n        // Проверяем, является ли значение NaN, и если да, заменяем его на 0\n        let finalValue = value;\n        if (typeof value === 'number' && isNaN(value)) {\n            finalValue = 0;\n        }\n        \n        // Обновляем значение поля\n        frappe.model.set_value(cdt, cdn, fieldName, finalValue);\n        \n        return true;\n    } catch (error) {\n        return false;\n    }\n}\n\n// Функция для поиска строки таблицы по значению поля\nfunction find_table_row(frm, tableName, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || !fieldName) {\n        return -1;\n    }\n    \n    try {\n        // Проверяем наличие таблицы\n        if (!frm.doc[tableName]) {\n            return -1;\n        }\n        \n        // Ищем строку с указанным значением поля\n        for (let i = 0; i < frm.doc[tableName].length; i++) {\n            if (frm.doc[tableName][i][fieldName] == value) {\n                // Возвращаем индекс строки (начиная с 1 для пользователя)\n                return i + 1;\n            }\n        }\n        \n        // Если строка не найдена\n        return -1;\n    } catch (error) {\n        return -1;\n    }\n}\n\n\n    // Функция для инициализации формул строк табличных частей\n    function initialize_table_row_formulas(frm) {\n        try {\n            // Получаем информацию о формулах для строк табличных частей\n            const formulas = JSON.parse(frm.doc.table_row_formulas_storage || \"{}\");\n            \n            // ВАЖНО: Преобразуем объект в массив и сортируем его по порядку выполнения\n            const sortedFormulas = Object.entries(formulas).map(([id, formula]) => {\n                return { id, ...formula };\n            }).sort((a, b) => {\n                // Сортировка по значению поля order (если порядок не задан, используем 10 по умолчанию)\n                const orderA = a.order !== undefined ? parseInt(a.order) : 10;\n                const orderB = b.order !== undefined ? parseInt(b.order) : 10;\n                return orderA - orderB;\n            });\n            \n            // Группируем формулы по табличным частям и строкам\n            const formulasByTableAndRow = {};\n            \n            sortedFormulas.forEach(formula => {\n                const tableName = formula.table_name;\n                const rowIndex = parseInt(formula.row_index);\n                \n                if (!formulasByTableAndRow[tableName]) {\n                    formulasByTableAndRow[tableName] = {};\n                }\n                \n                if (!formulasByTableAndRow[tableName][rowIndex]) {\n                    formulasByTableAndRow[tableName][rowIndex] = [];\n                }\n                \n                formulasByTableAndRow[tableName][rowIndex].push(formula);\n            });\n            \n            // Устанавливаем обработчики для каждой табличной части\n            Object.keys(formulasByTableAndRow).forEach(tableName => {\n                if (!frm.doc[tableName]) {\n                    return;\n                }\n                \n                // Для каждой строки таблицы\n                frm.doc[tableName].forEach((row, rowIdx) => {\n                    // Получаем отсортированные формулы для текущей строки (строки нумеруются с 1, а индексы с 0)\n                    const rowFormulas = formulasByTableAndRow[tableName][rowIdx + 1] || [];\n                    \n                    // Выполняем формулы в порядке сортировки (по полю order)\n                    for (const formula of rowFormulas) {\n                        try {\n                            // Определяем необходимость асинхронного вызова\n                            const usesUniversal = formula.formula && formula.formula.includes(\"univ(\");\n                            const usesReports = formula.formula && formula.formula.includes(\"report(\");\n                            \n                            // Вызываем расчет формулы согласно установленному порядку\n                            if (usesUniversal || usesReports) {\n                                // Для асинхронных вызовов используем await в асинхронной IIFE\n                                (async () => {\n                                    try {\n                                        await calculate_table_row_field(frm, tableName, rowIdx, formula.field_name, formula.formula, \"refresh\");\n                                    } catch (asyncError) {\n                                    }\n                                })();\n                            } else {\n                                // Для синхронных вызовов выполняем напрямую\n                                calculate_table_row_field(frm, tableName, rowIdx, formula.field_name, formula.formula, \"refresh\");\n                            }\n                        } catch (error) {\n                        }\n                    }\n                });\n            });\n        } catch (error) {\n        }\n    }\n\n\n// Функция для расчета значения поля в строке табличной части\nasync function calculate_table_row_field(frm, tableName, rowIndex, fieldName, formula, triggerField) {\n    try {\n        \n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIndex]) {\n            return;\n        }\n\n        const row = frm.doc[tableName][rowIndex];\n        const cdt = frm.fields_dict[tableName].grid.doctype;\n        const cdn = row.name;\n        \n        // === ЕДИНАЯ ТОЧКА ОБРАБОТКИ ВСЕХ ФУНКЦИЙ ===\n        let finalFormula, reportCalls;\n        \n        try {\n            // Используем transform_expression как единственную точку преобразования\n            const transformResult = transform_expression(formula, true, tableName);\n            \n            if (transformResult) {\n                finalFormula = transformResult.transformed;\n                reportCalls = transformResult.reportCalls || [];\n            } else {\n                finalFormula = formula;\n                reportCalls = [];\n            }\n        } catch (transformError) {\n            console.error('Ошибка transform_expression:', transformError);\n            finalFormula = formula;\n            reportCalls = [];\n        }\n        \n        // === ОБРАБОТКА АСИНХРОННЫХ ВЫЗОВОВ ОТЧЕТОВ ===\n        if (reportCalls && reportCalls.length > 0) {\n            try {\n                // Выполняем все асинхронные запросы к отчетам параллельно\n                const reportResults = await Promise.all(\n                    reportCalls.map(call => \n                        getReportFieldValue(\n                            frm,\n                            call.reportName,\n                            call.filters,\n                            call.fieldName,\n                            call.aggregation\n                        )\n                    )\n                );\n                \n                // Заменяем плейсхолдеры на реальные значения\n                for (let i = 0; i < reportCalls.length; i++) {\n                    const reportValue = reportResults[i] !== undefined ? Number(reportResults[i]) : 0;\n                    finalFormula = finalFormula.replace(\n                        reportCalls[i].placeholder, \n                        reportValue\n                    );\n                }\n            } catch (reportError) {\n                console.error('Ошибка получения данных отчетов:', reportError);\n                // В случае ошибки заменяем все плейсхолдеры на 0\n                for (const call of reportCalls) {\n                    finalFormula = finalFormula.replace(call.placeholder, 0);\n                }\n            }\n        }\n        \n        // === ВЫЧИСЛЕНИЕ ФИНАЛЬНОЙ ФОРМУЛЫ ===\n        let result = 0;\n        try {\n            // Создаем функцию с доступом к контексту row и frm\n            const evalFunc = new Function('row', 'frm', `return ${finalFormula};`);\n            result = evalFunc(row, frm);\n        } catch (evalError) {\n            console.error('Ошибка вычисления формулы:', evalError, 'Formula:', finalFormula);\n        }\n\n        if (isNaN(result)) {\n            result = 0;\n        }\n\n        // Устанавливаем вычисленное значение\n        frappe.model.set_value(cdt, cdn, fieldName, result);\n\n        // Обновляем таблицу\n        frm.refresh_field(tableName);\n    } catch (err) {\n        console.error('Ошибка в calculate_table_row_field:', err);\n    }\n}\n\n\n// Функция для получения индекса строки по её имени\nfunction get_row_index(frm, tableName, rowName) {\n    \n    // Проверяем наличие таблицы\n    if (!frm.doc[tableName]) {\n        return -1;\n    }\n    \n    // Ищем индекс строки по имени\n    for (let i = 0; i < frm.doc[tableName].length; i++) {\n        if (frm.doc[tableName][i].name === rowName) {\n            return i;\n        }\n    }\n    return -1;\n}",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of mining tax",
  "enabled": 1,
  "modified": "2025-08-29 13:34:41.106666",
  "module": "Taxes Az",
  "name": "Formula_Editor_Script_for_Declaration of mining tax",
  "script": "// Generated by Formula Editor\nfrappe.ui.form.on(\"Declaration of mining tax\", {\n    \"refresh\": async function(frm) {\n        initialize_table_row_formulas(frm);\n        calculate_721hesablanmışvergiməbləğinincəmi(frm);\n        calculate_723büdcəyəödənilməlivergininməbləğ(frm);\n    },\n    \"ay\": async function(frm) {\n        \n        // Формула строки 1 в таблице faydalı_qazıntıların_hasilatı (порядок: 1)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Mişar daşları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице faydalı_qazıntıların_hasilatı (порядок: 2)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Mişar daşları) * 2\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице faydalı_qazıntıların_hasilatı (порядок: 3)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Üzlük daşları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице faydalı_qazıntıların_hasilatı (порядок: 4)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Üzlük daşları) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице faydalı_qazıntıların_hasilatı (порядок: 5)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Seolit)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице faydalı_qazıntıların_hasilatı (порядок: 6)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Seolit) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице faydalı_qazıntıların_hasilatı (порядок: 7)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"report(Barit)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице faydalı_qazıntıların_hasilatı (порядок: 8)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"report(Barit) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 5 в таблице faydalı_qazıntıların_hasilatı (порядок: 9)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 5) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 4;\n                const formula = \"report(Yüngül doldurucuların istehsalı üçün gillər)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 5 в таблице faydalı_qazıntıların_hasilatı (порядок: 10)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 5) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 4;\n                const formula = \"report(Yüngül doldurucuların istehsalı üçün gillər) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 6 в таблице faydalı_qazıntıların_hasilatı (порядок: 11)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 6) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 5;\n                const formula = \"report(Vulkan külü və pemza)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 6 в таблице faydalı_qazıntıların_hasilatı (порядок: 12)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 6) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 5;\n                const formula = \"report(Vulkan külü və pemza) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 7 в таблице faydalı_qazıntıların_hasilatı (порядок: 13)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 7) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 6;\n                const formula = \"report(Kvars qumları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 7 в таблице faydalı_qazıntıların_hasilatı (порядок: 14)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 7) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 6;\n                const formula = \"report(Kvars qumları) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 8 в таблице faydalı_qazıntıların_hasilatı (порядок: 15)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 8) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 7;\n                const formula = \"report(Sement xammalı)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 8 в таблице faydalı_qazıntıların_hasilatı (порядок: 16)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 8) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 7;\n                const formula = \"report(Sement xammalı) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 9 в таблице faydalı_qazıntıların_hasilatı (порядок: 17)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 9) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 8;\n                const formula = \"report(Duz)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 9 в таблице faydalı_qazıntıların_hasilatı (порядок: 18)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 9) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 8;\n                const formula = \"report(Duz) * 6\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 10 в таблице faydalı_qazıntıların_hasilatı (порядок: 19)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 10) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 9;\n                const formula = \"report(Qiymətli və yarımqiymətli bəzək daşları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 10 в таблице faydalı_qazıntıların_hasilatı (порядок: 20)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 10) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 9;\n                const formula = \"report(Qiymətli və yarımqiymətli bəzək daşları) * 6\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 11 в таблице faydalı_qazıntıların_hasilatı (порядок: 21)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 11) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 10;\n                const formula = \"report(Yodlu bromlu sular)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 11 в таблице faydalı_qazıntıların_hasilatı (порядок: 22)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 11) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 10;\n                const formula = \"report(Yodlu bromlu sular) * 0.04\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 12 в таблице faydalı_qazıntıların_hasilatı (порядок: 23)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 12) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 11;\n                const formula = \"report(Mineral sular)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 12 в таблице faydalı_qazıntıların_hasilatı (порядок: 24)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 12) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 11;\n                const formula = \"report(Mineral sular) * 10\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 13 в таблице faydalı_qazıntıların_hasilatı (порядок: 25)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 13) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 12;\n                const formula = \"report(Bentonit gillər)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 13 в таблице faydalı_qazıntıların_hasilatı (порядок: 26)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 13) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 12;\n                const formula = \"report(Bentonit gillər) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 14 в таблице faydalı_qazıntıların_hasilatı (порядок: 27)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 14) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 13;\n                const formula = \"report(Kərpic-kirəmit gilləri)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 14 в таблице faydalı_qazıntıların_hasilatı (порядок: 28)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 14) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 13;\n                const formula = \"report(Kərpic-kirəmit gilləri) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 15 в таблице faydalı_qazıntıların_hasilatı (порядок: 29)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 15) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 14;\n                const formula = \"report(Tikinti qumları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 15 в таблице faydalı_qazıntıların_hasilatı (порядок: 30)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 15) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 14;\n                const formula = \"report(Tikinti qumları) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 16 в таблице faydalı_qazıntıların_hasilatı (порядок: 31)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 16) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 15;\n                const formula = \"report(Çınqıl xammalı)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 16 в таблице faydalı_qazıntıların_hasilatı (порядок: 32)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 16) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 15;\n                const formula = \"report(Çınqıl xammalı) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 17 в таблице faydalı_qazıntıların_hasilatı (порядок: 33)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 17) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 16;\n                const formula = \"report(Gips, gəc)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 17 в таблице faydalı_qazıntıların_hasilatı (порядок: 34)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 17) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 16;\n                const formula = \"report(Gips, gəc) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице topdansatış_qiyməti_ilə (порядок: 35)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Xam neft-Topdan satış qiyməti)\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"topdansatışqiymətimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице topdansatış_qiyməti_ilə (порядок: 36)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Təbii qaz-Topdan satış qiyməti)\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"topdansatışqiymətimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице topdansatış_qiyməti_ilə (порядок: 37)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Filiz faydalı qazıntıları: bütün növ metallar-Topdan satış qiyməti)\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"topdansatışqiymətimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице topdansatış_qiyməti_ilə (порядок: 38)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Xam neft-Topdan satış qiyməti) * 26/ 100\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице topdansatış_qiyməti_ilə (порядок: 39)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Təbii qaz-Topdan satış qiyməti) * 20/ 100\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице topdansatış_qiyməti_ilə (порядок: 40)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Filiz faydalı qazıntıları: bütün növ metallar-Topdan satış qiyməti) * 3/ 100\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"vergininməbləğimanatla\", formula, \"ay\");\n            } catch (error) {\n            }\n        }\n        await calculate_721hesablanmışvergiməbləğinincəmi(frm); // order: 99\n        await calculate_723büdcəyəödənilməlivergininməbləğ(frm); // order: 100\n    },\n    \"il\": async function(frm) {\n        \n        // Формула строки 1 в таблице faydalı_qazıntıların_hasilatı (порядок: 1)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Mişar daşları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице faydalı_qazıntıların_hasilatı (порядок: 2)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Mişar daşları) * 2\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице faydalı_qazıntıların_hasilatı (порядок: 3)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Üzlük daşları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице faydalı_qazıntıların_hasilatı (порядок: 4)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Üzlük daşları) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице faydalı_qazıntıların_hasilatı (порядок: 5)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Seolit)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице faydalı_qazıntıların_hasilatı (порядок: 6)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Seolit) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице faydalı_qazıntıların_hasilatı (порядок: 7)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"report(Barit)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 4 в таблице faydalı_qazıntıların_hasilatı (порядок: 8)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 4) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 3;\n                const formula = \"report(Barit) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 5 в таблице faydalı_qazıntıların_hasilatı (порядок: 9)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 5) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 4;\n                const formula = \"report(Yüngül doldurucuların istehsalı üçün gillər)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 5 в таблице faydalı_qazıntıların_hasilatı (порядок: 10)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 5) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 4;\n                const formula = \"report(Yüngül doldurucuların istehsalı üçün gillər) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 6 в таблице faydalı_qazıntıların_hasilatı (порядок: 11)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 6) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 5;\n                const formula = \"report(Vulkan külü və pemza)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 6 в таблице faydalı_qazıntıların_hasilatı (порядок: 12)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 6) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 5;\n                const formula = \"report(Vulkan külü və pemza) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 7 в таблице faydalı_qazıntıların_hasilatı (порядок: 13)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 7) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 6;\n                const formula = \"report(Kvars qumları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 7 в таблице faydalı_qazıntıların_hasilatı (порядок: 14)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 7) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 6;\n                const formula = \"report(Kvars qumları) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 8 в таблице faydalı_qazıntıların_hasilatı (порядок: 15)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 8) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 7;\n                const formula = \"report(Sement xammalı)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 8 в таблице faydalı_qazıntıların_hasilatı (порядок: 16)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 8) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 7;\n                const formula = \"report(Sement xammalı) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 9 в таблице faydalı_qazıntıların_hasilatı (порядок: 17)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 9) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 8;\n                const formula = \"report(Duz)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 9 в таблице faydalı_qazıntıların_hasilatı (порядок: 18)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 9) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 8;\n                const formula = \"report(Duz) * 6\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 10 в таблице faydalı_qazıntıların_hasilatı (порядок: 19)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 10) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 9;\n                const formula = \"report(Qiymətli və yarımqiymətli bəzək daşları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 10 в таблице faydalı_qazıntıların_hasilatı (порядок: 20)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 10) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 9;\n                const formula = \"report(Qiymətli və yarımqiymətli bəzək daşları) * 6\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 11 в таблице faydalı_qazıntıların_hasilatı (порядок: 21)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 11) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 10;\n                const formula = \"report(Yodlu bromlu sular)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 11 в таблице faydalı_qazıntıların_hasilatı (порядок: 22)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 11) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 10;\n                const formula = \"report(Yodlu bromlu sular) * 0.04\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 12 в таблице faydalı_qazıntıların_hasilatı (порядок: 23)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 12) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 11;\n                const formula = \"report(Mineral sular)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 12 в таблице faydalı_qazıntıların_hasilatı (порядок: 24)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 12) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 11;\n                const formula = \"report(Mineral sular) * 10\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 13 в таблице faydalı_qazıntıların_hasilatı (порядок: 25)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 13) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 12;\n                const formula = \"report(Bentonit gillər)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 13 в таблице faydalı_qazıntıların_hasilatı (порядок: 26)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 13) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 12;\n                const formula = \"report(Bentonit gillər) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 14 в таблице faydalı_qazıntıların_hasilatı (порядок: 27)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 14) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 13;\n                const formula = \"report(Kərpic-kirəmit gilləri)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 14 в таблице faydalı_qazıntıların_hasilatı (порядок: 28)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 14) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 13;\n                const formula = \"report(Kərpic-kirəmit gilləri) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 15 в таблице faydalı_qazıntıların_hasilatı (порядок: 29)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 15) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 14;\n                const formula = \"report(Tikinti qumları)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 15 в таблице faydalı_qazıntıların_hasilatı (порядок: 30)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 15) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 14;\n                const formula = \"report(Tikinti qumları) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 16 в таблице faydalı_qazıntıların_hasilatı (порядок: 31)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 16) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 15;\n                const formula = \"report(Çınqıl xammalı)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 16 в таблице faydalı_qazıntıların_hasilatı (порядок: 32)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 16) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 15;\n                const formula = \"report(Çınqıl xammalı) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 17 в таблице faydalı_qazıntıların_hasilatı (порядок: 33)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 17) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 16;\n                const formula = \"report(Gips, gəc)\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"faydalıqazıntılarınhasilatınhəcmi\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 17 в таблице faydalı_qazıntıların_hasilatı (порядок: 34)\n        if (frm.doc.faydalı_qazıntıların_hasilatı && frm.doc.faydalı_qazıntıların_hasilatı.length >= 17) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 16;\n                const formula = \"report(Gips, gəc) * 1\";\n                \n                await calculate_table_row_field(frm, \"faydalı_qazıntıların_hasilatı\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице topdansatış_qiyməti_ilə (порядок: 35)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Xam neft-Topdan satış qiyməti)\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"topdansatışqiymətimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице topdansatış_qiyməti_ilə (порядок: 36)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Təbii qaz-Topdan satış qiyməti)\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"topdansatışqiymətimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице topdansatış_qiyməti_ilə (порядок: 37)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Filiz faydalı qazıntıları: bütün növ metallar-Topdan satış qiyməti)\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"topdansatışqiymətimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 1 в таблице topdansatış_qiyməti_ilə (порядок: 38)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 1) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 0;\n                const formula = \"report(Xam neft-Topdan satış qiyməti) * 26/ 100\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 2 в таблице topdansatış_qiyməti_ilə (порядок: 39)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 2) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 1;\n                const formula = \"report(Təbii qaz-Topdan satış qiyməti) * 20/ 100\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        \n        // Формула строки 3 в таблице topdansatış_qiyməti_ilə (порядок: 40)\n        if (frm.doc.topdansatış_qiyməti_ilə && frm.doc.topdansatış_qiyməti_ilə.length >= 3) {\n            try {\n                // Индекс строки на 1 меньше номера строки\n                const rowIndex = 2;\n                const formula = \"report(Filiz faydalı qazıntıları: bütün növ metallar-Topdan satış qiyməti) * 3/ 100\";\n                \n                await calculate_table_row_field(frm, \"topdansatış_qiyməti_ilə\", rowIndex, \"vergininməbləğimanatla\", formula, \"il\");\n            } catch (error) {\n            }\n        }\n        await calculate_721hesablanmışvergiməbləğinincəmi(frm); // order: 99\n        await calculate_723büdcəyəödənilməlivergininməbləğ(frm); // order: 100\n    },\n    \"faydalı_qazıntıların_hasilatı_add\": function(frm) {\n        // Обновляем индексы строк после добавления новой строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"faydalı_qazıntıların_hasilatı_remove\": function(frm) {\n        // Обновляем индексы строк после удаления строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"topdansatış_qiyməti_ilə_add\": function(frm) {\n        // Обновляем индексы строк после добавления новой строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n    \"topdansatış_qiyməti_ilə_remove\": function(frm) {\n        // Обновляем индексы строк после удаления строки\n        setTimeout(() => initialize_table_row_formulas(frm), 100);\n    },\n});\n\n\n        // Функция для обработки и выполнения формул\n            async function processFormula(frm, formula) {\n                try {\n                    // Проверяем наличие вызовов отчетов\n                    if (formula.includes(\"report(\")) {\n                        // Извлекаем все вызовы report() из формулы\n                        const reportRegex = /report\\(([^)]+)\\)/g;\n                        let match;\n                        let processedFormula = formula;\n                        \n                        // Массив для хранения промисов запросов к отчетам\n                        const reportPromises = [];\n                        const reportPlaceholders = [];\n                        \n                        // Находим все вызовы report() и заменяем их на плейсхолдеры\n                        while ((match = reportRegex.exec(formula)) !== null) {\n                            const fullMatch = match[0]; // report(fieldName)\n                            const fieldName = match[1]; // fieldName\n                            \n                            // Создаем уникальный плейсхолдер\n                            const placeholder = `__REPORT_PLACEHOLDER_${reportPromises.length}__`;\n                            \n                            // Ищем данные отчета в хранилище\n                            const reportFields = JSON.parse(frm.doc.report_fields_storage || \"{}\");\n                            const reportField = Object.values(reportFields).find(f => f.name === fieldName);\n                            \n                            if (reportField) {\n                                // Добавляем промис запроса к отчету\n                                reportPromises.push(\n                                    getReportFieldValue(\n                                        frm,\n                                        reportField.report, \n                                        JSON.parse(reportField.filters_json || \"{}\"), \n                                        reportField.field_name, \n                                        reportField.aggregation || 'sum'\n                                    )\n                                );\n                                \n                                // Запоминаем соответствие плейсхолдера и вызова\n                                reportPlaceholders.push({\n                                    placeholder: placeholder,\n                                    original: fullMatch\n                                });\n                                \n                                // Заменяем вызов отчета на плейсхолдер\n                                processedFormula = processedFormula.replace(fullMatch, placeholder);\n                            }\n                        }\n                        \n                        // Если нашли вызовы отчетов, ждем выполнения всех запросов\n                        if (reportPromises.length > 0) {\n                            const reportResults = await Promise.all(reportPromises);\n                            \n                            // Заменяем плейсхолдеры на результаты\n                            for (let i = 0; i < reportPlaceholders.length; i++) {\n                                // Убедимся, что результат - числовое значение\n                                const reportValue = reportResults[i] !== undefined ? Number(reportResults[i]) : 0;\n                                processedFormula = processedFormula.replace(\n                                    reportPlaceholders[i].placeholder, \n                                    reportValue\n                                );\n                            }\n                            \n                            // Теперь формула не содержит вызовов report(), обрабатываем её обычным способом\n                            let transformResult = transform_expression(processedFormula, false);\n                            \n                            // Если есть внешняя трансформация, применяем её\n                            let result;\n                            if (transformResult && transformResult.transformed) {\n                                result = eval(transformResult.transformed);\n                            } else {\n                                // Иначе просто вычисляем выражение\n                                result = eval(processedFormula);\n                            }\n                            \n                            // Возвращаем результат\n                            return isNaN(result) ? 0 : result;\n                        }\n                    }\n                    \n                    // Стандартная обработка для формул без отчетов\n                    let transformResult = transform_expression(formula, false);\n                    let result = eval(transformResult.transformed);\n                    return isNaN(result) ? 0 : result;\n                } catch (e) {\n                    return 0;\n                }\n        }\n\n\n        // Функция для расчета универсальных полей\n        async function calculate_universal_fields(frm) {\n            \n        }\n    \n    // Функция для обработки квартала (rüb) и года (il)\n    function processQuarterDateField(docValues) {\n        // Проверяем, есть ли у нас значения rüb и il\n        if (docValues && docValues.rüb && docValues.il) {\n            // Получаем номер квартала (преобразуем из строки вида \"1 Rüb\" в число 1)\n            const quarterStr = docValues.rüb;\n            const quarterMatch = quarterStr.match(/(\\d+)/);\n            \n            if (!quarterMatch) {\n                return null;\n            }\n            \n            const quarterNum = parseInt(quarterMatch[1]);\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем начальный и конечный месяц квартала\n            let startMonth, endMonth;\n            \n            switch(quarterNum) {\n                case 1:\n                    startMonth = 1; // Январь\n                    endMonth = 3;   // Март\n                    break;\n                case 2:\n                    startMonth = 4; // Апрель\n                    endMonth = 6;   // Июнь\n                    break;\n                case 3:\n                    startMonth = 7; // Июль\n                    endMonth = 9;   // Сентябрь\n                    break;\n                case 4:\n                    startMonth = 10; // Октябрь\n                    endMonth = 12;   // Декабрь\n                    break;\n                default:\n                    return null;\n            }\n            \n            // Определяем первый день квартала (1-е число начального месяца)\n            const firstDay = new Date(year, startMonth - 1, 1);\n            \n            // Последний день квартала (последнее число конечного месяца)\n            const lastDay = new Date(year, endMonth, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(startMonth).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(endMonth).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n    // Функция для обработки специальных полей с азербайджанскими месяцами\n    function processAzerbayjanDateField(docValues) {\n        // Словарь для сопоставления названий месяцев с их номерами\n        const monthNames = {\n            \"Yanvar\": 1,\n            \"Fevral\": 2,\n            \"Mart\": 3,\n            \"Aprel\": 4,\n            \"May\": 5,\n            \"İyun\": 6,\n            \"İyul\": 7,\n            \"Avqust\": 8,\n            \"Sentyabr\": 9,\n            \"Oktyabr\": 10,\n            \"Noyabr\": 11,\n            \"Dekabr\": 12\n        };\n        \n        // Проверяем наличие квартала (rüb) и года (il)\n        if (docValues && docValues.rüb && docValues.il) {\n            // Вызываем специальную функцию для обработки квартала\n            return processQuarterDateField(docValues);\n        }\n        \n        // Проверяем, есть ли у нас значения ay и il\n        if (docValues && docValues.ay && monthNames[docValues.ay]) {\n            // Получаем номер месяца\n            const monthNum = monthNames[docValues.ay];\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем первый день месяца (1-е число)\n            const firstDay = new Date(year, monthNum - 1, 1);\n            \n            // Последний день месяца (получаем последнее число месяца)\n            const lastDay = new Date(year, monthNum, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(monthNum).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(monthNum).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n\n\n// Функция для обработки азербайджанских дат\nfunction processAzerbayjanDateField(docValues) {\n    // Словарь для сопоставления названий месяцев с их номерами\n    const monthNames = {\n        \"Yanvar\": 1,\n        \"Fevral\": 2,\n        \"Mart\": 3,\n        \"Aprel\": 4,\n        \"May\": 5,\n        \"İyun\": 6,\n        \"İyul\": 7,\n        \"Avqust\": 8,\n        \"Sentyabr\": 9,\n        \"Oktyabr\": 10,\n        \"Noyabr\": 11,\n        \"Dekabr\": 12\n    };\n    \n    // Проверяем наличие квартала (rüb) и года (il)\n    if (docValues && docValues.rüb && docValues.il) {\n        // Получаем номер квартала (преобразуем из строки вида \"1 Rüb\" в число 1)\n        const quarterStr = docValues.rüb;\n        const quarterMatch = quarterStr.match(/(\\d+)/);\n        \n        if (!quarterMatch) {\n            return null;\n        }\n        \n        const quarterNum = parseInt(quarterMatch[1]);\n        \n        // Получаем год из поля il или используем текущий год\n        let year = docValues.il || new Date().getFullYear();\n        \n        // Определяем начальный и конечный месяц квартала\n        let startMonth, endMonth;\n        \n        switch(quarterNum) {\n            case 1:\n                startMonth = 1; // Январь\n                endMonth = 3;   // Март\n                break;\n            case 2:\n                startMonth = 4; // Апрель\n                endMonth = 6;   // Июнь\n                break;\n            case 3:\n                startMonth = 7; // Июль\n                endMonth = 9;   // Сентябрь\n                break;\n            case 4:\n                startMonth = 10; // Октябрь\n                endMonth = 12;   // Декабрь\n                break;\n            default:\n                return null;\n        }\n        \n        // Определяем первый день квартала (1-е число начального месяца)\n        const firstDay = new Date(year, startMonth - 1, 1);\n        \n        // Последний день квартала (последнее число конечного месяца)\n        const lastDay = new Date(year, endMonth, 0);\n        \n        // Форматируем даты в формате YYYY-MM-DD\n        const firstDayStr = year + \"-\" + String(startMonth).padStart(2, '0') + \"-01\";\n        const lastDayStr = year + \"-\" + String(endMonth).padStart(2, '0') + \"-\" + String(lastDay.getDate()).padStart(2, '0');            \n        \n        // Возвращаем объект с диапазоном дат\n        return {\n            start: firstDayStr,\n            end: lastDayStr\n        };\n    }\n    \n    // Проверяем, есть ли у нас значения ay и il\n    if (docValues && docValues.ay && monthNames[docValues.ay]) {\n        // Получаем номер месяца\n        const monthNum = monthNames[docValues.ay];\n        \n        // Получаем год из поля il или используем текущий год\n        let year = docValues.il || new Date().getFullYear();\n        \n        // Определяем первый день месяца (1-е число)\n        const firstDay = new Date(year, monthNum - 1, 1);\n        \n        // Последний день месяца (получаем последнее число месяца)\n        const lastDay = new Date(year, monthNum, 0);\n        \n        // Форматируем даты в формате YYYY-MM-DD\n        const firstDayStr = year + \"-\" + String(monthNum).padStart(2, '0') + \"-01\";\n        const lastDayStr = year + \"-\" + String(monthNum).padStart(2, '0') + \"-\" + String(lastDay.getDate()).padStart(2, '0');            \n        \n        // Возвращаем объект с диапазоном дат\n        return {\n            start: firstDayStr,\n            end: lastDayStr\n        };\n    }\n    \n    // Если это не специальное поле или значение не распознано, возвращаем null\n    return null;\n}\n\nasync function getReportFieldValue(frm, reportName, filters, fieldName, aggregation) {\n    try {\n        // Обрабатываем фильтры с возможными ссылками на поля документа\n        const processedFilters = {};\n        \n        for (const key in filters) {\n            let value = filters[key];\n            \n            // Проверяем, является ли значение ссылкой на поле документа\n            if (typeof value === 'string' && value.startsWith('doc.')) {\n                const docField = value.substring(4);\n                if (frm.doc[docField] !== undefined) {\n                    processedFilters[key] = frm.doc[docField];\n                    continue;\n                }\n            }\n            \n            // Обработка специальных переменных\n            if (typeof value === 'string' && value.startsWith('$')) {\n                switch (value) {\n                    case '$DefaultCompany':\n                        // Получаем компанию по умолчанию из настроек или документа\n                        processedFilters[key] = frm.doc.company || frappe.defaults.get_user_default(\"Company\");\n                        continue;\n                        \n                    case '$AyIlSpecial':\n                        // Обрабатываем специальные даты для азербайджанских месяцев/кварталов\n                        const dateRange = processAzerbayjanDateField(frm.doc);\n                        if (dateRange) {\n                            // Для полей from_date и to_date используем соответствующие значения\n                            if (key === 'from_date') {\n                                processedFilters[key] = dateRange.start;\n                            } else if (key === 'to_date') {\n                                processedFilters[key] = dateRange.end;\n                            } else {\n                                // Для других полей используем начальную дату\n                                processedFilters[key] = dateRange.start;\n                            }\n                        } else {\n                            // Если не удалось получить диапазон дат, используем текущую дату\n                            processedFilters[key] = frappe.datetime.get_today();\n                        }\n                        continue;\n                        \n                    default:\n                        // Для других $-переменных оставляем как есть\n                        processedFilters[key] = value;\n                        continue;\n                }\n            }\n            \n            // Обычные значения\n            processedFilters[key] = value;\n        }\n        \n        // Проверяем кеш\n        if (!window.reportCache) window.reportCache = {};\n        \n        const cacheKey = reportName + \"|\" + JSON.stringify(processedFilters) + \"|\" + fieldName + \"|\" + aggregation;\n        const now = new Date().getTime();\n        \n        if (window.reportCache[cacheKey] && \n            window.reportCache[cacheKey].timestamp > now - 5 * 60 * 1000) {\n            return window.reportCache[cacheKey].value;\n        }\n                \n        // Выполняем запрос к серверу\n        try {\n            const result = await frappe.call({\n                method: \"formula_editor.api.run_report_for_formula\",\n                args: {\n                    report_name: reportName,\n                    filters: processedFilters,\n                    field_name: fieldName\n                },\n                freeze: false\n            });\n            \n            if (result && result.message !== undefined) {\n                if (result.message.error) {\n                    console.error('Report error:', result.message.error);\n                    return 0;\n                }                    \n                \n                let value = parseFloat(result.message);\n                if (isNaN(value)) value = 0;\n                \n                // Округляем до 2 знаков после запятой\n                value = Math.round(value * 100) / 100;\n                                \n                // Сохраняем в кеш\n                window.reportCache[cacheKey] = {\n                    value: value,\n                    timestamp: now\n                };\n                                \n                return value;\n            }\n        } catch (err) {\n            console.error('Report field error:', err);\n        }\n        \n        return 0;\n    } catch (error) {\n        console.error('getReportFieldValue error:', error);\n        return 0;\n    }\n}\n\n\n    function transform_expression(expression, for_child_table = false, table_name = null) {\n        let transformed = expression;\n        let needsAsync = false;\n        let reportCalls = [];\n\n        // === Обработка report(...) ===\n        const reportRegex = /report\\(([^)]+)\\)/g;\n        let match;\n        \n        // Находим все вызовы report() в выражении\n        while ((match = reportRegex.exec(expression)) !== null) {\n            const reportName = match[1]; // Имя поля отчета\n            const fullMatch = match[0]; // Полный текст match - \"report(xyz)\"\n            needsAsync = true;\n            \n            // Создаем уникальный плейсхолдер\n            const placeholder = `__REPORT_PLACEHOLDER_${reportCalls.length}__`;\n            \n            // Ищем соответствующее поле отчета по имени\n            \n            if (reportName === \"Xam neft\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Xam_neft___ton\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Təbii qaz\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Tebii_qaz___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Filiz faydalı qazıntıları: bütün növ metallar\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Filiz_faydali_qazintilari__butun_nov_metallar___ton\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Mişar daşları\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Misar_daslari___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Üzlük daşları\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Üzluk_daslari___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Seolit\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Seolit___ton\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Barit\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Barit___ton\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Yüngül doldurucuların istehsalı üçün gillər\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Yungul_doldurucular_ucun_giller___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Vulkan külü və pemza\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Vulkan_kulu_ve_pemza___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Kvars qumları\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Kvars_qumlari___ton\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Sement xammalı\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Sement_xammali___ton\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Duz\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Duz___ton\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Qiymətli və yarımqiymətli bəzək daşları\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Qiymetli_ve_yarimqiymetli_bezek_daslari___karat___qram\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Yodlu bromlu sular\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Yodlu_bromlu_sular___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Mineral sular\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Mineral_sular___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Bentonit gillər\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Bentonit_giller___ton\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Kərpic-kirəmit gilləri\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Kerpic_kiremit_gilleri___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Tikinti qumları\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Tikinti_qumlari___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Çınqıl xammalı\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Çinqil_xammali___m3\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Gips, gəc\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Gips,_gec___ton\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Xam neft-Topdan satış qiyməti\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Xam_neft___ton_sales\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Təbii qaz-Topdan satış qiyməti\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Tebii_qaz___m3_sales\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n            if (reportName === \"Filiz faydalı qazıntıları: bütün növ metallar-Topdan satış qiyməti\") {\n                reportCalls.push({\n                    placeholder: placeholder,\n                    reportName: \"Mining Resources Stock Report\",\n                    filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n                    fieldName: \"Filiz_faydali_qazintilari__butun_nov_metallar___ton_sales\",\n                    aggregation: \"sum\"\n                });\n                \n                transformed = transformed.replace(fullMatch, placeholder);\n            }\n        }\n\n        // === Обработка table(...) ===\n        const tableRegex = /table\\(([^,)]+),\\s*([^,)]+),\\s*([^)]+)\\)/g;\n        let tableMatch;\n        while ((tableMatch = tableRegex.exec(expression)) !== null) {\n            const fullMatch = tableMatch[0];\n            const tableName = tableMatch[1].trim().replace(/['\"]/g, '');\n            const rowNumber = tableMatch[2].trim();\n            const fieldName = tableMatch[3].trim().replace(/['\"]/g, '');\n            \n            const replacement = `(function() { \n                try {\n                    if (!frm.doc[\"${tableName}\"] || !frm.doc[\"${tableName}\"][${rowNumber} - 1]) {\n                        return 0;\n                    }\n                    const value = frm.doc[\"${tableName}\"][${rowNumber} - 1][\"${fieldName}\"];\n                    return parseFloat(value) || 0;\n                } catch (e) {\n                    return 0;\n                }\n            })()`;\n            \n            transformed = transformed.replace(fullMatch, replacement);\n        }\n\n        // === Обработка universal полей ===\n        \n\n        // === Обработка val() и row() ===\n        const tablePrefixes = [\"items\", \"taxes\", \"packed_items\", \"payments\", \"advances\", \"timesheets\", \"payment_schedule\", \"sales_team\"];\n\n        for (const prefix of tablePrefixes) {\n            const sumPattern = new RegExp(`sum\\\\(${prefix}_([^)]+)\\\\)`, 'g');\n            transformed = transformed.replace(sumPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n\n            const valPattern = new RegExp(`val\\\\(${prefix}_([^)]+)\\\\)`, 'g');\n            transformed = transformed.replace(valPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n        }\n\n        if (for_child_table) {\n            transformed = transformed.replace(/row\\(([^)]+)\\)/g, (m, f) => \n                `(parseFloat(row[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/val\\(([^)]+)\\)/g, (m, f) => {\n                if (f.startsWith(table_name + '_')) {\n                    return `(parseFloat(row[\"${f.slice(table_name.length + 1)}\"]) || 0)`;\n                }\n                return `(parseFloat(frm.doc[\"${f}\"]) || 0)`;\n            });\n        } else {\n            transformed = transformed.replace(/val\\(([^)]+)\\)/g, (m, f) => \n                `(parseFloat(frm.doc[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/row\\(([^)]+)\\)/g, () => \n                `0 /* ERROR: row() вне табличной части */`\n            );\n        }\n\n        return { transformed, needsAsync, reportCalls };\n    }\n\n\n// Функция для получения индекса строки по её имени (name/cdn)\nfunction get_row_index(frm, tableName, rowName) {\n    \n    // Проверяем наличие таблицы\n    if (!frm.doc[tableName]) {\n        return -1;\n    }\n    \n    // Выводим все строки для отладки\n    frm.doc[tableName].forEach((row, idx) => {\n    });\n    \n    // Ищем индекс строки по имени\n    for (let i = 0; i < frm.doc[tableName].length; i++) {\n        if (frm.doc[tableName][i].name === rowName) {\n            return i;\n        }\n    }\n    return -1;\n}\n\n// Функция для доступа к полям конкретных строк таблицы\nfunction table_row(tableName, rowIndex, fieldName) {\n    // Проверяем наличие необходимых аргументов\n    if (!tableName || rowIndex === undefined || !fieldName) {\n        return 0;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return 0;\n        }\n        \n        // Получаем значение поля\n        const value = frm.doc[tableName][rowIdx][fieldName];\n        \n        // Проверяем на NaN и возвращаем значение или 0\n        const numValue = parseFloat(value);\n        if (isNaN(numValue)) {\n            return 0;\n        }\n        return numValue;\n    } catch (error) {\n        return 0;\n    }\n}\n\n// Функция для обновления значения поля конкретной строки таблицы\nfunction set_table_row(frm, tableName, rowIndex, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || rowIndex === undefined || !fieldName) {\n        return false;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return false;\n        }\n        \n        // Получаем строку таблицы\n        const row = frm.doc[tableName][rowIdx];\n        \n        // Получаем сетевое имя cdt и cdn для Frappe\n        const cdt = frm.fields_dict[tableName].grid.doctype;\n        const cdn = row.name;\n        \n        // Проверяем, является ли значение NaN, и если да, заменяем его на 0\n        let finalValue = value;\n        if (typeof value === 'number' && isNaN(value)) {\n            finalValue = 0;\n        }\n        \n        // Обновляем значение поля\n        frappe.model.set_value(cdt, cdn, fieldName, finalValue);\n        \n        return true;\n    } catch (error) {\n        return false;\n    }\n}\n\n// Функция для поиска строки таблицы по значению поля\nfunction find_table_row(frm, tableName, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || !fieldName) {\n        return -1;\n    }\n    \n    try {\n        // Проверяем наличие таблицы\n        if (!frm.doc[tableName]) {\n            return -1;\n        }\n        \n        // Ищем строку с указанным значением поля\n        for (let i = 0; i < frm.doc[tableName].length; i++) {\n            if (frm.doc[tableName][i][fieldName] == value) {\n                // Возвращаем индекс строки (начиная с 1 для пользователя)\n                return i + 1;\n            }\n        }\n        \n        // Если строка не найдена\n        return -1;\n    } catch (error) {\n        return -1;\n    }\n}\n\n\n                    async function calculate_721hesablanmışvergiməbləğinincəmi(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"table(topdansatış_qiyməti_ilə, 1, vergininməbləğimanatla) + table(topdansatış_qiyməti_ilə, 2, vergininməbləğimanatla) + table(topdansatış_qiyməti_ilə, 3, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 1, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 2, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 3, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 4, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 5, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 6, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 7, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 8, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 9, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 10, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 11, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 12, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 13, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 14, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 15, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 16, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 17, vergininməbləğimanatla)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"721hesablanmışvergiməbləğinincəmi\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n                    async function calculate_723büdcəyəödənilməlivergininməbləğ(frm) {\n                        try {\n                            \n                            const { transformed, needsAsync, reportCalls } = transform_expression(\"table(topdansatış_qiyməti_ilə, 1, vergininməbləğimanatla) + table(topdansatış_qiyməti_ilə, 2, vergininməbləğimanatla) + table(topdansatış_qiyməti_ilə, 3, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 1, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 2, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 3, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 4, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 5, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 6, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 7, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 8, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 9, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 10, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 11, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 12, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 13, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 14, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 15, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 16, vergininməbləğimanatla) + table(faydalı_qazıntıların_hasilatı, 17, vergininməbləğimanatla)\", false);\n                            \n                            // Обработка вызовов отчетов, если они есть\n                            let finalExpression = transformed;\n                            if (reportCalls && reportCalls.length > 0) {\n                                // Собираем все результаты отчетов\n                                const reportResults = [];\n                                for (const call of reportCalls) {\n                                    const result = await getReportFieldValue(\n                                        frm,\n                                        call.reportName,\n                                        call.filters,\n                                        call.fieldName,\n                                        call.aggregation\n                                    );\n                                    reportResults.push({ placeholder: call.placeholder, value: result });\n                                }\n                                \n                                // Заменяем плейсхолдеры на полученные значения\n                                for (const result of reportResults) {\n                                    finalExpression = finalExpression.replace(result.placeholder, result.value);\n                                }\n                            }\n                            \n                            // Теперь можно безопасно вычислить выражение\n                            const result = eval(finalExpression);\n                            frm.set_value(\"723büdcəyəödənilməlivergininməbləğ\", isNaN(result) ? 0 : result);\n                        } catch (e) {\n                        }\n                    }\n\n\n    // Функция для инициализации формул строк табличных частей\n    function initialize_table_row_formulas(frm) {\n        try {\n            // Получаем информацию о формулах для строк табличных частей\n            const formulas = JSON.parse(frm.doc.table_row_formulas_storage || \"{}\");\n            \n            // ВАЖНО: Преобразуем объект в массив и сортируем его по порядку выполнения\n            const sortedFormulas = Object.entries(formulas).map(([id, formula]) => {\n                return { id, ...formula };\n            }).sort((a, b) => {\n                // Сортировка по значению поля order (если порядок не задан, используем 10 по умолчанию)\n                const orderA = a.order !== undefined ? parseInt(a.order) : 10;\n                const orderB = b.order !== undefined ? parseInt(b.order) : 10;\n                return orderA - orderB;\n            });\n            \n            // Группируем формулы по табличным частям и строкам\n            const formulasByTableAndRow = {};\n            \n            sortedFormulas.forEach(formula => {\n                const tableName = formula.table_name;\n                const rowIndex = parseInt(formula.row_index);\n                \n                if (!formulasByTableAndRow[tableName]) {\n                    formulasByTableAndRow[tableName] = {};\n                }\n                \n                if (!formulasByTableAndRow[tableName][rowIndex]) {\n                    formulasByTableAndRow[tableName][rowIndex] = [];\n                }\n                \n                formulasByTableAndRow[tableName][rowIndex].push(formula);\n            });\n            \n            // Устанавливаем обработчики для каждой табличной части\n            Object.keys(formulasByTableAndRow).forEach(tableName => {\n                if (!frm.doc[tableName]) {\n                    return;\n                }\n                \n                // Для каждой строки таблицы\n                frm.doc[tableName].forEach((row, rowIdx) => {\n                    // Получаем отсортированные формулы для текущей строки (строки нумеруются с 1, а индексы с 0)\n                    const rowFormulas = formulasByTableAndRow[tableName][rowIdx + 1] || [];\n                    \n                    // Выполняем формулы в порядке сортировки (по полю order)\n                    for (const formula of rowFormulas) {\n                        try {\n                            // Определяем необходимость асинхронного вызова\n                            const usesUniversal = formula.formula && formula.formula.includes(\"univ(\");\n                            const usesReports = formula.formula && formula.formula.includes(\"report(\");\n                            \n                            // Вызываем расчет формулы согласно установленному порядку\n                            if (usesUniversal || usesReports) {\n                                // Для асинхронных вызовов используем await в асинхронной IIFE\n                                (async () => {\n                                    try {\n                                        await calculate_table_row_field(frm, tableName, rowIdx, formula.field_name, formula.formula, \"refresh\");\n                                    } catch (asyncError) {\n                                    }\n                                })();\n                            } else {\n                                // Для синхронных вызовов выполняем напрямую\n                                calculate_table_row_field(frm, tableName, rowIdx, formula.field_name, formula.formula, \"refresh\");\n                            }\n                        } catch (error) {\n                        }\n                    }\n                });\n            });\n        } catch (error) {\n        }\n    }\n\n\n// Функция для расчета значения поля в строке табличной части\nasync function calculate_table_row_field(frm, tableName, rowIndex, fieldName, formula, triggerField) {\n    try {\n        \n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIndex]) {\n            return;\n        }\n\n        const row = frm.doc[tableName][rowIndex];\n        const cdt = frm.fields_dict[tableName].grid.doctype;\n        const cdn = row.name;\n        \n        // === ЕДИНАЯ ТОЧКА ОБРАБОТКИ ВСЕХ ФУНКЦИЙ ===\n        let finalFormula, reportCalls;\n        \n        try {\n            // Используем transform_expression как единственную точку преобразования\n            const transformResult = transform_expression(formula, true, tableName);\n            \n            if (transformResult) {\n                finalFormula = transformResult.transformed;\n                reportCalls = transformResult.reportCalls || [];\n            } else {\n                finalFormula = formula;\n                reportCalls = [];\n            }\n        } catch (transformError) {\n            console.error('Ошибка transform_expression:', transformError);\n            finalFormula = formula;\n            reportCalls = [];\n        }\n        \n        // === ОБРАБОТКА АСИНХРОННЫХ ВЫЗОВОВ ОТЧЕТОВ ===\n        if (reportCalls && reportCalls.length > 0) {\n            try {\n                // Выполняем все асинхронные запросы к отчетам параллельно\n                const reportResults = await Promise.all(\n                    reportCalls.map(call => \n                        getReportFieldValue(\n                            frm,\n                            call.reportName,\n                            call.filters,\n                            call.fieldName,\n                            call.aggregation\n                        )\n                    )\n                );\n                \n                // Заменяем плейсхолдеры на реальные значения\n                for (let i = 0; i < reportCalls.length; i++) {\n                    const reportValue = reportResults[i] !== undefined ? Number(reportResults[i]) : 0;\n                    finalFormula = finalFormula.replace(\n                        reportCalls[i].placeholder, \n                        reportValue\n                    );\n                }\n            } catch (reportError) {\n                console.error('Ошибка получения данных отчетов:', reportError);\n                // В случае ошибки заменяем все плейсхолдеры на 0\n                for (const call of reportCalls) {\n                    finalFormula = finalFormula.replace(call.placeholder, 0);\n                }\n            }\n        }\n        \n        // === ВЫЧИСЛЕНИЕ ФИНАЛЬНОЙ ФОРМУЛЫ ===\n        let result = 0;\n        try {\n            // Создаем функцию с доступом к контексту row и frm\n            const evalFunc = new Function('row', 'frm', `return ${finalFormula};`);\n            result = evalFunc(row, frm);\n        } catch (evalError) {\n            console.error('Ошибка вычисления формулы:', evalError, 'Formula:', finalFormula);\n        }\n\n        if (isNaN(result)) {\n            result = 0;\n        }\n\n        // Устанавливаем вычисленное значение\n        frappe.model.set_value(cdt, cdn, fieldName, result);\n\n        // Обновляем таблицу\n        frm.refresh_field(tableName);\n    } catch (err) {\n        console.error('Ошибка в calculate_table_row_field:', err);\n    }\n}\n\n\n// Функция для получения индекса строки по её имени\nfunction get_row_index(frm, tableName, rowName) {\n    \n    // Проверяем наличие таблицы\n    if (!frm.doc[tableName]) {\n        return -1;\n    }\n    \n    // Ищем индекс строки по имени\n    for (let i = 0; i < frm.doc[tableName].length; i++) {\n        if (frm.doc[tableName][i].name === rowName) {\n            return i;\n        }\n    }\n    return -1;\n}",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-04-30 12:07:53.176062",
  "module": "Taxes Az",
  "name": "Formula_Editor_Script_for_Tax return withheld at source of payment",
  "script": "// Generated by Formula Editor\nfrappe.ui.form.on(\"Tax return withheld at source of payment\", {\n    \"ay\": async function(frm) {\n        // Вычисляем универсальные поля только когда меняется ay\n        await calculate_universal_fields(frm);\n    },\n    \"il\": async function(frm) {\n        // Вычисляем универсальные поля только когда меняется il\n        await calculate_universal_fields(frm);\n    },\n});\n\n\n    // Функция для обработки и выполнения формул\n        async function processFormula(frm, formula) {\n            try {\n                // Проверяем наличие вызовов отчетов\n                if (formula.includes(\"report(\")) {\n                    // Извлекаем все вызовы report() из формулы\n                    const reportRegex = /report\\(([^)]+)\\)/g;\n                    let match;\n                    let processedFormula = formula;\n                    \n                    // Массив для хранения промисов запросов к отчетам\n                    const reportPromises = [];\n                    const reportPlaceholders = [];\n                    \n                    // Находим все вызовы report() и заменяем их на плейсхолдеры\n                    while ((match = reportRegex.exec(formula)) !== null) {\n                        const fullMatch = match[0]; // report(fieldName)\n                        const fieldName = match[1]; // fieldName\n                        \n                        // Создаем уникальный плейсхолдер\n                        const placeholder = `__REPORT_PLACEHOLDER_${reportPromises.length}__`;\n                        \n                        // Ищем данные отчета в хранилище\n                        const reportFields = JSON.parse(frm.doc.report_fields_storage || \"{}\");\n                        const reportField = Object.values(reportFields).find(f => f.name === fieldName);\n                        \n                        if (reportField) {\n                            // Добавляем промис запроса к отчету\n                            reportPromises.push(\n                                getReportFieldValue(\n                                    frm,\n                                    reportField.report, \n                                    JSON.parse(reportField.filters_json || \"{}\"), \n                                    reportField.field_name, \n                                    reportField.aggregation || 'sum'\n                                )\n                            );\n                            \n                            // Запоминаем соответствие плейсхолдера и вызова\n                            reportPlaceholders.push({\n                                placeholder: placeholder,\n                                original: fullMatch\n                            });\n                            \n                            // Заменяем вызов отчета на плейсхолдер\n                            processedFormula = processedFormula.replace(fullMatch, placeholder);\n                        }\n                    }\n                    \n                    // Если нашли вызовы отчетов, ждем выполнения всех запросов\n                    if (reportPromises.length > 0) {\n                        const reportResults = await Promise.all(reportPromises);\n                        \n                        // Заменяем плейсхолдеры на результаты\n                        for (let i = 0; i < reportPlaceholders.length; i++) {\n                            // Убедимся, что результат - числовое значение\n                            const reportValue = reportResults[i] !== undefined ? Number(reportResults[i]) : 0;\n                            processedFormula = processedFormula.replace(\n                                reportPlaceholders[i].placeholder, \n                                reportValue\n                            );\n                        }\n                        \n                        // Теперь формула не содержит вызовов report(), обрабатываем её обычным способом\n                        let transformResult = transform_expression(processedFormula, false);\n                        \n                        // Если есть внешняя трансформация, применяем её\n                        let result;\n                        if (transformResult && transformResult.transformed) {\n                            result = eval(transformResult.transformed);\n                        } else {\n                            // Иначе просто вычисляем выражение\n                            result = eval(processedFormula);\n                        }\n                        \n                        // Возвращаем результат\n                        return isNaN(result) ? 0 : result;\n                    }\n                }\n                \n                // Стандартная обработка для формул без отчетов\n                let transformResult = transform_expression(formula, false);\n                let result = eval(transformResult.transformed);\n                return isNaN(result) ? 0 : result;\n            } catch (e) {\n                return 0;\n            }\n    }\n\n\n        // Функция для расчета универсальных полей\n        async function calculate_universal_fields(frm) {\n            \n        }\n    \n    // Функция для обработки квартала (rüb) и года (il)\n    function processQuarterDateField(docValues) {\n        // Проверяем, есть ли у нас значения rüb и il\n        if (docValues && docValues.rüb && docValues.il) {\n            // Получаем номер квартала (преобразуем из строки вида \"1 Rüb\" в число 1)\n            const quarterStr = docValues.rüb;\n            const quarterMatch = quarterStr.match(/(\\d+)/);\n            \n            if (!quarterMatch) {\n                return null;\n            }\n            \n            const quarterNum = parseInt(quarterMatch[1]);\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем начальный и конечный месяц квартала\n            let startMonth, endMonth;\n            \n            switch(quarterNum) {\n                case 1:\n                    startMonth = 1; // Январь\n                    endMonth = 3;   // Март\n                    break;\n                case 2:\n                    startMonth = 4; // Апрель\n                    endMonth = 6;   // Июнь\n                    break;\n                case 3:\n                    startMonth = 7; // Июль\n                    endMonth = 9;   // Сентябрь\n                    break;\n                case 4:\n                    startMonth = 10; // Октябрь\n                    endMonth = 12;   // Декабрь\n                    break;\n                default:\n                    return null;\n            }\n            \n            // Определяем первый день квартала (1-е число начального месяца)\n            const firstDay = new Date(year, startMonth - 1, 1);\n            \n            // Последний день квартала (последнее число конечного месяца)\n            const lastDay = new Date(year, endMonth, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(startMonth).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(endMonth).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n    // Функция для обработки специальных полей с азербайджанскими месяцами\n    function processAzerbayjanDateField(docValues) {\n        // Словарь для сопоставления названий месяцев с их номерами\n        const monthNames = {\n            \"Yanvar\": 1,\n            \"Fevral\": 2,\n            \"Mart\": 3,\n            \"Aprel\": 4,\n            \"May\": 5,\n            \"İyun\": 6,\n            \"İyul\": 7,\n            \"Avqust\": 8,\n            \"Sentyabr\": 9,\n            \"Oktyabr\": 10,\n            \"Noyabr\": 11,\n            \"Dekabr\": 12\n        };\n        \n        // Проверяем наличие квартала (rüb) и года (il)\n        if (docValues && docValues.rüb && docValues.il) {\n            // Вызываем специальную функцию для обработки квартала\n            return processQuarterDateField(docValues);\n        }\n        \n        // Проверяем, есть ли у нас значения ay и il\n        if (docValues && docValues.ay && monthNames[docValues.ay]) {\n            // Получаем номер месяца\n            const monthNum = monthNames[docValues.ay];\n            \n            // Получаем год из поля il или используем текущий год\n            let year = docValues.il || new Date().getFullYear();\n            \n            // Определяем первый день месяца (1-е число)\n            const firstDay = new Date(year, monthNum - 1, 1);\n            \n            // Последний день месяца (получаем последнее число месяца)\n            const lastDay = new Date(year, monthNum, 0);\n            \n            // Форматируем даты в формате YYYY-MM-DD\n            const firstDayStr = `${year}-${String(monthNum).padStart(2, '0')}-01`;\n            const lastDayStr = `${year}-${String(monthNum).padStart(2, '0')}-${String(lastDay.getDate()).padStart(2, '0')}`;            \n            \n            // Возвращаем объект с диапазоном дат\n            return {\n                start: firstDayStr,\n                end: lastDayStr\n            };\n        }\n        \n        // Если это не специальное поле или значение не распознано, возвращаем null\n        return null;\n    }\n    \n\n\n    function transform_expression(expression, for_child_table = false, table_name = null) {\n        let transformed = expression;\n        let needsAsync = false;\n        let reportCalls = [];\n\n        // === Обработка report(...) ===\n        const reportRegex = /report\\\\(([^)]+)\\\\)/g;\n        let match;\n        \n        // Находим все вызовы report() в выражении\n        while ((match = reportRegex.exec(expression)) !== null) {\n            const reportName = match[1]; // Имя поля отчета\n            const fullMatch = match[0]; // Полный текст match - \"report(xyz)\"\n            needsAsync = true;\n            \n            // Создаем уникальный плейсхолдер\n            const placeholder = `__REPORT_${reportCalls.length}__`;\n            \n            // Ищем соответствующее поле отчета по имени\n            \n        }\n\n        // === Обработка universal полей ===\n        \n\n        // === Обработка val() и row() ===\n\n        for (const prefix of tablePrefixes) {\n            const sumPattern = new RegExp(`sum\\\\\\\\(${prefix}_([^)]+)\\\\\\\\)`, 'g');\n            transformed = transformed.replace(sumPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n\n            const valPattern = new RegExp(`val\\\\\\\\(${prefix}_([^)]+)\\\\\\\\)`, 'g');\n            transformed = transformed.replace(valPattern, (m, f) => \n                `(frm.doc[\"${prefix}\"] && frm.doc[\"${prefix}\"].reduce((s, r) => s + (parseFloat(r[\"${f}\"]) || 0), 0) || 0)`\n            );\n        }\n\n        if (for_child_table) {\n            // ИСПРАВЛЕНО: корректная обработка row() в контексте табличной части\n            transformed = transformed.replace(/row\\\\(([^)]+)\\\\)/g, (m, f) => \n                `(parseFloat(row[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/val\\\\(([^)]+)\\\\)/g, (m, f) => {\n                if (f.startsWith(table_name + '_')) {\n                    return `(parseFloat(row[\"${f.slice(table_name.length + 1)}\"]) || 0)`;\n                }\n                return `(parseFloat(frm.doc[\"${f}\"]) || 0)`;\n            });\n        } else {\n            transformed = transformed.replace(/val\\\\(([^)]+)\\\\)/g, (m, f) => \n                `(parseFloat(frm.doc[\"${f}\"]) || 0)`\n            );\n\n            transformed = transformed.replace(/row\\\\(([^)]+)\\\\)/g, () => \n                `0 /* ERROR: row() вне табличной части */`\n            );\n        }\n\n        transformed = transformed.replace(/(frm\\\\.doc\\\\[\"[^\"]+\"]|\\\\d+|row\\\\[\"[^\"]+\"])\\\\s*([+\\\\-])\\\\s*(\\\\d+(\\\\.\\\\d+)?)%/g, \n            (match, base, op, percent) => `${base} ${op} ((${base} * ${percent}) / 100)`\n        );\n\n        return { transformed, needsAsync, reportCalls };\n    }\n\n\n// Функция для получения индекса строки по её имени (name/cdn)\nfunction get_row_index(frm, tableName, rowName) {\n    \n    // Проверяем наличие таблицы\n    if (!frm.doc[tableName]) {\n        return -1;\n    }\n    \n    // Выводим все строки для отладки\n    frm.doc[tableName].forEach((row, idx) => {\n    });\n    \n    // Ищем индекс строки по имени\n    for (let i = 0; i < frm.doc[tableName].length; i++) {\n        if (frm.doc[tableName][i].name === rowName) {\n            return i;\n        }\n    }\n    return -1;\n}\n\n// Функция для доступа к полям конкретных строк таблицы\nfunction table_row(tableName, rowIndex, fieldName) {\n    // Проверяем наличие необходимых аргументов\n    if (!tableName || rowIndex === undefined || !fieldName) {\n        return 0;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return 0;\n        }\n        \n        // Получаем значение поля\n        const value = frm.doc[tableName][rowIdx][fieldName];\n        \n        // Проверяем на NaN и возвращаем значение или 0\n        const numValue = parseFloat(value);\n        if (isNaN(numValue)) {\n            return 0;\n        }\n        return numValue;\n    } catch (error) {\n        return 0;\n    }\n}\n\n// Функция для обновления значения поля конкретной строки таблицы\nfunction set_table_row(frm, tableName, rowIndex, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || rowIndex === undefined || !fieldName) {\n        return false;\n    }\n    \n    // Преобразуем rowIndex в число (на случай, если передана строка)\n    const rowIdx = parseInt(rowIndex) - 1; // Индексация с 1 для пользователя, но с 0 в массиве\n    \n    try {\n        // Проверяем наличие таблицы и строки\n        if (!frm.doc[tableName] || !frm.doc[tableName][rowIdx]) {\n            return false;\n        }\n        \n        // Получаем строку таблицы\n        const row = frm.doc[tableName][rowIdx];\n        \n        // Получаем сетевое имя cdt и cdn для Frappe\n        const cdt = frm.fields_dict[tableName].grid.doctype;\n        const cdn = row.name;\n        \n        // Проверяем, является ли значение NaN, и если да, заменяем его на 0\n        let finalValue = value;\n        if (typeof value === 'number' && isNaN(value)) {\n            finalValue = 0;\n        }\n        \n        // Обновляем значение поля\n        frappe.model.set_value(cdt, cdn, fieldName, finalValue);\n        \n        return true;\n    } catch (error) {\n        return false;\n    }\n}\n\n// Функция для поиска строки таблицы по значению поля\nfunction find_table_row(frm, tableName, fieldName, value) {\n    // Проверяем наличие необходимых аргументов\n    if (!frm || !tableName || !fieldName) {\n        return -1;\n    }\n    \n    try {\n        // Проверяем наличие таблицы\n        if (!frm.doc[tableName]) {\n            return -1;\n        }\n        \n        // Ищем строку с указанным значением поля\n        for (let i = 0; i < frm.doc[tableName].length; i++) {\n            if (frm.doc[tableName][i][fieldName] == value) {\n                // Возвращаем индекс строки (начиная с 1 для пользователя)\n                return i + 1;\n            }\n        }\n        \n        // Если строка не найдена\n        return -1;\n    } catch (error) {\n        return -1;\n    }\n}",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "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});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "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",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "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",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Road tax 2",
  "enabled": 1,
  "modified": "2025-08-02 18:52:53.398517",
  "module": "Taxes Az",
  "name": "Road tax 2 Bolme 2",
  "script": "frappe.ui.form.on('Road tax 2', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.bölmə_2) {\r\n            frm.set_value('bölmə_2', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { məhsulunadı: '100.1  Avtomobil benzini (Aİ-92)\t0.02', },\r\n            { məhsulunadı: '100.2  Avtomobil benzini (Aİ-95)\t0.02', },\r\n            { məhsulunadı: '100.3  Avtomobil benzini (Aİ-80)\t0.02', },\r\n            { məhsulunadı: '100.4  Dizel yanacağı\t0.02', },\r\n            { məhsulunadı: '100.5  Maye qaz\t0.02',  },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('bölmə_2', row);\r\n        });\r\n\r\n        frm.refresh_field('bölmə_2'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Road tax 2",
  "enabled": 1,
  "modified": "2025-08-02 18:54:46.717900",
  "module": "Taxes Az",
  "name": "Road tax 2 Bolme 3",
  "script": "frappe.ui.form.on('Road tax 2', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.bölmə_3) {\r\n            frm.set_value('bölmə_3', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { idxalolunanməhsulunadı: '103.1  Avtomobil benzini (Aİ-92)\t0.02', },\r\n            { idxalolunanməhsulunadı: '103.2  Avtomobil benzini (Aİ-95)\t0.02', },\r\n            { idxalolunanməhsulunadı: '103.3  Avtomobil benzini (Aİ-80)\t0.02', },\r\n            { idxalolunanməhsulunadı: '103.4  Dizel yanacağı\t0.02', },\r\n            { idxalolunanməhsulunadı: '103.5  Maye qaz\t0.02',  },\r\n        \r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('bölmə_3', row);\r\n        });\r\n\r\n        frm.refresh_field('bölmə_3'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-05-07 12:08:01.161622",
  "module": "Taxes Az",
  "name": "Declaration of simplified tax Verginin Hesablanmasi 1ci 3su",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_məbləğləri) {\r\n            frm.set_value('vergi_məbləğləri', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '810-Ödənilməli verginin məbləği', SahəAdı2: 'Məlumat' },\r\n];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_məbləğləri', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_məbləğləri'); \r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-05-07 14:16:13.034395",
  "module": "Taxes Az",
  "name": "Declaration of simplified tax Hisse 2 - Vergi tutulmayan ve vergiden azadolan emeliyyatlar",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_tutulmayan_ve_vergiden_azadolan_emeliyyatlar) {\r\n            frm.set_value('vergi_tutulmayan_ve_vergiden_azadolan_emeliyyatlar', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '811-Vergi tutulmayan və vergidən azadolan əməliyyatların məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.1-Kənd təsərrüfatı məhsullarının istehsalçıları (o cümlədən, sənaye üsulu ilə) tərəfindən özlərinin istehsal etdikləri kənd təsərrüfatı məhsullarının satışından əldə edilmiş hasilatın həcmi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.2-Dövlət büdcəsinə olan vergi borclarının silinməsindən əldə olunan gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.3-Qanunla müəyyən olunmuş qaydada gəlirlərin və xərclərin uçotunu aparan, ƏDV-nin məqsədləri üçün qeydiyyata alınmayan və əməliyyatlarının həcmi ardıcıl 12 aylıq dövrün istənilən ayında (aylarında) 200.000 manatadək olan rezident müəssisədən alınan dividend', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.4-Lotereya biletlərinin satıcısı ilə bağlanmış müqavilə əsasında və ya onun tapşırığı əsasında lotereya biletlərinin bütün mərhələlərdə agent qaydasında satışının həyata keçirilməsi üzrə göstərilən xidmətlərdən əldə olunan gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.5-Media subyektlərinin (audiovizual media subyektləri istisna olmaqla) öz fəaliyyətlərindən əldə etdikləri gəlirlər (o cümlədən reklam gəlirləri), habelə Azərbaycan Respublikasının Medianın İnkişafı Agentliyi tərəfindən verilən maddi yardımlar', SahəAdı2: 'Məlumat' },\r\n];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_tutulmayan_ve_vergiden_azadolan_emeliyyatlar', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_tutulmayan_ve_vergiden_azadolan_emeliyyatlar'); \r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-05-07 15:34:01.567031",
  "module": "Taxes Az",
  "name": "Test2",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload_post_render: function(frm) {\r\n        setTimeout(function() {\r\n            const grid = frm.fields_dict['table_paaf'].grid;\r\n\r\n            if (grid && grid.grid_rows.length > 0) {\r\n                // Cədvəldəki hər bir sətir üzərində işləyirik\r\n                grid.grid_rows.forEach(function(row, idx) {\r\n                    if (row.docfields) {\r\n                        // Sətir şərtləri\r\n                        if (idx === 0) { // Sətir 1 (indeks 0)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahəni yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 1) { // Sətir 2 (indeks 1)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'verginindərəcəsifaizlə' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 2) { // Sətir 3 (indeks 2) 2 +1 = 3, 3 sətir\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'verginindərəcəsifaizlə' || field.fieldname === 'hesablanmışvergininməbləğimanatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }, 2000); // 2 saniyəlik gözləmə\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2025-01-06 13:16:52.204131",
  "module": "Taxes Az",
  "name": "DefaultExcisedeclarationElave2 2020denSonraSonAylarda",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_zgbn) {\r\n            frm.set_value('table_zgbn', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.1-İçməli spirt üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,250 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,500 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,750 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrdən çox', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.2-Araq (vodka), tündləşdirilmiş içkilər və tündləşdirilmiş içki materialları, likyor və likyor məmulatları üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,250 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,500 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,750 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrdən çox', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.3-Konyak və konyak materialları üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,250 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,500 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,750 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrdən çox', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.4-Şampan şərabı üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,250 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,500 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,750 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrdən çox', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.5-Şərablar və şərab materialları üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,250 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,500 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '0,750 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrədək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '1 litrdən çox', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.6-Pivə (alkoqolsuz pivə istisna olmaq-la) və pivə tərkibli digər içkilər üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: 'Şüşə və tənəkə qablaşdırma üçün', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '50 litrədək çəllək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '50 litr çəllək', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.7-VM-nin 190.3.1 - 190.3.6-cı və 190.3.10-cu maddələrində nəzərdə tutulmayan tündləşdirilməmiş alkoqollu içkilər', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.1-Siqarilla (nazik siqarlar) üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.2-Tütündən hazırlanan siqaretlər və onun əvəzediciləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.3-Siqarlar, o cümlədən ucları kəsilən siqarlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.4-Alışdırılmadan nəfəsə çəkilmək üçün nəzərdə tutulmuş tərkibində tütün və ya bərpa edilmiş tütün olan məhsullar', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '404-Elektron siqaretlər üçün maye üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '406-Qəlyan üçün tütünlər və tütün əvəzləyiciləri, istehsal məqsədli tütünlər istisna olmaqla digər çəkməli tütünlər, \"homogenləşdirilmiş\" və ya \"bərpa edilmiş\" tütünlər, çeynənilən və ya buruna çəkilən tütünlər', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '407-Energetik içkilər üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '408-Birdəfəlik istifadə üçün elektron siqaret, qəlyan və onların əvəzediciləri', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_zgbn', row);\r\n        });\r\n\r\n        frm.refresh_field('table_zgbn'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Export declaration",
  "enabled": 1,
  "modified": "2025-01-06 13:57:14.247040",
  "module": "Taxes Az",
  "name": "DefaultExportDeclarationil2021",
  "script": "frappe.ui.form.on('Export declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_wwvy) {\r\n            frm.set_value('table_wwvy', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { ixracolunmuşməhsulunadı: '1500.1. Xam neft', qiymətfərqindənyığımdərəcəsi: '30.00' },\r\n            { ixracolunmuşməhsulunadı: '1500.2. Neft məhsulları üzrə', qiymətfərqindənyığımdərəcəsi: '30.00' },\r\n            { ixracolunmuşməhsulunadı: '1500.3. Digər məhsullar üzrə', qiymətfərqindənyığımdərəcəsi: '30.00' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_wwvy', row);\r\n        });\r\n\r\n        frm.refresh_field('table_wwvy'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Export declaration",
  "enabled": 1,
  "modified": "2025-01-06 14:58:57.926605",
  "module": "Taxes Az",
  "name": "DefaultExportDeclarationil2021Sonra",
  "script": "frappe.ui.form.on('Export declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_gwew) {\r\n            frm.set_value('table_gwew', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { ixracolunmuşməhsulunadı: '1500. CƏMİ', SahəAdı2: 'Məlumat' },\r\n            { ixracolunmuşməhsulunadı: '1500.1. Xam neft', SahəAdı2: 'Məlumat' },\r\n            { ixracolunmuşməhsulunadı: '1500.2. Neft məhsulları üzrə', SahəAdı2: 'Məlumat' },\r\n            { ixracolunmuşməhsulunadı: '1500.3. Digər məhsullar üzrə', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_gwew', row);\r\n        });\r\n\r\n        frm.refresh_field('table_gwew'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Building construction and simplified tax declaration",
  "enabled": 1,
  "modified": "2025-01-06 17:13:56.336422",
  "module": "Taxes Az",
  "name": "DefaultBuildingConstructionAndSimplifiedTaxDeclarationVergiHesabla",
  "script": "frappe.ui.form.on('Building construction and simplified tax declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_cwlz) {\r\n            frm.set_value('table_cwlz', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '810-Bakı şəhəri üzrə (sət.810.1 +.....+ sət.810.6)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.1 - 1-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.2 - 2-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.3 - 3-cü və 4-cü zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.4 - 5-ci və 6-cı zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.5 - 7-ci, 8-ci və 9-cu zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.6 - 10-cu, 11-ci və 12-ci zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811 - Gəncə, Sumqayıt və  Xırdalan şəhərlərində', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '812 - Abşeron rayonunun qəsəbə və kəndləri (Xırdalan şəhəri istisna olmaqla) Şirvan, Mingəçevir, Naxçıvan, Lənkəran, Yevlax, Şəki və Naftalan şəhərlərində', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '813 - Digər rayon (şəhər) və qəsəbələrdə (kəndlərdə)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '814 - Yekun (sət.810+sət.811+sət.812+sət.813)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_cwlz', row);\r\n        });\r\n\r\n        frm.refresh_field('table_cwlz'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Real estate simplified tax declaration",
  "enabled": 1,
  "modified": "2025-01-07 13:21:52.234468",
  "module": "Taxes Az",
  "name": "DefaultRealEstateSimplifiedTaxDeclarationVergiHesab",
  "script": "frappe.ui.form.on('Real estate simplified tax declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_lgsi) {\r\n            frm.set_value('table_lgsi', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '810-Bakı şəhəri üzrə (sət.830.1 +.....+ sət.830.6)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '830.1 - 1-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '830.2 - 2-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '830.3 - 3-cü və 4-cü zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '830.4 - 5-ci və 6-cı zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '830.5 - 7-ci, 8-ci və 9-cu zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '830.6 - 10-cu, 11-ci və 12-ci zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '831 - Gəncə, Sumqayıt və  Xırdalan şəhərlərində', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '832 - Abşeron rayonunun qəsəbə və kəndləri (Xırdalan şəhəri istisna olmaqla) Şirvan, Mingəçevir, Naxçıvan, Lənkəran, Yevlax, Şəki və Naftalan şəhərlərində', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '833 - Digər rayon (şəhər) və qəsəbələrdə (kəndlərdə)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '834 - Yaşayış və qeyri-yaşayış sahələrini təqdim edilməsi üzrə cəmi (sət.830+sət.831+sət.832+sət.833)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '835 - Cəmi vergidən azad olunan', SahəAdı2: 'Məlumat' },\r\n            ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_lgsi', row);\r\n        });\r\n\r\n        frm.refresh_field('table_lgsi'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Real estate simplified tax declaration",
  "enabled": 1,
  "modified": "2025-01-07 13:38:56.798960",
  "module": "Taxes Az",
  "name": "Real estate simplified tax declaration vergi hesab 2ci",
  "script": "frappe.ui.form.on('Real estate simplified tax declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_qprb) {\r\n            frm.set_value('table_qprb', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '840-Bakı şəhəri üzrə (sət.840.1 +.....+ sət.840.6)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '840.1 - 1-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '840.2 - 2-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '840.3 - 3-cü və 4-cü zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '840.4 - 5-ci və 6-cı zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '840.5 - 7-ci, 8-ci və 9-cu zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '840.6 - 10-cu, 11-ci və 12-ci zonalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '841 - Gəncə, Sumqayıt və  Xırdalan şəhərlərində', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '842 - Abşeron rayonunun qəsəbə və kəndləri (Xırdalan şəhəri istisna olmaqla) Şirvan, Mingəçevir, Naxçıvan, Lənkəran, Yevlax, Şəki və Naftalan şəhərlərində', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '843 - Digər rayon (şəhər) və qəsəbələrdə (kəndlərdə)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '844 - Yaşayış və qeyri-yaşayış sahələrini təqdim edilməsi üzrə cəmi (sət.840+sət.841+sət.842+sət.843)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '845 - Cəmi vergidən azad olunan', SahəAdı2: 'Məlumat' },\r\n            ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_qprb', row);\r\n        });\r\n\r\n        frm.refresh_field('table_qprb'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Real estate simplified tax declaration",
  "enabled": 1,
  "modified": "2025-01-07 13:52:15.436847",
  "module": "Taxes Az",
  "name": "DefaultRealEstateSimplifiedTaxDeclarationVergiHesab3cu",
  "script": "frappe.ui.form.on('Real estate simplified tax declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_zset) {\r\n            frm.set_value('table_zset', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '846 - Kənd təsərrüfatı təyinatlı torpaq sahələri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '847 - Cəmi vergidən azad edilmiş sahə (hektarla)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_zset', row);\r\n        });\r\n\r\n        frm.refresh_field('table_zset'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Real estate simplified tax declaration",
  "enabled": 1,
  "modified": "2025-01-07 15:30:59.388338",
  "module": "Taxes Az",
  "name": "DefaultRealEstateSimplifiedTaxDeclarationVergiHesab4cu",
  "script": "frappe.ui.form.on('Real estate simplified tax declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_cssb) {\r\n            frm.set_value('table_cssb', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '850 - Yekun (sət.834+sət.844+sət.846)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_cssb', row);\r\n        });\r\n\r\n        frm.refresh_field('table_cssb'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Report on collection of state duty",
  "enabled": 1,
  "modified": "2025-01-09 15:18:09.354708",
  "module": "Taxes Az",
  "name": "DefaultReportOnCollectionOfStateDutyDovletRusumu",
  "script": "//table_ehhm - Table Adı\r\n//frappe.ui.form.on('Report on collection of state duty' - Doctype Adı\r\n//dövlətrüsumututulmalıolanhərəkətlərinadı - kolonka adı\r\n\r\n\r\n\r\nfrappe.ui.form.on('Report on collection of state duty', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_ehhm) {\r\n            frm.set_value('table_ehhm', []); \r\n        }\r\n\r\n        //burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test1',  },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test2',  }\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1100 Məhkəməyə verilən iddia ərizələrinin və şikayətlərin, hüquqi əhəmiyyət kəsb edən faktların müəyyən edilməsi barədə ərizələrin, məhkəmə əmri haqqında ərizələrin və məhkəmə qərarları barəsində şikayətlərin verilməsi, məhkəmə tərəfindən sənədlərin surətinin təkrar verilməsi',  }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1100.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1101 Notariat kontorları və dövlət orqanları tərəfindən notariat hərəkətlərinin aparılması, notariat fəaliyyəti ilə məşğul olmaq üçün şəhadətnamənin verilməsi və onun müddətinin uzadılması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1101.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1102 Vətəndaşlıq vəziyyəti aktlarının dövlət qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1102.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1103 Azərbaycan Respublikası vətəndaşlarına və Azərbaycan Respublikasında daimi yaşayan vətəndaşlığı olmayan şəxslərə şəxsiyyət vəsiqəsi, habelə Azərbaycan Respublikasında 30 gündən artıq yaşayan əcnəbilərə qeydiyyat vəsiqəsi, əcnəbiyə və vətəndaşlığı olmayan şəxsə Azərbaycan Respublikasının ərazisində müvəqqəti və ya daimi yaşamaq üçün icazə vəsiqəsi, müvəqqəti olma müddətinin uzadılması barədə qərar, Azərbaycan Respublikasında qaçqın statusu almış şəxslərə Qaçqın vəsiqəsi və Yol sənədinin verilməsi, Azərbaycan Respublikası vətəndaşlığına qəbul, bərpa və ya vətəndaşlığından çıxma', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1103.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1104 Azərbaycan Respublikasında və ya Azərbaycan Respublikasının xarici ölkələrdəki diplomatik nümayəndəliklərində konsul əməliyyatlarının aparılması;', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1104.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1105 İxtiranın, faydalı modelin, sənaye nümunəsinin, əmtəə nişanının, coğrafi göstəricinin, əsərin, əlaqəli hüquqlar obyektinin inteqral sxem topologiyasının və məlumat toplularının qeydə alınması, müvafiq mühafizə sənədlərinin verilməsi və onlarla bağlı digər hüquqi hərəkətlər, habelə icazələrin bəzi növlərinin verilməsi, nəqliyyat vasitələrinə və onların idarə edilməsi ilə bağlı hüquqi və fiziki şəxslərə xidmətlərin göstərilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1105.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1106 Lisenziyalaşdırılan sahibkarlıq fəaliyyəti növlərinə lisenziya verilməsi (sətrin təsnifatı 2№-li Əlavə ilə təqdim olunur)', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1106.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1107 Hüquqi şəxslərin dövlət qeydiyyatı və yenidən qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1107.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1108 Qiymətli kağızların qeydiyyata alınması (özəlləşdirmə qaydasında qeydə alınması halları istisna olmaqla) və dövlət reyestrinə daxil edilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1108.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1110 Daşınmaz əmlaka mülkiyyət və digər əşya hüquqların dövlət qeydiyyatına alınması ilə bağlı sənədlərin verilməsi, habelə girovun dövlət qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1110.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1111 Qiymətli metallardan hazırlanmış zərgərlik və digər məişət məmulatlarının əyarlanması və damğalanması,ekspertizası, materialların tətbiqi, qiymətli daşların ekspertizası və diaqnostikası', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1111.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1112 Dənizçilik sahəsində xidmətlər və ya hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1112.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1113 Mülki aviasiya sahəsində xidmətlər və ya hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1113.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1114 Müvafiq icra hakimiyyəti orqanı tərəfindən həyata keçirilən hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1114.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1116 Dərman vasitələrinin və maddələrinin dövlət, o cümlədən yenidən dövlət qeydiyyatı və onların qeydiyyat sənədlərində dəyişikliklərin dövlət qeydiyyatına, gigiyenik sertifikatın verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1116.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1117 Standartlaşdırma və metrologiya sahəsində hüquqi hərəkətlərə görə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1117.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1118 Malın mənşə ölkəsini təsdiq edən sertifikatın verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1118.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1119 Müvafiq sənədə apostil verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1119.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1120 Aktuari şəhadətnaməsinin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1121 Avtovağzala (avtostansiyaya) pasportun verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1122 Vergi öhdəliyinin əvvəlcədən müəyyənləşdirilməsi barədə qərarın qəbul edilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1123 Daşınar əşyanın ipotekasının dövlət qeydiyyatına alınması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1124 Açıq məkanda reklam yerləşdirilməsinə icazə verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1124.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1126 Aksiz markasının verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1128 Satış və digər sahibkarlıq fəaliyyəti məqsədilə hüquqi və fiziki şəxslər tərəfindən idxal olunarkən gömrük rüsumu və əlavə dəyər vergisi tutulmaqla rəsmiləşdirilmiş mobil cihazlar istisna olmaqla, fiziki şəxs tərəfindən şəxsi istehlakı üçün ölkəyə gətirilən mobil cihazların qeydiyyata alınması ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1129 Könüllü dövlət daktiloskopik və genom qeydiyyatının aparılması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1130 Təhsil müəssisələrinin akkreditasiyasının keçirilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1131 Tibb müəssisələrinin akkreditasiyasının keçirilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1132 Özəl məhkəmə eksperti qismində fəaliyyət göstərmək üçün şəhadətnamənin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1133 Ümumi istifadədə olan avtomobil yolları ilə iriqabaritli və ağırçəkili nəqliyyat vasitələrinin hərəkətinə icazənin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1134 Avtomobil nəqliyyatı ilə sərnişin və yük daşımalarına icazənin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1135 Dövlət rüsumu üzrə C Ə M İ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1135.1 Аzadolmalar üzrə C Ə M İ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1136 Büdcəyə ödənilməli dövlət rüsumunun məbləği', },\r\n\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test5',  },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test6',  }\r\n            ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test7',  },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test8',  }\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test9',  },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test10', }\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1100 Məhkəməyə verilən iddia ərizələrinin və şikayətlərin, hüquqi əhəmiyyət kəsb edən faktların müəyyən edilməsi barədə ərizələrin, məhkəmə əmri haqqında ərizələrin və məhkəmə qərarları barəsində şikayətlərin verilməsi, məhkəmə tərəfindən sənədlərin surətinin təkrar verilməsi',  }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1100.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1101 Notariat kontorları və dövlət orqanları tərəfindən notariat hərəkətlərinin aparılması, notariat fəaliyyəti ilə məşğul olmaq üçün şəhadətnamənin verilməsi və onun müddətinin uzadılması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1101.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1102 Vətəndaşlıq vəziyyəti aktlarının dövlət qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1102.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1103 Azərbaycan Respublikası vətəndaşlarına və Azərbaycan Respublikasında daimi yaşayan vətəndaşlığı olmayan şəxslərə şəxsiyyət vəsiqəsi, habelə Azərbaycan Respublikasında 30 gündən artıq yaşayan əcnəbilərə qeydiyyat vəsiqəsi, əcnəbiyə və vətəndaşlığı olmayan şəxsə Azərbaycan Respublikasının ərazisində müvəqqəti və ya daimi yaşamaq üçün icazə vəsiqəsi, müvəqqəti olma müddətinin uzadılması barədə qərar, Azərbaycan Respublikasında qaçqın statusu almış şəxslərə Qaçqın vəsiqəsi və Yol sənədinin verilməsi, Azərbaycan Respublikası vətəndaşlığına qəbul, bərpa və ya vətəndaşlığından çıxma', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1103.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1104 Azərbaycan Respublikasında və ya Azərbaycan Respublikasının xarici ölkələrdəki diplomatik nümayəndəliklərində konsul əməliyyatlarının aparılması;', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1104.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1105 İxtiranın, faydalı modelin, sənaye nümunəsinin, əmtəə nişanının, coğrafi göstəricinin, əsərin, əlaqəli hüquqlar obyektinin inteqral sxem topologiyasının və məlumat toplularının qeydə alınması, müvafiq mühafizə sənədlərinin verilməsi və onlarla bağlı digər hüquqi hərəkətlər, habelə icazələrin bəzi növlərinin verilməsi, nəqliyyat vasitələrinə və onların idarə edilməsi ilə bağlı hüquqi və fiziki şəxslərə xidmətlərin göstərilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1105.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1106 Lisenziyalaşdırılan sahibkarlıq fəaliyyəti növlərinə lisenziya verilməsi (sətrin təsnifatı 2№-li Əlavə ilə təqdim olunur)', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1106.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1107 Hüquqi şəxslərin dövlət qeydiyyatı və yenidən qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1107.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1108 Qiymətli kağızların qeydiyyata alınması (özəlləşdirmə qaydasında qeydə alınması halları istisna olmaqla) və dövlət reyestrinə daxil edilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1108.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1109 Аzərbaycan Respublikası ərazisində beynəlxalq avtomobil daşımalarını tənzimləyən icazənin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1109.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1110 Daşınmaz əmlaka mülkiyyət və digər əşya hüquqların dövlət qeydiyyatına alınması ilə bağlı sənədlərin verilməsi, habelə girovun dövlət qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1110.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1111 Qiymətli metallardan hazırlanmış zərgərlik və digər məişət məmulatlarının əyarlanması və damğalanması,ekspertizası, materialların tətbiqi, qiymətli daşların ekspertizası və diaqnostikası', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1111.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1112 Dənizçilik sahəsində xidmətlər və ya hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1112.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1113 Mülki aviasiya sahəsində xidmətlər və ya hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1113.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1114 Müvafiq icra hakimiyyəti orqanı tərəfindən həyata keçirilən hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1114.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1115 Xarici ölkələrinin ali təhsil müəssisələrinin diplomlarının tanınması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1115.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1116 Dərman vasitələrinin və maddələrinin dövlət qeydiyyatı və gigiyenik sertifikatının verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1116.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1117 Standartlaşdırma və metrologiya sahəsində hüquqi hərəkətlərə görə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1117.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1118 Malın mənşə ölkəsini təsdiq edən sertifikatın verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1118.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1119 Sənədə apostil verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1119.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1120 Aktuari şəhadətnaməsinin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1121 Avtovağzala (avtostansiyaya) pasportun verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1122 Vergi öhdəliyinin əvvəlcədən müəyyənləşdirilməsi barədə qərarın qəbul edilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1123 Daşınar əşyanın ipotekasının dövlət qeydiyyatına alınması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1124 Açıq məkanda reklam yerləşdirilməsinə icazə verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1124.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1125 Müvafiq icra hakimiyyəti orqanı tərəfindən hüquqi və fiziki şəxslərə arxiv arayışlarının, arxiv sənədlərindən çıxarışların, arxiv sənədlərinin təsdiq olunmuş surətlərinin sürətləndirilmiş qaydada verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1125.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1126 Aksiz markasının verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1127 Heyvanların, heyvan mənşəli məhsulların və xammalın baytarlıq normalarına cavab verməsini təsdiq edən ekspertiza aktının verilməsi və ya ətin, heyvan və quş cəmdəklərinin və digər məhsulların üzərinə nişanın qoyulması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1128 Mobil cihazların qeydiyyata alınması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1129 Könüllü dövlət daktiloskopik və genom qeydiyyatının aparılması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1130 Təhsil müəssisələrinin akkreditasiyasının keçirilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1131 Tibb müəssisələrinin akkreditasiyasının keçirilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1132 Dövlət rüsumu üzrə  C Ə M İ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1132.1 Аzadolmalar üzrə C Ə M İ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1133 Qanunvericiliyə əsasən xüsusi hesaba köçürülməli dövlət rüsumunun məbləği', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1134 Büdcəyə ödənilməli dövlət rüsumunun məbləği', },\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_ehhm'); \r\n    },\r\n\r\n    il: function(frm) {\r\n        frm.set_value('table_ehhm', []); \r\n\r\n        //və burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test1',  },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test2',  }\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1100 Məhkəməyə verilən iddia ərizələrinin və şikayətlərin, hüquqi əhəmiyyət kəsb edən faktların müəyyən edilməsi barədə ərizələrin, məhkəmə əmri haqqında ərizələrin və məhkəmə qərarları barəsində şikayətlərin verilməsi, məhkəmə tərəfindən sənədlərin surətinin təkrar verilməsi',  }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1100.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1101 Notariat kontorları və dövlət orqanları tərəfindən notariat hərəkətlərinin aparılması, notariat fəaliyyəti ilə məşğul olmaq üçün şəhadətnamənin verilməsi və onun müddətinin uzadılması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1101.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1102 Vətəndaşlıq vəziyyəti aktlarının dövlət qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1102.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1103 Azərbaycan Respublikası vətəndaşlarına və Azərbaycan Respublikasında daimi yaşayan vətəndaşlığı olmayan şəxslərə şəxsiyyət vəsiqəsi, habelə Azərbaycan Respublikasında 30 gündən artıq yaşayan əcnəbilərə qeydiyyat vəsiqəsi, əcnəbiyə və vətəndaşlığı olmayan şəxsə Azərbaycan Respublikasının ərazisində müvəqqəti və ya daimi yaşamaq üçün icazə vəsiqəsi, müvəqqəti olma müddətinin uzadılması barədə qərar, Azərbaycan Respublikasında qaçqın statusu almış şəxslərə Qaçqın vəsiqəsi və Yol sənədinin verilməsi, Azərbaycan Respublikası vətəndaşlığına qəbul, bərpa və ya vətəndaşlığından çıxma', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1103.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1104 Azərbaycan Respublikasında və ya Azərbaycan Respublikasının xarici ölkələrdəki diplomatik nümayəndəliklərində konsul əməliyyatlarının aparılması;', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1104.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1105 İxtiranın, faydalı modelin, sənaye nümunəsinin, əmtəə nişanının, coğrafi göstəricinin, əsərin, əlaqəli hüquqlar obyektinin inteqral sxem topologiyasının və məlumat toplularının qeydə alınması, müvafiq mühafizə sənədlərinin verilməsi və onlarla bağlı digər hüquqi hərəkətlər, habelə icazələrin bəzi növlərinin verilməsi, nəqliyyat vasitələrinə və onların idarə edilməsi ilə bağlı hüquqi və fiziki şəxslərə xidmətlərin göstərilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1105.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1106 Lisenziyalaşdırılan sahibkarlıq fəaliyyəti növlərinə lisenziya verilməsi (sətrin təsnifatı 2№-li Əlavə ilə təqdim olunur)', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1106.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1107 Hüquqi şəxslərin dövlət qeydiyyatı və yenidən qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1107.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1108 Qiymətli kağızların qeydiyyata alınması (özəlləşdirmə qaydasında qeydə alınması halları istisna olmaqla) və dövlət reyestrinə daxil edilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1108.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1110 Daşınmaz əmlaka mülkiyyət və digər əşya hüquqların dövlət qeydiyyatına alınması ilə bağlı sənədlərin verilməsi, habelə girovun dövlət qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1110.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1111 Qiymətli metallardan hazırlanmış zərgərlik və digər məişət məmulatlarının əyarlanması və damğalanması,ekspertizası, materialların tətbiqi, qiymətli daşların ekspertizası və diaqnostikası', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1111.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1112 Dənizçilik sahəsində xidmətlər və ya hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1112.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1113 Mülki aviasiya sahəsində xidmətlər və ya hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1113.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1114 Müvafiq icra hakimiyyəti orqanı tərəfindən həyata keçirilən hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1114.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1116 Dərman vasitələrinin və maddələrinin dövlət, o cümlədən yenidən dövlət qeydiyyatı və onların qeydiyyat sənədlərində dəyişikliklərin dövlət qeydiyyatına, gigiyenik sertifikatın verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1116.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1117 Standartlaşdırma və metrologiya sahəsində hüquqi hərəkətlərə görə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1117.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1118 Malın mənşə ölkəsini təsdiq edən sertifikatın verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1118.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1119 Müvafiq sənədə apostil verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1119.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1120 Aktuari şəhadətnaməsinin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1121 Avtovağzala (avtostansiyaya) pasportun verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1122 Vergi öhdəliyinin əvvəlcədən müəyyənləşdirilməsi barədə qərarın qəbul edilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1123 Daşınar əşyanın ipotekasının dövlət qeydiyyatına alınması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1124 Açıq məkanda reklam yerləşdirilməsinə icazə verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1124.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1126 Aksiz markasının verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1128 Satış və digər sahibkarlıq fəaliyyəti məqsədilə hüquqi və fiziki şəxslər tərəfindən idxal olunarkən gömrük rüsumu və əlavə dəyər vergisi tutulmaqla rəsmiləşdirilmiş mobil cihazlar istisna olmaqla, fiziki şəxs tərəfindən şəxsi istehlakı üçün ölkəyə gətirilən mobil cihazların qeydiyyata alınması ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1129 Könüllü dövlət daktiloskopik və genom qeydiyyatının aparılması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1130 Təhsil müəssisələrinin akkreditasiyasının keçirilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1131 Tibb müəssisələrinin akkreditasiyasının keçirilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1132 Özəl məhkəmə eksperti qismində fəaliyyət göstərmək üçün şəhadətnamənin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1133 Ümumi istifadədə olan avtomobil yolları ilə iriqabaritli və ağırçəkili nəqliyyat vasitələrinin hərəkətinə icazənin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1134 Avtomobil nəqliyyatı ilə sərnişin və yük daşımalarına icazənin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1135 Dövlət rüsumu üzrə C Ə M İ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1135.1 Аzadolmalar üzrə C Ə M İ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1136 Büdcəyə ödənilməli dövlət rüsumunun məbləği', },\r\n\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test5',  },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test6',  }\r\n            ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test7',  },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test8',  }\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test9',  },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: 'test10', }\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n               { dövlətrüsumututulmalıolanhərəkətlərinadı: '1100 Məhkəməyə verilən iddia ərizələrinin və şikayətlərin, hüquqi əhəmiyyət kəsb edən faktların müəyyən edilməsi barədə ərizələrin, məhkəmə əmri haqqında ərizələrin və məhkəmə qərarları barəsində şikayətlərin verilməsi, məhkəmə tərəfindən sənədlərin surətinin təkrar verilməsi',  }, //məsəl üçün 2020 lazım deyilsə, onda bu 2 sətrləri sil prosto\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1100.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1101 Notariat kontorları və dövlət orqanları tərəfindən notariat hərəkətlərinin aparılması, notariat fəaliyyəti ilə məşğul olmaq üçün şəhadətnamənin verilməsi və onun müddətinin uzadılması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1101.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1102 Vətəndaşlıq vəziyyəti aktlarının dövlət qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1102.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1103 Azərbaycan Respublikası vətəndaşlarına və Azərbaycan Respublikasında daimi yaşayan vətəndaşlığı olmayan şəxslərə şəxsiyyət vəsiqəsi, habelə Azərbaycan Respublikasında 30 gündən artıq yaşayan əcnəbilərə qeydiyyat vəsiqəsi, əcnəbiyə və vətəndaşlığı olmayan şəxsə Azərbaycan Respublikasının ərazisində müvəqqəti və ya daimi yaşamaq üçün icazə vəsiqəsi, müvəqqəti olma müddətinin uzadılması barədə qərar, Azərbaycan Respublikasında qaçqın statusu almış şəxslərə Qaçqın vəsiqəsi və Yol sənədinin verilməsi, Azərbaycan Respublikası vətəndaşlığına qəbul, bərpa və ya vətəndaşlığından çıxma', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1103.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1104 Azərbaycan Respublikasında və ya Azərbaycan Respublikasının xarici ölkələrdəki diplomatik nümayəndəliklərində konsul əməliyyatlarının aparılması;', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1104.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1105 İxtiranın, faydalı modelin, sənaye nümunəsinin, əmtəə nişanının, coğrafi göstəricinin, əsərin, əlaqəli hüquqlar obyektinin inteqral sxem topologiyasının və məlumat toplularının qeydə alınması, müvafiq mühafizə sənədlərinin verilməsi və onlarla bağlı digər hüquqi hərəkətlər, habelə icazələrin bəzi növlərinin verilməsi, nəqliyyat vasitələrinə və onların idarə edilməsi ilə bağlı hüquqi və fiziki şəxslərə xidmətlərin göstərilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1105.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1106 Lisenziyalaşdırılan sahibkarlıq fəaliyyəti növlərinə lisenziya verilməsi (sətrin təsnifatı 2№-li Əlavə ilə təqdim olunur)', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1106.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1107 Hüquqi şəxslərin dövlət qeydiyyatı və yenidən qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1107.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1108 Qiymətli kağızların qeydiyyata alınması (özəlləşdirmə qaydasında qeydə alınması halları istisna olmaqla) və dövlət reyestrinə daxil edilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1108.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1109 Аzərbaycan Respublikası ərazisində beynəlxalq avtomobil daşımalarını tənzimləyən icazənin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1109.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1110 Daşınmaz əmlaka mülkiyyət və digər əşya hüquqların dövlət qeydiyyatına alınması ilə bağlı sənədlərin verilməsi, habelə girovun dövlət qeydiyyatı', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1110.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1111 Qiymətli metallardan hazırlanmış zərgərlik və digər məişət məmulatlarının əyarlanması və damğalanması,ekspertizası, materialların tətbiqi, qiymətli daşların ekspertizası və diaqnostikası', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1111.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1112 Dənizçilik sahəsində xidmətlər və ya hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1112.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1113 Mülki aviasiya sahəsində xidmətlər və ya hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1113.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1114 Müvafiq icra hakimiyyəti orqanı tərəfindən həyata keçirilən hüquqi hərəkətlər', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1114.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1115 Xarici ölkələrinin ali təhsil müəssisələrinin diplomlarının tanınması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1115.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1116 Dərman vasitələrinin və maddələrinin dövlət qeydiyyatı və gigiyenik sertifikatının verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1116.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1117 Standartlaşdırma və metrologiya sahəsində hüquqi hərəkətlərə görə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1117.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1118 Malın mənşə ölkəsini təsdiq edən sertifikatın verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1118.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1119 Sənədə apostil verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1119.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1120 Aktuari şəhadətnaməsinin verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1121 Avtovağzala (avtostansiyaya) pasportun verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1122 Vergi öhdəliyinin əvvəlcədən müəyyənləşdirilməsi barədə qərarın qəbul edilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1123 Daşınar əşyanın ipotekasının dövlət qeydiyyatına alınması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1124 Açıq məkanda reklam yerləşdirilməsinə icazə verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1124.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1125 Müvafiq icra hakimiyyəti orqanı tərəfindən hüquqi və fiziki şəxslərə arxiv arayışlarının, arxiv sənədlərindən çıxarışların, arxiv sənədlərinin təsdiq olunmuş surətlərinin sürətləndirilmiş qaydada verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1125.1 Аzadolmalar üzrə', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1126 Aksiz markasının verilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1127 Heyvanların, heyvan mənşəli məhsulların və xammalın baytarlıq normalarına cavab verməsini təsdiq edən ekspertiza aktının verilməsi və ya ətin, heyvan və quş cəmdəklərinin və digər məhsulların üzərinə nişanın qoyulması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1128 Mobil cihazların qeydiyyata alınması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1129 Könüllü dövlət daktiloskopik və genom qeydiyyatının aparılması', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1130 Təhsil müəssisələrinin akkreditasiyasının keçirilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1131 Tibb müəssisələrinin akkreditasiyasının keçirilməsi', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1132 Dövlət rüsumu üzrə  C Ə M İ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1132.1 Аzadolmalar üzrə C Ə M İ', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1133 Qanunvericiliyə əsasən xüsusi hesaba köçürülməli dövlət rüsumunun məbləği', },\r\n                { dövlətrüsumututulmalıolanhərəkətlərinadı: '1134 Büdcəyə ödənilməli dövlət rüsumunun məbləği', },\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_ehhm', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_ehhm'); \r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-23 15:15:55.260991",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationil2021",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_tykq) {\r\n            frm.set_value('table_tykq', []); \r\n        }\r\n\r\n        const default_rows = [\r\n             { göstəricilər: '401-Neft məhsulları üzrə', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402-İçkilərin bütün növləri üzrə', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402-1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.1-İçməli spirt (o cümlədən tərkibində 80 faizdən az spirt olmayan denaturlaşdırılmamış etil spirti; tərkibində 80 faizdən az spirt olan denaturlaşdırılmamış etil spirti)', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.1.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.2-Araq (vodka), tündləşdirilmiş içkilər və tündləşdirilmiş içki materialları, likyor və likyor məmulatları', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.2.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.3-Konyak və konyak materialları', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.3.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.4-Şampan şərabı', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.4.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.5-Şərablar və şərab materialları', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.5.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.6-Pivə (alkoqolsuz pivə istisna olmaqla) və pivə tərkibli digər içkilər', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.6.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.7 - Energetik içkilər', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.7.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.8 - VM-nin 190.3.1 - 190.3.12-ci maddələrində nəzərdə tutulmayan tündləşdirilməmiş alkoqollu içkilər', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '402.8.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '403-Tütün məmulatları üzrə (manatla)', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '403-1 o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '403.1-Siqarilla (nazik siqarlar)', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '403.1.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '403.2-Tütündən hazırlanan siqaretlər və onun əvəzediciləri', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '403.2.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '403.3 - siqarlar, o cümlədən ucları kəsilən siqarlar', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '403.3.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '404-Elektron siqaretlər üçün maye', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '404.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '405-Minik avtomobilləri', SahəAdı2: 'Məlumat' },\r\n             { göstəricilər: '405.1 - o, cümlədən ixrac edilmişdir', SahəAdı2: 'Məlumat' },\r\n             ]\r\n\r\n\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_tykq', row);\r\n        });\r\n\r\n        frm.refresh_field('table_tykq'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-23 16:18:25.042362",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationil20212ci",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_zjwm) {\r\n            frm.set_value('table_zjwm', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '407-Spirtli içkilərin bütün növləri üçün', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_zjwm', row);\r\n        });\r\n\r\n        frm.refresh_field('table_zjwm'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-26 02:19:27.158755",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationElave2",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_bbms) {\r\n            frm.set_value('table_bbms', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.1-İçməli spirt üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.2-Araq (vodka), tündləşdirilmiş içkilər və tündləşdirilmiş içki materialları, likyor və likyor məmulatları üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.3-Konyak və konyak materialları üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.4-Şampan şərabı üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.5-Şərablar və şərab materialları üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.6-Pivə (alkoqolsuz pivə istisna olmaq-la) və pivə tərkibli digər içkilər üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.7-Energetik içkilər', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.8-VM-nin 190.3.1 - 190.3.12-ci maddələrində nəzərdə tutulmayan tündləşdirilməmiş alkoqollu içkilər', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.1-Siqarilla (nazik siqarlar) üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.2-Tütündən hazırlanan siqaretlər və onun əvəzediciləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.3-Siqarlar, o cümlədən ucları kəsilən siqarlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '404-Elektron siqaretlər üçün maye üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '406-Qəlyan üçün tütünlər və tütün əvəzləyiciləri, istehsal məqsədli tütünlər istisna olmaqla digər çəkməli tütünlər, \"homogenləşdirilmiş\" və ya \"bərpa edilmiş\" tütünlər, çeynənilən və ya buruna çəkilən tütünlər', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '407-Alışdırmadan nəfəsə çəkilmək üçün nəzərdə tutulmuş tərkibində tütün və ya bərpa edilmiş tütün olan məhsullar', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '408-Birdəfəlik istifadə üçün elektron siqaret, qəlyan və onların əvəzediciləri', SahəAdı2: 'Məlumat' },\r\n            ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_bbms', row);\r\n        });\r\n\r\n        frm.refresh_field('table_bbms'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-26 02:01:33.977075",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationVergininHesablanmsiHissa124",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_fkvs) {\r\n            frm.set_value('table_fkvs', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '401 - Neft məhsulları üzrə (sətrin təsnifatı 1 №-li Əlavə ilə təqdim olunur)', ölçüvahidi: 'ton' },\r\n            { göstəricilər: '402 - İçkilərin bütün növləri üzrə (sətrin təsnifatı 3 №-li Əlavə ilə təqdim olunur)', ölçüvahidi: 'litr' },\r\n            { göstəricilər: '403 - Tütün məmulatları (sətrin təsnifatı 3 №-li Əlavə ilə təqdim olunur)', ölçüvahidi: 'ədəd' },\r\n            { göstəricilər: '404 - Elektron siqaretlər üçün maye', ölçüvahidi: 'litr' },\r\n            { göstəricilər: '405 - Minik avtomobilləri', ölçüvahidi: 'ədəd' },\r\n            { göstəricilər: '406 - Qəlyan üçün tütünlər və tütün əvəzləyiciləri, istehsal məqsədli tütünlər istisna olmaqla digər çəkməli tütünlər, \"homogenləşdirilmiş\" və ya \"bərpa edilmiş\" tütünlər, çeynənilən və ya buruna çəkilən tütünlər (sətrin təsnifatı 3 №-li Əlavə ilə təqdim olunur)', ölçüvahidi: 'kq' },\r\n            { göstəricilər: '407 - Alışdırılmadan nəfəsə çəkilmək üçün nəzərdə tutulmuş tərkibində tütün və ya bərpa edilmiş tütün olan məhsullar (sətrin təsnifatı 3 №-li Əlavə ilə təqdim olunur)', ölçüvahidi: 'ədəd' },\r\n            { göstəricilər: '408 - Birdəfəlik istifadə üçün elektron siqaret, qəlyan və onların əvəzediciləri (sətrin təsnifatı 3 №-li Əlavə ilə təqdim olunur)', ölçüvahidi: 'ədəd' },\r\n            { göstəricilər: '409 - Əməliyyatlar üzrə CƏMİ(sət.401 + sət.402 + sət.403 + sət.404 + sət.405 + sət.406 + sət.407 + sət.408)', ölçüvahidi: '' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_fkvs', row);\r\n        });\r\n\r\n        frm.refresh_field('table_fkvs'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-25 19:08:36.249630",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationVergininHesablanmsiHissa1242ci",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_vzdv) {\r\n            frm.set_value('table_vzdv', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '410-Neft məhsulları üzrə (sətrin təsnifatı 1 №-li Əlavənin 2-ci hissəsi ilə təqdim olunur)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '411-Spirtli içkilərin bütün növləri üçün', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '412-Tütün məmulatları üçün', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '413-Əməliyyat üzrə cəmi (410+411+412)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_vzdv', row);\r\n        });\r\n\r\n        frm.refresh_field('table_vzdv'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-26 01:10:19.166982",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationVergininHesablamasiHisse3",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_zylw) {\r\n            frm.set_value('table_zylw', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '414-Xarab olmuş, yaxud istifadə müddəti bitmiş məhsullar məhv edildikdə həmin məhsulların istehsalı zamanı əvəzləşdirilmiş aksizin büdcəyə hesablanması (sətrin təsnifatı 3 №-li Əlavədə Hissə 4 ilə təqdim olunur)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '415-Xarab olmuş, yaxud istifadə müddəti bitmiş və ya digər səbəblərdən geri qaytarılmış məhsullar üzrə büdcəyə hesablanmış aksizin azaldılması (sətrin təsnifatı 3 №-li Əlavədə Hissə 4 ilə təqdim olunur)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '416-Aktivləşdirilməmiş məcburi nişanlara görə ödənilmiş aksiz məbləğinin hesablanması (sətrin təsnifatı 3 №-li Əlavədə Hissə 4 ilə təqdim olunur)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '417-Aktivləşdirilməmiş məcburi nişanlara görə ödənilmiş aksiz məbləğlərinin azaldılması (sətrin təsnifatı 3 №-li Əlavədə Hissə 4 ilə təqdim olunur)', SahəAdı2: 'Məlumat' },\r\n            ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_zylw', row);\r\n        });\r\n\r\n        frm.refresh_field('table_zylw'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-26 01:56:21.749926",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationVergininHesablamasiHisse32ci",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_srmz) {\r\n            frm.set_value('table_srmz', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '414-Neft məhsulları üzrə', ölçüvahidi: 'ton' },\r\n            { göstəricilər: '415-Spirtli içkilərin bütün növləri üçün', ölçüvahidi: 'litr' },\r\n            { göstəricilər: '416-Tütün məmulatları üçün', ölçüvahidi: 'ədəd' },\r\n            { göstəricilər: '417-Əməliyyatlar üzrə cəmi (414+415+416)', ölçüvahidi: '' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_srmz', row);\r\n        });\r\n\r\n        frm.refresh_field('table_srmz'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-26 01:54:38.427486",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationVergininHesablamasiHisse33cu",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_rbfb) {\r\n            frm.set_value('table_rbfb', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '418-Neft məhsulları üzrə', ölçüvahidi: 'ton' },\r\n            { göstəricilər: '419-Spirtli içkilərin bütün növləri üçün', ölçüvahidi: 'litr' },\r\n            { göstəricilər: '420-Tütün məmulatları üçün', ölçüvahidi: 'ədəd' },\r\n            { göstəricilər: '421-Əməliyyatlar üzrə cəmi (418+419+420)', ölçüvahidi: '' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_rbfb', row);\r\n        });\r\n\r\n        frm.refresh_field('table_rbfb'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-26 02:56:10.258304",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationElave3Hisse1",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_eaxp) {\r\n            frm.set_value('table_eaxp', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { içkininnövü: '402.1-İçməli spirt (o cümlədən tərkibində 80 faizdən az spirt olmayan denaturlaşdırılmamış etil spirti; tərkibində 80 faizdən az spirt olan denaturlaşdırılmamış etil spirti)', SahəAdı2: 'Məlumat' },\r\n            { içkininnövü: '402.2-Araq(vodka), tündləşdirilmiş içkilər və tündləşdirilmiş içki materialları, likyor və likyor məmulatları', SahəAdı2: 'Məlumat' },\r\n            { içkininnövü: '402.3-Konyak və konyak materialları', SahəAdı2: 'Məlumat' },\r\n            { içkininnövü: '402.4-Şampan şərabı', SahəAdı2: 'Məlumat' },\r\n            { içkininnövü: '402.5-Şərablar və şərab materialları', SahəAdı2: 'Məlumat' },\r\n            { içkininnövü: '402.6-Pivə (alkoqolsuz pivə istisna olmaqla) və pivə tərkibli digər içkilər', SahəAdı2: 'Məlumat' },\r\n            { içkininnövü: '402.7-Energetik içkilər', SahəAdı2: 'Məlumat' },\r\n            { içkininnövü: '402.8-VM-nin 190.3.1 - 190.3.12-ci maddələrində nəzərdə tutulmayan tündləşdirilməmiş alkoqollu içkilər', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_eaxp', row);\r\n        });\r\n\r\n        frm.refresh_field('table_eaxp'); \r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-26 12:52:43.660717",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationElave3Hisse2",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_muso) {\r\n            frm.set_value('table_muso', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { tütünməmulatınınnövü: '403.1-Siqarilla (nazik siqarlar)', SahəAdı2: 'Məlumat' },\r\n            { tütünməmulatınınnövü: '403.2-Tütündən hazırlanan siqaretlər və onun əvəzediciləri', SahəAdı2: 'Məlumat' },\r\n            { tütünməmulatınınnövü: '403.3-Siqarlar, o cümlədən ucları kəsilən siqarlar', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_muso', row);\r\n        });\r\n\r\n        frm.refresh_field('table_muso'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-27 00:26:22.558922",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationElave3Hisse3",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_tbon) {\r\n            frm.set_value('table_tbon', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { tütünməmulatınınnövü: '406-Qəlyan üçün tütünlər və tütün əvəzləyiciləri, istehsal məqsədli tütünlər istisna olmaqla digər çəkməli tütünlər, \"homogenləşdirilmiş\" və ya \"bərpa edilmiş\" tütünlər, çeynənilən və ya buruna çəkilən tütünlər', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_tbon', row);\r\n        });\r\n\r\n        frm.refresh_field('table_tbon'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-27 00:55:52.347232",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationElave3Hisse4",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_miyv) {\r\n            frm.set_value('table_miyv', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { tütünməmulatınınnövü: '407-Alışdırılmadan nəfəsə çəkilmək üçün nəzərdə tutulmuş tərkibində tütün və ya bərpa edilmiş tütün olan məhsullar', SahəAdı2: 'Məlumat' },\r\n            { tütünməmulatınınnövü: '408-Birdəfəlik istifadə üçün elektron siqaret, qəlyan və onların əvəzediciləri', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_miyv', row);\r\n        });\r\n\r\n        frm.refresh_field('table_miyv'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2025-01-03 12:52:54.824226",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationElave2 2020ye qeder",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_yqat) {\r\n            frm.set_value('table_yqat', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.1-İçməli spirt üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.2-Araq (vodka), tündləşdirilmiş içkilər və tündləşdirilmiş içki materialları, likyor və likyor məmulatları üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.3-Konyak və konyak materialları üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.4-Şampan şərabı üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.5-Şərablar və şərab materialları üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.6-Pivə (alkoqolsuz pivə istisna olmaq-la) və pivə tərkibli digər içkilər üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.7-Energetik içkilər', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '402.8-VM-nin 190.3.1 - 190.3.12-ci maddələrində nəzərdə tutulmayan tündləşdirilməmiş alkoqollu içkilər', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.1-Siqarilla (nazik siqarlar) üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.2-Tütündən hazırlanan siqaretlər və onun əvəzediciləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '403.3-Siqarlar, o cümlədən ucları kəsilən siqarlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { aksizmarkalarıiləvəyanişanlanmalıolanaksizlimallarınnövü: '404-Elektron siqaretlər üçün maye üzrə', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_yqat', row);\r\n        });\r\n\r\n        frm.refresh_field('table_yqat'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2025-01-10 16:02:29.933362",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationElave1",
  "script": "frappe.ui.form.on('Excise declaration', {\n    onload: function(frm) {\n        if (!frm.doc.__islocal) return; \n\n        if (!frm.doc.table_wlqq) {\n            frm.set_value('table_wlqq', []); \n        }\n\n        const default_rows = [\n            { neftməhsullarınınadı: '401.1\t3001\t+\t401.1-Avtomobil benzini Aİ-95\t64.00'  },\n            { neftməhsullarınınadı: '401.2\t3002\t+\t401.2-Avtomobil benzini Aİ-92\t42.50'  },\n            { neftməhsullarınınadı: '401.3\t3003\t+\t401.3-Avtomobil benzini Aİ-80\t66.00'  },\n            { neftməhsullarınınadı: '401.4\t3004\t+\t401.4-Dizel yanacağı\t18.30'  },\n            { neftməhsullarınınadı: '401.5\t3015\t+\t401.5-Reaktiv mühərrik yanacağı\t9.00' },\n            { neftməhsullarınınadı: '401.6\t3016\t+\t401.6-Nafta (ilkin emal benzini)\t13.00' },\n            { neftməhsullarınınadı: '401.7\t3025\t+\t401.7-Maye qaz \t22.00' },\n            { neftməhsullarınınadı: '401.8\t3014\t+\t401.8-Mühərrik yanacağı DT - 36\t24.00' },\n            { neftməhsullarınınadı: '401.9\t3026\t+\t401.9-Mühərrik yanacağı DT - 20\t31.00' },\n            { neftməhsullarınınadı: '401.10\t3013\t+\t401.10-Soba mazutu\t3.00' },\n            { neftməhsullarınınadı: '401.11\t3021\t+\t401.11-Bitum (BN-60/90, BNB-60/70)\t11.00' },\n            { neftməhsullarınınadı: '401.12\t3022\t+\t401.12-Bitum MQO\t34.00' },\n            { neftməhsullarınınadı: '401.13\t3023\t+\t401.13-Bitum (BNV, BNB- 70/30, BNB-85/25\t31.00' },\n            { neftməhsullarınınadı: '401.14\t3006\t+\t401.14-Ağ neft(KO-20)\t32.00' },\n            { neftməhsullarınınadı: '401.15\t3024\t+\t401.15-Qaz benzini\t37.00' },\n            { neftməhsullarınınadı: '401.16\t3007\t+\t401.16-Mühərrik yağları M-12VB, M-14V2\t52.00' },\n            { neftməhsullarınınadı: '401.17\t3008\t+\t401.17-Sənaye yağları İ-12A, İ-20V, İ-40A, İ-8B1, İ-30V\t72.00' },\n            { neftməhsullarınınadı: '401.18\t3009\t+\t401.18-Turbin yağları T-22, T-30, T-46\t39.00' },\n            { neftməhsullarınınadı: '401.19\t3010\t+\t401.19-Transformator yağı T-1500\t54.00' },\n            { neftməhsullarınınadı: '401.20\t3011\t+\t401.20-Digər yağlar AK-15, S-11, XM-6, K-12, K-19, VM-4\t56.00' },\n            { neftməhsullarınınadı: '401.21\t3017\t+\t401.21-Koks (KT-A)\t19.00' },\n            { neftməhsullarınınadı: '401.22\t3018\t+\t401.22-Koks (KT-T)\t19.00' },\n            { neftməhsullarınınadı: '401.23\t3019\t+\t401.23-Koks KT-Q\t18.00'},\n        ];\n\n        default_rows.forEach(row => {\n            frm.add_child('table_wlqq', row);\n        });\n\n        frm.refresh_field('table_wlqq'); \n    }\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 1,
  "modified": "2024-12-19 15:42:00.820721",
  "module": "Taxes Az",
  "name": "DefaultExciseDeclarationElave1Evezlesdirilen",
  "script": "frappe.ui.form.on('Excise declaration', {\n    onload: function(frm) {\n        if (!frm.doc.__islocal) return; \n\n        if (!frm.doc.table_yzfh) {\n            frm.set_value('table_yzfh', []); \n        }\n\n        const default_rows = [\n            { neftməhsullarınınadı_tab: 'Testt', istehsalməqsədlixammal_tab: '2' },\n            { neftməhsullarınınadı_tab: 'Test2', istehsalməqsədlixammal_tab: '4' }\n        ];\n\n        default_rows.forEach(row => {\n            frm.add_child('table_yzfh', row);\n        });\n\n        frm.refresh_field('table_yzfh'); \n    }\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Excise declaration",
  "enabled": 0,
  "modified": "2025-01-09 19:53:43.439352",
  "module": "Taxes Az",
  "name": "test",
  "script": "frappe.ui.form.on('Excise declaration', {\r\n    refresh: function (frm) {\r\n        console.log('Running refresh function for Excise declaration');\r\n\r\n        // Устанавливаем custom query для поля \"əsasfəaliyyətnövününkodu\"\r\n        if (frm.fields_dict['əsasfəaliyyətnövününkodu']) {\r\n            frm.fields_dict['əsasfəaliyyətnövününkodu'].get_query = function () {\r\n                console.log('Setting get_query for field: əsasfəaliyyətnövününkodu');\r\n                return {\r\n                    query: 'frappe.desk.search.search_link',\r\n                    filters: {  // Убедитесь, что передается словарь\r\n                        doctype: 'Main type of activity'\r\n                    }\r\n                };\r\n            };\r\n        } else {\r\n            console.error('Field əsasfəaliyyətnövününkodu not found in fields_dict.');\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax on cash withdrawals",
  "enabled": 1,
  "modified": "2025-08-13 12:43:20.675397",
  "module": "Taxes Az",
  "name": "DefaultDeclaration of simplified tax on cash withdrawals Vergi hesab",
  "script": "frappe.ui.form.on('Declaration of simplified tax on cash withdrawals', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.verginin_hesablanması) {\r\n            frm.set_value('verginin_hesablanması', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '870. Hüquqi şəxslər və fərdi sahibkarlar tərəfindən nağd qatdada bank hesablarından çıxarılan pul vəsaitlərinin məbləği', verginindərəcəsifaizlə: '1%' },\r\n            { göstəricilər: '870.1 Hüquqi şəxslər tərəfindən', verginindərəcəsifaizlə: '1%' },\r\n            { göstəricilər: '870.2 Fiziki şəxslər tərəfindən', verginindərəcəsifaizlə: '1%' }\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('verginin_hesablanması', row);\r\n        });\r\n\r\n        frm.refresh_field('verginin_hesablanması'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Housing construction simplified tax declaration",
  "enabled": 1,
  "modified": "2025-01-10 19:14:51.976893",
  "module": "Taxes Az",
  "name": "DefaultHousing construction simplified tax declaration Vergi hesab",
  "script": "frappe.ui.form.on('Housing construction simplified tax declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_zxrv) {\r\n            frm.set_value('table_zxrv', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '810- Bakı şəhəri üzrə (sət 810.1+...+sət 810.12)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.1- 1-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.2- 2-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.3- 3-cü zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.4- 4-cü zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.5- 5-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.6- 6-cı zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.7- 7-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.8- 8-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.9- 9-cu zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.10- 10-cu zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.11- 11-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810.12- 12-ci zona', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811- Abşeron rayonu, Sumqayıt və Gəncə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '812- Xankəndi, Əli Bayramlı, Mingəçevir, Naxçıvan, Lənkəran, Yevlax, Şəki, Naftalan, Şamaxı, Qazax, Şəmkir, Salyan, Quba, Xaçmaz, Zaqatala, Cəlilabad, və Göyçay şəhərləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '813- Digər rayon (şəhər) və qəsəbələr (kəndlər)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '814- Yekun (sət 810+sət 811+sət 812+sət 813)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_zxrv', row);\r\n        });\r\n\r\n        frm.refresh_field('table_zxrv'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of mining tax",
  "enabled": 1,
  "modified": "2025-08-08 18:09:39.806329",
  "module": "Taxes Az",
  "name": "DefaultDeclaration of mining tax Topdansatis qiymeti",
  "script": "frappe.ui.form.on('Declaration of mining tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.topdansatış_qiyməti_ilə) {\r\n            frm.set_value('topdansatış_qiyməti_ilə', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { faydalıqazıntılarınadı: '701. Xam neft', verginindərəcəsi: '26' },\r\n            { faydalıqazıntılarınadı: '702. Təbii qaz', verginindərəcəsi: '20' },\r\n            { faydalıqazıntılarınadı: '703. Filiz faydalı qazıntıları: bütün növ metallar', verginindərəcəsi: '3' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('topdansatış_qiyməti_ilə', row);\r\n        });\r\n\r\n        frm.refresh_field('topdansatış_qiyməti_ilə'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of mining tax",
  "enabled": 1,
  "modified": "2025-08-08 18:44:19.021146",
  "module": "Taxes Az",
  "name": "DefaultDeclaration of mining tax Faydali qazintilarin hasilati",
  "script": "frappe.ui.form.on('Declaration of mining tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.faydalı_qazıntıların_hasilatı) {\r\n            frm.set_value('faydalı_qazıntıların_hasilatı', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { faydalıqazıntılarınadı: '704. Mişar daşları', verginindərəcəsimanatla: '2.0' },\r\n            { faydalıqazıntılarınadı: '705. Üzlük daşları', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '706. Seolit', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '707. Barit', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '708. Yüngül doldurucuların istehsalı üçün', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '709. Vulkan külü və pemza', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '710. Kvars qumları', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '711. Sement xammalı', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '712. Duz', verginindərəcəsimanatla: '6.0' },\r\n            { faydalıqazıntılarınadı: '713. Qiymətli və yarımqiymətli bəzək daşları', verginindərəcəsimanatla: '6.0' },\r\n            { faydalıqazıntılarınadı: '714. Yodlu bromlu sular', verginindərəcəsimanatla: '0.04' },\r\n            { faydalıqazıntılarınadı: '715. Mineral sular', verginindərəcəsimanatla: '10.0' },\r\n            { faydalıqazıntılarınadı: '716. Bentonit gillər', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '717. Kərpic-kirəmid gilləri', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '718. Tikinti qumları', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '719. Çınqıl xammalı', verginindərəcəsimanatla: '1.0' },\r\n            { faydalıqazıntılarınadı: '720. Gips, gəc', verginindərəcəsimanatla: '1.0' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('faydalı_qazıntıların_hasilatı', row);\r\n        });\r\n\r\n        frm.refresh_field('faydalı_qazıntıların_hasilatı'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 11:45:08.222924",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 1ci cedvel",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_hesab_1ci) {\r\n            frm.set_value('vergi_hesab_1ci', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '501. Əmlakın ümumi qalıq dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '501.1 Vergiyə cəlb olunan əmlakın qalıq dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '501.1.1 Qeyri-kommersiya fəaliyyətində istifadə olunan əmlakın qalıq dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '501.2 Vergidən azad olunan əmlakın qalıq dəyəri', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_hesab_1ci', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_hesab_1ci'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 14:59:29.483312",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 3cu cedvel",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_hesab_3cu) {\r\n            frm.set_value('vergi_hesab_3cu', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '505 Artıq qiymətə sığortalanan əmlakın dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '505.1 Vergiyə cəlb olunan artıq qiymətə sığortalanan əmlakın dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '505.2 Vergidən azad olunan artıq qiymətə sığortalanan əmlakın dəyəri', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_hesab_3cu', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_hesab_3cu'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-06 18:01:37.266792",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 1ci cedvel 1",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_hesab_1ci_1) {\r\n            frm.set_value('vergi_hesab_1ci_1', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '503. Əsas vəsaitlərin ümumi dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '503.1 Vergiyə cəlb olunan əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '503.1.1 Qeyri-kommersiya fəaliyyətində istifadə olunan əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '503.2 Vergidən azad olunan əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_hesab_1ci_1', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_hesab_1ci_1'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 12:16:02.905944",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 2ci cedvel",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_hesab_2ci) {\r\n            frm.set_value('vergi_hesab_2ci', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '504. Əmlakın ümumi qalıq dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '504.1 Vergiyə cəlb olunan əmlakın qalıq dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '504.1.1 Qeyri-kommersiya fəaliyyətində istifadə olunan əmlakın qalıq dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '504.2 Vergidən azad olunan əmlakın qalıq dəyəri', SahəAdı2: 'Məlumat' },\r\n            \r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_hesab_2ci', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_hesab_2ci'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 21:19:19.813118",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 5ci cedvel",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_hesab_5ci) {\r\n            frm.set_value('vergi_hesab_5ci', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '509.1 Vergi ödəyicisi il ərzində tam fəaliyyət göstərdiyi halda:', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '509.2 Hesabat ili ərzində yaradıldığı (uçota alındığı) və ya əmlak vergisi ödəyicisi olduğu halda:', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '510 Vergi məcəlləsinin 199.21-ci maddəsinə əsasən azaldılmalı əmlak vergisinin məbləği', SahəAdı2: 'Məlumat' },\r\n        \r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_hesab_5ci', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_hesab_5ci'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-06 14:26:18.701961",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Elave 1",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.elave_1) {\r\n            frm.set_value('elave_1', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.1-ci maddəsinə əsasən azaldılmalı əmlak vergisinin məbləği', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.4.1-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.4.2-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.4.3-cü maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.4.4-cü maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.4.1-1-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.5-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.7-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.8-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.9-cu maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.11-cu maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.14-cu maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.15-cu maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.16-cı maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.17-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.18-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.19-cu maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 199.20-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergi Məcəlləsinin 227.1-ci maddəsinə əsasən:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Qanunla təsdiq olunmuş hasilatın pay bölgüsü haqqında, əsas boru kəməri haqqında və digər bu qəbildən olan sazişlərdə və ya qanunlarda, o cümlədən neft və qaz haqqında, ixrac məqsədli neft-qaz fəaliyyəti üzrə:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Xüsusi iqtisadi zonalar haqqında qanunlarda nəzərdə tutulan əmlaklar üzrə:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Azərbaycan Respublikasının tərəfdar çıxdığı beynəlxalq müqavilələr üzrə:', SahəAdı2: 'Məlumat' },\r\n            { azadolmasəbəbi: 'Vergidən azad olunan əmlakın CƏMİ dəyəri:', SahəAdı2: 'Məlumat' },\r\n        ];\r\n        \r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('elave_1', row);\r\n        });\r\n\r\n        frm.refresh_field('elave_1'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-05 14:30:28.427019",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Elave 2",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.elave_2) {\r\n            frm.set_value('elave_2', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '1. Binalar, tikililər və qurğular', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '1.1 Çoxmərtəbəli (çoxmənzilli) yaşayış binaları', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '1.2 Qeyri-yaşayış binaları (sahələri)', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '1.3 Əmlak kompleksi kimi müəssisələr', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '1.4 Qurğular', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '1.5 Mənzillər', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '1.6 Fərdi yaşayış və bağ evləri', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '2 Maşınlar və avadanlıqlar', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '3 Yüksək texnologiyalar məhsulu olan hesablama texnikası', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '4 Nəqliyyat vasitələri', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: '5 Digər əsas vəsaitlər', SahəAdı2: 'Məlumat' },\r\n            { vergiyəcəlbolunanəmlaklarınkateqoriyası: 'Vergiyə cəlb olunan əmlakın CƏMİ dəyəri:', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('elave_2', row);\r\n        });\r\n\r\n        frm.refresh_field('elave_2'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "VAT calculated on the amount paid to a non-resident",
  "enabled": 1,
  "modified": "2025-01-14 14:32:11.271437",
  "module": "Taxes Az",
  "name": "DefaultVAT calculated on the amount paid to a non-residentVergiHesab",
  "script": "frappe.ui.form.on('VAT calculated on the amount paid to a non-resident', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_rvgl) {\r\n            frm.set_value('table_rvgl', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1300. VM 169-cü maddəsinə əsasən qeyri-rezidentin göstərdiyi xidmətlər və ya gördüyü işlər üzrə ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1300. VM 169-cü maddəsinə əsasən qeyri-rezidentin göstərdiyi xidmətlər və ya gördüyü işlər üzrə ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1300.2 Elektron ticarət qaydasında işlərin və xidmətlərin alıcısının  ödənişi üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1300.3 Azərbaycan Respublikasının hüdudlarından kənarda elektron qaydada təşkil olunan lotereyaların, digər yarışların və müsabiqələrin iştirakçısının ödənişi üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1301. Büdcəyə ödənilməlidir', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_rvgl', row);\r\n        });\r\n\r\n        frm.refresh_field('table_rvgl'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return of a private notary",
  "enabled": 1,
  "modified": "2025-01-14 15:56:35.109161",
  "module": "Taxes Az",
  "name": "DefaultIncome tax return of a private notary Verginin hesab",
  "script": "frappe.ui.form.on('Income tax return of a private notary', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_fhlm) {\r\n            frm.set_value('table_fhlm', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '802 - Rübün 1-ci ayında aparılmış notariat hərəkətlərinin, habelə notariat hərəkətləri ilə əlaqədar göstərilən xidmətlərin sayı və onlara görə alınan haqların (xərclər nəzərə alınmadan) dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '803 - Rübün 2-ci ayında aparılmış notariat hərəkətlərinin, habelə notariat hərəkətləri ilə əlaqədar göstərilən xidmətlərin sayı və onlara görə alınan haqların (xərclər nəzərə alınmadan) dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '804 - Rübün 3-cü ayında aparılmış notariat hərəkətlərinin, habelə notariat hərəkətləri ilə əlaqədar göstərilən xidmətlərin sayı və onlara görə alınan haqların (xərclər nəzərə alınmadan) dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '805 - Rüb üzrə aparılmış notariat hərəkətlərinin, habelə notariat hərəkətləri ilə əlaqədar göstərilən xidmətlərin sayı və onlara görə alınan haqların (xərclər nəzərə alınmadan) dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '805.1 - o cümlədən əmlakın və torpağın icarəyə (kirayəyə, istifadəyə) verilməsi ilə əlaqədar göstərilən xidmətlərin sayı və onlara görə alınan haqların (xərclər nəzərə alınmadan) dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '806 - Notariat hərəkətlərinin aparılması üzrə dövlət rüsumundan azad olunan əməliyyatların sayı və dəyəri', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_fhlm', row);\r\n        });\r\n\r\n        frm.refresh_field('table_fhlm'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Profit tax with special tax regime",
  "enabled": 1,
  "modified": "2025-01-14 18:16:16.561302",
  "module": "Taxes Az",
  "name": "DefaultProfit tax with special tax regime Gelirler",
  "script": "frappe.ui.form.on('Profit tax with special tax regime', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_mchy) {\r\n            frm.set_value('table_mchy', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1400 Karbohidrogenlərin təgdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1400.1 Karbohidrogenlərin mübadiləsindən və/və ya  svop əməliyyatlar üzrə gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1401 Tarif gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1402 Sığorta gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1403 Valyuta əməliyyatları nəticəsində əldə edilən müsbət məzənnə fərgi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1404 Faizlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1405 Ləğvetmə Fondundan alınan məbləğlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1406 Ləğvetmə Fondundan izafi vəsaitlərin bölüşdürülməsindən alınan məbləğlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1407 Malgöndərənlərdən, avadanlıq istehsal edənlərdən və ya onların agentlərindən qüsurlu materiallara və ya avadanlığa görə alınan məbləğlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1408 Obyektlərdən və ya intellektual mülkiyyətdən istifadəyə görə, xidmət haqqı kimi alınan, materialların satışından və ya çarter haqqı olaraq əldə edilən və əvəzsiz əsasla alınmış pul vəsaiti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1409 Əvvəlcədən ARDNŞ tərəfindən ödənilən və Podratçı Tərəfə qaytarılan və bu Podratçı tərəfindən ARDBŞ-yə əvəzi ödənilməyəcəyi təqdirdə Mənfəət vergisinin geri qaytarılması üzrə məbləğlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1410 Daşınan və daşınmaz əmlakın icarəyə verilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1411 Amortizasiya olunan əsas vəsaitlərin təqdim edilməsindən xalis gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1412 Yuxarıdakı bəndlərdə nəzərdə tutulmayan digər gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1413 ÜMUMİ GƏLİRLƏR ( sət.1400 + + + sət.1412 )', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_mchy', row);\r\n        });\r\n\r\n        frm.refresh_field('table_mchy'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Profit tax with special tax regime",
  "enabled": 1,
  "modified": "2025-01-14 18:32:31.008562",
  "module": "Taxes Az",
  "name": "DefaultProfit tax with special tax regime Xercler",
  "script": "frappe.ui.form.on('Profit tax with special tax regime', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_jpsl) {\r\n            frm.set_value('table_jpsl', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1414 Əmək haqqı və ona bərabər tutulan ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1415 Valyuta əməliyyatları nəticəsində əldə edilən mənfi məzənnə fərqi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1416 Sosial sığorta haqları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1417 İcarə xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1418 Kommunal xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1419 Bank xidməti üzrə xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1420 Borca görə ödənilmiş faizlər və onunla əlaqədar olan xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1420.1 - xarici subpodratçılara ödənilmiş faiz', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1421 Royalti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1421.1 - xarici subpodratçılara ödənilmiş royalti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1422 Ödənilmiş sığorta haqları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1423 Nəqliyyat xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1424 Neftin ixracına çəkilən xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1425 Kontrakt səhəsində kəşfiyyat və qiymətləndirməyə çəkilən xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1426 Kontrakt səhəsində qazma işlərinə çəkilən xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1427 Hasilata çəkilən xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1428 İdarəetmə xidmətlərinə çəkilər xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1429 Texniki xidmət və təmir xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1430 Əsas fondlar olmayan avadanlığa və ya əmlaka çəkilər xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1431 Ləğvetmə işləri fondu xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1432 Bədbəxt hadisə nəticəsində maddi itkilər, qaytarılması mümkün olmayan borclar və digər itkilər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1433 İllik akrhesabı haqqlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1434 İnzibati məqsədlər üçün ayrılmış əlavə xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1434.1 - kapital xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1434.2 - əməliyyat xərcleri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1435 Boru kəmərinə çəkilən əməliyyat xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1436 Digər xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437 Amortizasiya ayırmaları ( sətr.1437.1 + sətr.1437.2 + sətr.1437.3 + sətr.1437.4 + sətr.1437.5 )', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.1 - bonus üzrə amortizasiya ( ( sətr.1437.1.1 + sətr.1437.1.3 ) X amortizasiyanın dərəcəsi )', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.1.1 - hesabat dövrünün əvvəlinədək ödənilmiş ümumi bonusun məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.1.2 - əvvəlki hesabat dövründən keçirilmiş ( amortizasiya olunmamış ) bonusun qalığı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.1.3 - hesabat dövründə ödənilmiş  bonusun məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.1.4 - hesabat dövrünün sonuna amortizasiya olunmamış bonusun qalığı  ( sətr.1437.1.2 + sətr.1437.1.3 - sətr.1437.1 )', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.2 - avadanlıq və digər əsas fondlar üzrə amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.2.1 - əvvəlki hesabat dövründən keçirilmiş (amortizasiya olunmamış) əsas fondun qalığı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.2.2 - hesabat dövründə əsas fonda çəkilmiş xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.2.2.1 - amortizasiya dərəcəsi (50% və ya 100%)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.2.3 - hesabat dövründə əsas fondların təqdim edilməsindən əldə olunmuş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.2.4 - hesabat dövrü üçün amortizasiya olunan əsas fondların dəyəri (sətr.1437.2.1 + sətr.1437.2.2 X sətr.1437.2.2.1 - sətr.1437.2.3)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.3 - (daimi) binalar üzrə amortizasiya (sətr.1437.3.5 X amortizasiyanın dərəcəsi)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.3.1 - hesabat dövrünün əvvəlinə (daimi) binaların ilkin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.3.2 - əvvəlki hesabat dövründən keçirilmiş (amortizasiya olunmamış) (daimi) binaların qalığı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.3.3 - hesabat dövründə (daimi) binalara çəkilmiş xərclərin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.3.4 - hesabat dövründə (daimi) binaların təqdim edilməsindən əldə olunmuş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.3.5 - hesabat dövrü üçün amortizasiya olunmalı (daimi) binaların dəyəri (sətr.1437.3.1 + sətr.1437.3.3 - sətr.1437.3.4)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.4 - müvəqqəti binalar üzrə amortizasiya (sətr.1437.4.5 X amortizasiyanın dərəcəsi)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.4.1 - hesabat dövrün əvvəlinə müvəqqəti binaların ilkin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.4.2 - əvvəlki hesabat dövründən keçirilmiş (amortizasiya olunmamış) müvəqqəti binaların qalığı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.4.3 - hesabat dövründə müvəqqəti binalara çəkilmiş xərclərin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.4.4 - hesabat dövründə müvəqqəti binaların təqdim edilməsindən əldə olunmuş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.4.5 - hesabat dövrü üçün amortizasiya olunmalı müvəqqəti binaların dəyəri (sətr.1437.4.1 + sətr.1437.4.3 - sətr.1437.4.4)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.5 - boru kəməri ilə bağlı amortizasiya (sətr.1437.5.4 X amortizasiyanın dərəcəsi)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.5.1 - əvvəlki hesabat dövründən keçirilmiş (amortizasiya olunmamış) boru kəmərlərinin qalığı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.5.2 - hesabat dövründə boru kəmərlərinə çəkilmiş xərclərin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.5.3 - hesabat dövründə boru kəmərlərinin təqdim edilməsindən əldə olunmuş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1437.5.4 - hesabat dövrü üçün amortizasiya olunmalı boru kəmərlərinin dəyəri (sətr.1437.5.1 + sətr.1437.5.2 - sətr.1437.5.3)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1438 Amortizasiya olunan əsas vəsaitlərin təqdim edilməsindən zərər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1439 ÜMUMİ GƏLİR dən çıxılan XƏRCLƏR (sət.1414 +++ sət.1438)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_jpsl', row);\r\n        });\r\n\r\n        frm.refresh_field('table_jpsl'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Profit tax with special tax regime",
  "enabled": 1,
  "modified": "2025-01-14 18:35:59.693509",
  "module": "Taxes Az",
  "name": "DefaultProfit tax with special tax regime Satisi Barede",
  "script": "frappe.ui.form.on('Profit tax with special tax regime', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_ljpa) {\r\n            frm.set_value('table_ljpa', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1440 Sazişdə olan iştirak payının satılması, yaxud daimi hüquq və öhdəliklərin verilməsindən əldə olunan ümumi gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1441 sazişdə olan iştirak payının satılması, yaxud daimi hüquq və öhdəliklərin verilməsi tarixinə Sazişə uyğun olarag ödənilməyən məsrəflər (kumulyativ məsrəflər)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1442 Sazişdə olan iştirak payının satılması, yaxud daimi hüquq və öhdəliklərin verilməsindən əldə olunan xalis gəlir (sətr.1440 - sətr.1441)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1443 Sazişdə olan iştirak payının satılması, yaxud daimi hüquq və öhdəliklərin verilməsindən əldə olunan Zərər  (sətr.1441 - sətr.1440)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_ljpa', row);\r\n        });\r\n\r\n        frm.refresh_field('table_ljpa'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Profit tax with special tax regime",
  "enabled": 1,
  "modified": "2025-01-14 18:38:40.515277",
  "module": "Taxes Az",
  "name": "DefaultProfit tax with special tax regime Vergi Hesablan",
  "script": "frappe.ui.form.on('Profit tax with special tax regime', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_vura) {\r\n            frm.set_value('table_vura', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1444 Vergiyə cəlb olunan mənfəət (sətr.1413 - sətr.1439 + sətr.1442 - sətr.1443 )', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1445 Zərər (sətr.1439 - sətr.1413 + sətr.1443 - sətr.1442 )', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1446 Keçmiş illərin çıxılası zərəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1447 Keçmiş illərin zərəri, güzəştlər çıxılmaqla vergiyə cəlb olunan mənfəət', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1448 MƏNFƏƏT VERGİSİ', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_vura', row);\r\n        });\r\n\r\n        frm.refresh_field('table_vura'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-16 18:55:53.050138",
  "module": "Taxes Az",
  "name": "Default Tax return withheld at source of payment Vergi Hesab",
  "script": "frappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_yuja) {\r\n            frm.set_value('table_yuja', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1600. Dövlət sosial təminat sistemi vasitəsilə ödənilən pensiyalar istisna edilməklə, digər pensiyalar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1601. Vəkil qurumlarının tərkibində fəaliyyət göstərən vəkillər tərəfindən göstərilən vəkillik fəaliyyəti ilə bağlı vəkillərə ödənilən gəlirlər və mediatorlara mediasiya təşkilatları tərəfindən mülki-hüquqi müqavilələr əsasında ödənilən xidmət haqları üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1602. Vergi ödəyicisi kimi vergi orqanlarında uçota alınmayan, VÖEN təqdim etməyən fiziki şəxslərin göstərdiyi xidmətlərə (işlərə) görə həmin fiziki şəxslərə ödənilən haqlar, habelə muzdlu işçi kimi cəlb etməyən fiziki şəxslərə ödənilən maddi yardım, mükafat və təqaüdlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1602.1 Vergi ödəyicisi kimi vergi orqanlarında uçotda olmayan fiziki şəxslərin göstərdiyi xidmətlərə (işlərə) görə onlara ödənilən gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1602.2 muzdlu işçi kimi cəlb edilməyən fiziki şəxslərə ödənilən maddi yardım, mükafat və təqaüdlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.Təsisçiyə ödənişlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.1 Dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.1.1 rezident şəxslərin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.1.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.2 Cəmiyyətin fəaliyyəti zamanı əldə edilmiş aktivlərdən, o cümlədən pul vəsaitlərindən (təsisçiyə borcların verilməsi və ya alınmış borcların əvəzinin qaytarılması istisna olmaqla) təsərrüfat fəaliyyətinin məqsədlərindən kənar digər məqsədlər üçün təsisçiyə verilən, habelə təsisçinin digər şəxslərə olan borclarının əvəzinə ödənilən məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1604. Faiz gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1604.1  rezident fiziki şəxslərin və qeyri-rezident fiziki şəxsin AR-dakı daimi nümayəndəliyinin müvafiq gəlirləri üzrə (maliyyə lizinqini həyata keçirən fiziki şəxslər istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1604.2  qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1605. Həyatın yığım sığortası üzrə müqaviləyə qüvvəyə mindiyi andan etibarən 3 illik müddət başa çatmadan xitam verildikdə, sığortaolunanın ödədiyi və ya onun xeyrinə ödənilən sığorta haqları ilə sığorta ödənişləri arasındakı fərq kimi alınan gəlirlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606. Royaltilərdən gəlir üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.1 rezident şəxslərin və qeyri-rezidentin AR-dakı daimi nümayəndəliyinin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.1.1 -hüquqi şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.1.2 -fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607. Daşınan və daşınmaz əmlak üçün ödənilən icarə haqqı üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.1 rezident şəxslərin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.1.1 -hüquqi şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.1.2 -fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608. Qeyri-rezidentin Azərbaycan mənbəyindən əldə olunan və AR-nın ərazisindəki daimi nümayəndəliyinə aid olmayan ümumi gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.1 Riskin sığortası və ya təkrar sığortası ilə bağlı sığorta ödənişləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.2 Beynəlxalq rabitə həyata keçirilərkən rabitə xidmətləri üçün ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.3 Beynəlxalq daşımalar həyata keçirilərkən nəqliyyat xidmətləri üçün ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4 Muzdlu işlə əlaqədar alınan gəlirlər istisna olmaqla, işlərin görülməsindən və xidmətlərin göstərilməsindən əldə olunan gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.1 -Azərbaycan Respublikasında iş görülməsindən və xidmət göstərilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.2 -VM-nin 13.2.23-cü maddəsində göstərilən (Azərbaycan Respublikasında saxlanılan və ya istifadə edilən əmlak üçün alınan royalti şəklində gəlir istisna olmaqla) və Azərbaycan Respublikasında saxlanılan və ya istifadə edilən əmlakın təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.3 -Azərbaycan Respublikasındakı daşınmaz əmlakdan əldə edilən gəlir, o cümlədən bu əmlakda iştirak payının təqdim edilməsindən gəlir (Azərbaycan Respublikasında daşınmaz əmlakın icarəyə verilməsindən əldə edilən gəlir istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.4 - aktivlərin 50 faizindən çox olan hissəsi birbaşa və ya dolayısı ilə Azərbaycan Respublikasındakı daşınmaz əmlakdan ibarət olan müəssisələrin səhmlərinin və ya iştirak payının təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.5 - Azərbaycan Respublikasında fəaliyyətlə bağlı və Azərbaycan mənbəyindən əldə edilən digər gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.5 - Vergi Məcəlləsinin  128-ci maddəsində nəzərdə tutulan güzəştli vergi tutulan ölkələrdə və ya ərazilərdə təsis edilmiş (qeydiyyatdan keçmiş) şəxslərə, o cümlədən onların digər ölkələrdə olan filial və ya nümayəndəliklərinə, habelə güzəştli vergi tutulan ölkələrdə və ya ərazilərdə olan bank hesablarına rezidentlər və qeyri-rezidentlərin Azərbaycan Respublikasındakı daimi nümayəndəlikləri, habelə vergi orqanında uçotda olmayan rezident fiziki şəxslər tərəfindən birbaşa və ya dolayısilə edilən ödənişlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.5.1 - Alınmış mallara görə ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.5.2 - Göstərilmiş iş və xidmətlərə görə ödənişlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.6 -  Azərbaycan Respublikasının rezidentləri tərəfindən qeyri-rezident şəxslərə məxsus elektron pul kisəsində yaradılan hesaba pul köçürülərkən, əməliyyatı həyata keçirən yerli bankın, xarici bankın Azərbaycan Respublikasındakı filialının və ya poçt rabitəsinin milli operatorunun həmin rezidentdən köçürdüyü məbləğdən', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1609 Qeyri-rezidentin daimi nümayəndəliyinin xalis mənfəətindən həmin qeyri-rezidentə köçürülən (verilən) məbləğlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1610 Vergi ödəyicisi kimi vergi orqanında uçotda olmayan fiziki şəxslərin “Nağdsız hesablaşmalar haqqında” Azərbaycan Respublikasının Qanununun 3.5-ci maddəsində göstərilən malların təqdim edilməsindən əldə edilən gəlirləri (vergidən azad olunan gəlirlər istisna olmaqla) xərclər çıxılmadan', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1611 CƏMİ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612 Güzəştlər və azadolmalar (sət.1612.1+sət.1612.2+1612.3+1612.4+1612.5+1612.6+1612.7)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1 Vergi Məcəlləsinin 102.1-ci maddəsinə əsasən ödənilən gəlirlər (\"Muzdlu işçilərə ödənilən gəlirlər istisna olmaqla\")', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.1 Vergi Məcəlləsinin 102.1.22-1-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.2 Vergi Məcəlləsinin 102.1.22-2-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən  dividend, diskont və faiz gəlirləri gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.3 Vergi Məcəlləsinin 102.1.11-1-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.4 Vergi Məcəlləsinin 102.1.22-3-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən faiz gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.5 Vergi Məcəlləsinin 102.1.22-4-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən faiz gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.2 Azərbaycan Respublikasının tərəfdar çıxdığı ikiqat vergitutmanın aradan qaldırılması haqqında beynəlxalq müqavilələrdə vergilərin aşağı dərəcəsi və ya vergilərdən tam azad olunma nəzərdə tutulduğu halda, məhdud vergitutmanın və ya azadolmanın əvvəlcədən tətbiq edilməsi ilə əlaqədar azaldılan vergi məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.3 Azərbaycan Respublikasında keçirilən Formula 1 və Formula 2 yarışlarına aid qeyri-maddi aktivlər üzərində müəllif hüquqlarından istifadə olunmasına, yaxud istifadə hüquqlarının verilməsinə görə Gənclər və İdman Nazirliyi ilə bağlanılmış müqavilə əsasında onun tərəfindən qeyri-rezident hüquqi şəxsə ödənilən royalti gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.4 Vergi Məcəlləsinin 106.1.14-1-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.5 Vergi Məcəlləsinin 227.3-cü maddəsinə əsasən İşğaldan azad edilmiş ərazinin rezidenti olan hüquqi şəxslərin səhmdarlarının (payçılarının) dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.6 Vergi Məcəlləsinin 122.5-ci maddəsində nəzərdə tutulmuş azad olunan dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.7 Vergi Məcəlləsinin 106.10-cu maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1613 Büdcəyə ödənilməli vergi məbləği (sət.1611-sət.1612)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_yuja', row);\r\n        });\r\n\r\n        frm.refresh_field('table_yuja'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-16 19:12:29.821235",
  "module": "Taxes Az",
  "name": "DefaultTax return withheld at source of payment Elave1 2ci",
  "script": "frappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_rkzz) {\r\n            frm.set_value('table_rkzz', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { təsnifatıverilənsətrinkodu: '1600', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1601', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1602.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1602.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1604.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1605', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1610', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.6', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.7', SahəAdı2: 'Məlumat' },\r\n        ];\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_rkzz', row);\r\n        });\r\n\r\n        frm.refresh_field('table_rkzz'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-16 19:22:14.161307",
  "module": "Taxes Az",
  "name": "DefaultTax return withheld at source of payment Elave 2 Hisse1 2ci",
  "script": "frappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_pauo) {\r\n            frm.set_value('table_pauo', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { təsnifatıverilənsətrinkodu: '1603.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1604.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.6', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1609', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.6', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.7', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_pauo', row);\r\n        });\r\n\r\n        frm.refresh_field('table_pauo'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-16 19:33:16.798507",
  "module": "Taxes Az",
  "name": "DefaultTax return withheld at source of payment Elave 2 Hisse2 2ci",
  "script": "frappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_focm) {\r\n            frm.set_value('table_focm', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { təsnifatıverilənsətrinkodu: '1603.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1604.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.6', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1609', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.6', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_focm', row);\r\n        });\r\n\r\n        frm.refresh_field('table_focm'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-16 19:32:35.188741",
  "module": "Taxes Az",
  "name": "DefaultTax return withheld at source of payment Elave 2 Hisse3 2ci",
  "script": "frappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_rjdp) {\r\n            frm.set_value('table_rjdp', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { təsnifatıverilənsətrinkodu: '1608.5.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.5.2', SahəAdı2: 'Məlumat' },\r\n            ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_rjdp', row);\r\n        });\r\n\r\n        frm.refresh_field('table_rjdp'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-20 16:50:42.896740",
  "module": "Taxes Az",
  "name": "DefaultTax return withheld at source of payment Vergi Hesab2023",
  "script": "//table_yuja - Table Adı\r\n//frappe.ui.form.on('Tax return withheld at source of payment' - Doctype Adı\r\n//göstəricilər - kolonka adı\r\n\r\n\r\n\r\nfrappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_yuja) {\r\n            frm.set_value('table_yuja', []); \r\n        }\r\n\r\n        //burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n                { göstəricilər: '1600. Dövlət sosial təminat sistemi vasitəsilə ödənilən pensiyalar istisna edilməklə, digər pensiyalar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1601. Vəkil qurumlarının tərkibində fəaliyyət göstərən vəkillər tərəfindən göstərilən vəkillik fəaliyyəti ilə bağlı vəkillərə ödənilən gəlirlər və mediatorlara mediasiya təşkilatları tərəfindən mülki-hüquqi müqavilələr əsasında ödənilən xidmət haqları üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1602. Vergi ödəyicisi kimi vergi orqanlarında uçota alınmayan, VÖEN təqdim etməyən fiziki şəxslərin göstərdiyi xidmətlərə (işlərə) görə həmin fiziki şəxslərə ödənilən haqlar, habelə muzdlu işçi kimi cəlb etməyən fiziki şəxslərə ödənilən maddi yardım, mükafat və təqaüdlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1602.1 Vergi ödəyicisi kimi vergi orqanlarında uçotda olmayan fiziki şəxslərin göstərdiyi xidmətlərə (işlərə) görə onlara ödənilən gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1602.2 muzdlu işçi kimi cəlb edilməyən fiziki şəxslərə ödənilən maddi yardım, mükafat və təqaüdlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.Təsisçiyə ödənişlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.1 Dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.1.1 rezident şəxslərin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.1.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.2 Cəmiyyətin fəaliyyəti zamanı əldə edilmiş aktivlərdən, o cümlədən pul vəsaitlərindən (təsisçiyə borcların verilməsi və ya alınmış borcların əvəzinin qaytarılması istisna olmaqla) təsərrüfat fəaliyyətinin məqsədlərindən kənar digər məqsədlər üçün təsisçiyə verilən, habelə təsisçinin digər şəxslərə olan borclarının əvəzinə ödənilən məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1604. Faiz gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1604.1  rezident fiziki şəxslərin və qeyri-rezident fiziki şəxsin AR-dakı daimi nümayəndəliyinin müvafiq gəlirləri üzrə (maliyyə lizinqini həyata keçirən fiziki şəxslər istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1604.2  qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1605. Həyatın yığım sığortası üzrə müqaviləyə qüvvəyə mindiyi andan etibarən 3 illik müddət başa çatmadan xitam verildikdə, sığortaolunanın ödədiyi və ya onun xeyrinə ödənilən sığorta haqları ilə sığorta ödənişləri arasındakı fərq kimi alınan gəlirlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606. Royaltilərdən gəlir üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.1 rezident şəxslərin və qeyri-rezidentin AR-dakı daimi nümayəndəliyinin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.1.1 -hüquqi şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.1.2 -fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607. Daşınan və daşınmaz əmlak üçün ödənilən icarə haqqı üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.1 rezident şəxslərin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.1.1 -hüquqi şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.1.2 -fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608. Qeyri-rezidentin Azərbaycan mənbəyindən əldə olunan və AR-nın ərazisindəki daimi nümayəndəliyinə aid olmayan ümumi gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.1 Riskin sığortası və ya təkrar sığortası ilə bağlı sığorta ödənişləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.2 Beynəlxalq rabitə həyata keçirilərkən rabitə xidmətləri üçün ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.3 Beynəlxalq daşımalar həyata keçirilərkən nəqliyyat xidmətləri üçün ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4 Muzdlu işlə əlaqədar alınan gəlirlər istisna olmaqla, işlərin görülməsindən və xidmətlərin göstərilməsindən əldə olunan gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.1 -Azərbaycan Respublikasında iş görülməsindən və xidmət göstərilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.2 -VM-nin 13.2.23-cü maddəsində göstərilən (Azərbaycan Respublikasında saxlanılan və ya istifadə edilən əmlak üçün alınan royalti şəklində gəlir istisna olmaqla) və Azərbaycan Respublikasında saxlanılan və ya istifadə edilən əmlakın təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.3 -Azərbaycan Respublikasındakı daşınmaz əmlakdan əldə edilən gəlir, o cümlədən bu əmlakda iştirak payının təqdim edilməsindən gəlir (Azərbaycan Respublikasında daşınmaz əmlakın icarəyə verilməsindən əldə edilən gəlir istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.4 - aktivlərin 50 faizindən çox olan hissəsi birbaşa və ya dolayısı ilə Azərbaycan Respublikasındakı daşınmaz əmlakdan ibarət olan müəssisələrin səhmlərinin və ya iştirak payının təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.5 - Azərbaycan Respublikasında fəaliyyətlə bağlı və Azərbaycan mənbəyindən əldə edilən digər gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.5 - Vergi Məcəlləsinin  128-ci maddəsində nəzərdə tutulan güzəştli vergi tutulan ölkələrdə və ya ərazilərdə təsis edilmiş (qeydiyyatdan keçmiş) şəxslərə, o cümlədən onların digər ölkələrdə olan filial və ya nümayəndəliklərinə, habelə güzəştli vergi tutulan ölkələrdə və ya ərazilərdə olan bank hesablarına rezidentlər və qeyri-rezidentlərin Azərbaycan Respublikasındakı daimi nümayəndəlikləri, habelə vergi orqanında uçotda olmayan rezident fiziki şəxslər tərəfindən birbaşa və ya dolayısilə edilən ödənişlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.5.1 - Alınmış mallara görə ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.5.2 - Göstərilmiş iş və xidmətlərə görə ödənişlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.6 -  Azərbaycan Respublikasının rezidentləri tərəfindən qeyri-rezident şəxslərə məxsus elektron pul kisəsində yaradılan hesaba pul köçürülərkən, əməliyyatı həyata keçirən yerli bankın, xarici bankın Azərbaycan Respublikasındakı filialının və ya poçt rabitəsinin milli operatorunun həmin rezidentdən köçürdüyü məbləğdən', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1609 Qeyri-rezidentin daimi nümayəndəliyinin xalis mənfəətindən həmin qeyri-rezidentə köçürülən (verilən) məbləğlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1610 Vergi ödəyicisi kimi vergi orqanında uçotda olmayan fiziki şəxslərin “Nağdsız hesablaşmalar haqqında” Azərbaycan Respublikasının Qanununun 3.5-ci maddəsində göstərilən malların təqdim edilməsindən əldə edilən gəlirləri (vergidən azad olunan gəlirlər istisna olmaqla) xərclər çıxılmadan', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1611 CƏMİ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612 Güzəştlər və azadolmalar (sət.1612.1+sət.1612.2+1612.3+1612.4+1612.5+1612.6+1612.7)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1 Vergi Məcəlləsinin 102.1-ci maddəsinə əsasən ödənilən gəlirlər (\"Muzdlu işçilərə ödənilən gəlirlər istisna olmaqla\")', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.1 Vergi Məcəlləsinin 102.1.22-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend, diskount və faiz gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.2 Vergi Məcəlləsinin 102.1.22-1-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.3 Vergi Məcəlləsinin 102.1.22-2-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən  dividend, diskount və faiz gəlirləri gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.4 Vergi Məcəlləsinin 102.1.11-1-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.2 Azərbaycan Respublikasının tərəfdar çıxdığı ikiqat vergitutmanın aradan qaldırılması haqqında beynəlxalq müqavilələrdə vergilərin aşağı dərəcəsi və ya vergilərdən tam azad olunma nəzərdə tutulduğu halda, məhdud vergitutmanın və ya azadolmanın əvvəlcədən tətbiq edilməsi ilə əlaqədar azaldılan vergi məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.3 2018-ci il yanvaın 1-dən 6 (altı) il müddətinə Azərbaycan Respublikasında keçirilən Formula 1 və Formula 2 yarışlarına aid qeyri-maddi aktivlər üzərində müəllif hüquqlarından istifadə olunmasına, yaxud istifadə hüquqlarının verilməsinə görə Gənclər və İdman Nazirliyi ilə bağlanılmış müqavilə əsasında onun tərəfindən qeyri-rezident hüquqi şəxsə ödənilən royalti gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.4 Vergi Məcəlləsinin 224.6-cı maddəsinə əsasən Bu Məcəllənin 222.5-ci maddəsində göstərilən fəaliyyəti həyata keçirən şəxslər tərəfindən bu Məcəllənin 124-cü maddəsi üzrə fiziki şəxslərdən icarəyə götürülən daşınmaz əmlaklar üzrə ödəmə mənbəyində tutulan verginin məbləğinin 50 faizi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.5 Vergi Məcəlləsinin 106.1.14-1-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.6 Vergi Məcəlləsinin 227.3-cü maddəsinə əsasən İşğaldan azad edilmiş ərazinin rezidenti olan hüquqi şəxslərin səhmdarlarının (payçılarının) dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.7 Vergi Məcəlləsinin 122.5-ci maddəsinə əsasən texnologiyalar parkının rezidenti kimi texnologiyalar parkından kənar sistem inteqrasiyası, proqram təminatının hazırlanması və inkişaf etdirilməsi fəaliyyətini həyata keçirən şəxslər tərəfindən ödənilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1613 Büdcəyə ödənilməli vergi məbləği (sət.1611-sət.1612)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_yuja'); \r\n    },\r\n\r\n    il: function(frm) {\r\n        frm.set_value('table_yuja', []); \r\n\r\n        //və burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n               { göstəricilər: '1600. Dövlət sosial təminat sistemi vasitəsilə ödənilən pensiyalar istisna edilməklə, digər pensiyalar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1601. Vəkil qurumlarının tərkibində fəaliyyət göstərən vəkillər tərəfindən göstərilən vəkillik fəaliyyəti ilə bağlı vəkillərə ödənilən gəlirlər və mediatorlara mediasiya təşkilatları tərəfindən mülki-hüquqi müqavilələr əsasında ödənilən xidmət haqları üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1602. Vergi ödəyicisi kimi vergi orqanlarında uçota alınmayan, VÖEN təqdim etməyən fiziki şəxslərin göstərdiyi xidmətlərə (işlərə) görə həmin fiziki şəxslərə ödənilən haqlar, habelə muzdlu işçi kimi cəlb etməyən fiziki şəxslərə ödənilən maddi yardım, mükafat və təqaüdlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1602.1 Vergi ödəyicisi kimi vergi orqanlarında uçotda olmayan fiziki şəxslərin göstərdiyi xidmətlərə (işlərə) görə onlara ödənilən gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1602.2 muzdlu işçi kimi cəlb edilməyən fiziki şəxslərə ödənilən maddi yardım, mükafat və təqaüdlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.Təsisçiyə ödənişlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.1 Dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.1.1 rezident şəxslərin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.1.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1603.2 Cəmiyyətin fəaliyyəti zamanı əldə edilmiş aktivlərdən, o cümlədən pul vəsaitlərindən (təsisçiyə borcların verilməsi və ya alınmış borcların əvəzinin qaytarılması istisna olmaqla) təsərrüfat fəaliyyətinin məqsədlərindən kənar digər məqsədlər üçün təsisçiyə verilən, habelə təsisçinin digər şəxslərə olan borclarının əvəzinə ödənilən məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1604. Faiz gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1604.1  rezident fiziki şəxslərin və qeyri-rezident fiziki şəxsin AR-dakı daimi nümayəndəliyinin müvafiq gəlirləri üzrə (maliyyə lizinqini həyata keçirən fiziki şəxslər istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1604.2  qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1605. Həyatın yığım sığortası üzrə müqaviləyə qüvvəyə mindiyi andan etibarən 3 illik müddət başa çatmadan xitam verildikdə, sığortaolunanın ödədiyi və ya onun xeyrinə ödənilən sığorta haqları ilə sığorta ödənişləri arasındakı fərq kimi alınan gəlirlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606. Royaltilərdən gəlir üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.1 rezident şəxslərin və qeyri-rezidentin AR-dakı daimi nümayəndəliyinin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.1.1 -hüquqi şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.1.2 -fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1606.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607. Daşınan və daşınmaz əmlak üçün ödənilən icarə haqqı üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.1 rezident şəxslərin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.1.1 -hüquqi şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.1.2 -fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1607.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608. Qeyri-rezidentin Azərbaycan mənbəyindən əldə olunan və AR-nın ərazisindəki daimi nümayəndəliyinə aid olmayan ümumi gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.1 Riskin sığortası və ya təkrar sığortası ilə bağlı sığorta ödənişləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.2 Beynəlxalq rabitə həyata keçirilərkən rabitə xidmətləri üçün ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.3 Beynəlxalq daşımalar həyata keçirilərkən nəqliyyat xidmətləri üçün ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4 Muzdlu işlə əlaqədar alınan gəlirlər istisna olmaqla, işlərin görülməsindən və xidmətlərin göstərilməsindən əldə olunan gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.1 -Azərbaycan Respublikasında iş görülməsindən və xidmət göstərilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.2 -VM-nin 13.2.23-cü maddəsində göstərilən (Azərbaycan Respublikasında saxlanılan və ya istifadə edilən əmlak üçün alınan royalti şəklində gəlir istisna olmaqla) və Azərbaycan Respublikasında saxlanılan və ya istifadə edilən əmlakın təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.3 -Azərbaycan Respublikasındakı daşınmaz əmlakdan əldə edilən gəlir, o cümlədən bu əmlakda iştirak payının təqdim edilməsindən gəlir (Azərbaycan Respublikasında daşınmaz əmlakın icarəyə verilməsindən əldə edilən gəlir istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.4 - aktivlərin 50 faizindən çox olan hissəsi birbaşa və ya dolayısı ilə Azərbaycan Respublikasındakı daşınmaz əmlakdan ibarət olan müəssisələrin səhmlərinin və ya iştirak payının təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.4.5 - Azərbaycan Respublikasında fəaliyyətlə bağlı və Azərbaycan mənbəyindən əldə edilən digər gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.5 - Vergi Məcəlləsinin  128-ci maddəsində nəzərdə tutulan güzəştli vergi tutulan ölkələrdə və ya ərazilərdə təsis edilmiş (qeydiyyatdan keçmiş) şəxslərə, o cümlədən onların digər ölkələrdə olan filial və ya nümayəndəliklərinə, habelə güzəştli vergi tutulan ölkələrdə və ya ərazilərdə olan bank hesablarına rezidentlər və qeyri-rezidentlərin Azərbaycan Respublikasındakı daimi nümayəndəlikləri, habelə vergi orqanında uçotda olmayan rezident fiziki şəxslər tərəfindən birbaşa və ya dolayısilə edilən ödənişlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.5.1 - Alınmış mallara görə ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.5.2 - Göstərilmiş iş və xidmətlərə görə ödənişlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1608.6 -  Azərbaycan Respublikasının rezidentləri tərəfindən qeyri-rezident şəxslərə məxsus elektron pul kisəsində yaradılan hesaba pul köçürülərkən, əməliyyatı həyata keçirən yerli bankın, xarici bankın Azərbaycan Respublikasındakı filialının və ya poçt rabitəsinin milli operatorunun həmin rezidentdən köçürdüyü məbləğdən', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1609 Qeyri-rezidentin daimi nümayəndəliyinin xalis mənfəətindən həmin qeyri-rezidentə köçürülən (verilən) məbləğlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1610 Vergi ödəyicisi kimi vergi orqanında uçotda olmayan fiziki şəxslərin “Nağdsız hesablaşmalar haqqında” Azərbaycan Respublikasının Qanununun 3.5-ci maddəsində göstərilən malların təqdim edilməsindən əldə edilən gəlirləri (vergidən azad olunan gəlirlər istisna olmaqla) xərclər çıxılmadan', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1611 CƏMİ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612 Güzəştlər və azadolmalar (sət.1612.1+sət.1612.2+1612.3+1612.4+1612.5+1612.6+1612.7)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1 Vergi Məcəlləsinin 102.1-ci maddəsinə əsasən ödənilən gəlirlər (\"Muzdlu işçilərə ödənilən gəlirlər istisna olmaqla\")', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.1 Vergi Məcəlləsinin 102.1.22-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend, diskount və faiz gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.2 Vergi Məcəlləsinin 102.1.22-1-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.3 Vergi Məcəlləsinin 102.1.22-2-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən  dividend, diskount və faiz gəlirləri gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.1.4 Vergi Məcəlləsinin 102.1.11-1-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.2 Azərbaycan Respublikasının tərəfdar çıxdığı ikiqat vergitutmanın aradan qaldırılması haqqında beynəlxalq müqavilələrdə vergilərin aşağı dərəcəsi və ya vergilərdən tam azad olunma nəzərdə tutulduğu halda, məhdud vergitutmanın və ya azadolmanın əvvəlcədən tətbiq edilməsi ilə əlaqədar azaldılan vergi məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.3 2018-ci il yanvaın 1-dən 6 (altı) il müddətinə Azərbaycan Respublikasında keçirilən Formula 1 və Formula 2 yarışlarına aid qeyri-maddi aktivlər üzərində müəllif hüquqlarından istifadə olunmasına, yaxud istifadə hüquqlarının verilməsinə görə Gənclər və İdman Nazirliyi ilə bağlanılmış müqavilə əsasında onun tərəfindən qeyri-rezident hüquqi şəxsə ödənilən royalti gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.4 Vergi Məcəlləsinin 224.6-cı maddəsinə əsasən Bu Məcəllənin 222.5-ci maddəsində göstərilən fəaliyyəti həyata keçirən şəxslər tərəfindən bu Məcəllənin 124-cü maddəsi üzrə fiziki şəxslərdən icarəyə götürülən daşınmaz əmlaklar üzrə ödəmə mənbəyində tutulan verginin məbləğinin 50 faizi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.5 Vergi Məcəlləsinin 106.1.14-1-ci maddəsində nəzərdə tutulmuş güzəşt tətbiq edilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.6 Vergi Məcəlləsinin 227.3-cü maddəsinə əsasən İşğaldan azad edilmiş ərazinin rezidenti olan hüquqi şəxslərin səhmdarlarının (payçılarının) dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1612.7 Vergi Məcəlləsinin 122.5-ci maddəsinə əsasən texnologiyalar parkının rezidenti kimi texnologiyalar parkından kənar sistem inteqrasiyası, proqram təminatının hazırlanması və inkişaf etdirilməsi fəaliyyətini həyata keçirən şəxslər tərəfindən ödənilən dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1613 Büdcəyə ödənilməli vergi məbləği (sət.1611-sət.1612)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_yuja', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_yuja'); \r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-20 17:20:16.003319",
  "module": "Taxes Az",
  "name": "DefaultTax return withheld at source of payment Elave1 2ci2023",
  "script": "//table_rkzz - Table Adı\r\n//frappe.ui.form.on('Tax return withheld at source of payment' - Doctype Adı\r\n//təsnifatıverilənsətrinkodu - kolonka adı\r\n\r\n\r\n\r\nfrappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_rkzz) {\r\n            frm.set_value('table_rkzz', []); \r\n        }\r\n\r\n        //burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n               { təsnifatıverilənsətrinkodu: '1600', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1601', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1602.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1602.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1604.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1605', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1610', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.6', SahəAdı2: 'Məlumat' },\r\n            {təsnifatıverilənsətrinkodu: '1612.7', SahəAdı2: 'Məlumat' },\r\n        ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_rkzz'); \r\n    },\r\n\r\n    il: function(frm) {\r\n        frm.set_value('table_rkzz', []); \r\n\r\n        //və burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n               { təsnifatıverilənsətrinkodu: '1600', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1601', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1602.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1602.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1604.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1605', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1610', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.6', SahəAdı2: 'Məlumat' },\r\n            {təsnifatıverilənsətrinkodu: '1612.7', SahəAdı2: 'Məlumat' },\r\n        ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_rkzz', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_rkzz'); \r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-20 17:56:20.962976",
  "module": "Taxes Az",
  "name": "DefaultTax return withheld at source of payment Elave 2 Hisse1 2ci2023",
  "script": "//table_pauo - Table Adı\r\n//frappe.ui.form.on('Tax return withheld at source of payment' - Doctype Adı\r\n//təsnifatıverilənsətrinkodu - kolonka adı\r\n\r\n\r\n\r\nfrappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_pauo) {\r\n            frm.set_value('table_pauo', []); \r\n        }\r\n\r\n        //burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n               { təsnifatıverilənsətrinkodu: '1603.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1604.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.6', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1609', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.7', SahəAdı2: 'Məlumat' },\r\n        ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_pauo'); \r\n    },\r\n\r\n    il: function(frm) {\r\n        frm.set_value('table_pauo', []); \r\n\r\n        //və burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n                { təsnifatıverilənsətrinkodu: '1603.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1604.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.6', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1609', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.7', SahəAdı2: 'Məlumat' },\r\n        ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_pauo', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_pauo'); \r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-20 18:06:52.361854",
  "module": "Taxes Az",
  "name": "DefaultTax return withheld at source of payment Elave 2 Hisse2 2ci2023",
  "script": "//table_focm - Table Adı\r\n//frappe.ui.form.on('Tax return withheld at source of payment' - Doctype Adı\r\n//təsnifatıverilənsətrinkodu - kolonka adı\r\n\r\n\r\n\r\nfrappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_focm) {\r\n            frm.set_value('table_focm', []); \r\n        }\r\n\r\n        //burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n               { təsnifatıverilənsətrinkodu: '1603.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1604.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.6', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1609', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.7', SahəAdı2: 'Məlumat' },\r\n        ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_focm'); \r\n    },\r\n\r\n    il: function(frm) {\r\n        frm.set_value('table_focm', []); \r\n\r\n        //və burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n                { təsnifatıverilənsətrinkodu: '1603.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1603.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1604.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1606.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1607.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.4.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.6', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1609', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.1.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.2', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.3', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.4', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.5', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1612.7', SahəAdı2: 'Məlumat' },\r\n        ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_focm', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_focm'); \r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Tax return withheld at source of payment",
  "enabled": 1,
  "modified": "2025-01-20 18:12:20.069366",
  "module": "Taxes Az",
  "name": "DefaultTax return withheld at source of payment Elave 2 Hisse3 2ci2023",
  "script": "//table_rjdp - Table Adı\r\n//frappe.ui.form.on('Tax return withheld at source of payment' - Doctype Adı\r\n//təsnifatıverilənsətrinkodu - kolonka adı\r\n\r\n\r\n\r\nfrappe.ui.form.on('Tax return withheld at source of payment', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_rjdp) {\r\n            frm.set_value('table_rjdp', []); \r\n        }\r\n\r\n        //burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n               { təsnifatıverilənsətrinkodu: '1608.5.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.5.2', SahəAdı2: 'Məlumat' },\r\n            ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_rjdp'); \r\n    },\r\n\r\n    il: function(frm) {\r\n        frm.set_value('table_rjdp', []); \r\n\r\n        //və burda dəyişik et\r\n        if (frm.doc.il === 2025) { \r\n            const default_rows_2025 = [\r\n            ];\r\n            default_rows_2025.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2024) { \r\n            const default_rows_2024 = [\r\n            ];\r\n            default_rows_2024.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2023) {\r\n            const default_rows_2023 = [\r\n                { təsnifatıverilənsətrinkodu: '1608.5.1', SahəAdı2: 'Məlumat' },\r\n            { təsnifatıverilənsətrinkodu: '1608.5.2', SahəAdı2: 'Məlumat' },\r\n            ];\r\n            default_rows_2023.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2022) {\r\n            const default_rows_2022 = [\r\n            ];\r\n            default_rows_2022.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2021) {\r\n            const default_rows_2021 = [\r\n            ];\r\n            default_rows_2021.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        } else if (frm.doc.il === 2020) {\r\n            const default_rows_2020 = [\r\n            ];\r\n            default_rows_2020.forEach(row => {\r\n                frm.add_child('table_rjdp', row);\r\n            });\r\n        }\r\n\r\n        frm.refresh_field('table_rjdp'); \r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Land tax declaration",
  "enabled": 1,
  "modified": "2025-10-23 12:46:44.909803",
  "module": "Taxes Az",
  "name": "Default Land tax declaration Vergi Hesab",
  "script": "frappe.ui.form.on('Land tax declaration', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.verginin_hesablanması) {\r\n            frm.set_value('verginin_hesablanması', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '600. Kənd təsərrüfatı təyinatlı torpaq sahələri üzrə hesablanmış vergi məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '600.1 Təyinatı üzrə istifadə edilməyən kənd təsərrüfatı torpaqları üzrə hesablanmış vergi məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '600.2 Təyinatı üzrə istifadə edilən və ya irriqasiya, meliorasiya və digər aqrotexniki səbəblərdən təyinatı üzrə istifadə edilməsi mümkün olmayan kənd təsərrüfatı torpaqları üzrə verginin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '611. Sənaye, tikinti, nəqliyyat, rabitə, ticarət-məişət xidməti və digər xüsusi təyinatlı torpaq sahələri, yasayış fondları, həyətyanı və bağ sahələri üzrə hesablanmış vergi məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '612. Hesablanmış vergi məbləğinin cəmi (sətr.600+sətr.611)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615. Güzəştlər (sət.615.1+sət.615.2 + sət.615.3+ sət.615.4+ sət.615.5 + 615.6)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.1 Vergi Məcəlləsinin 207.3-cü maddəsinə əsasən Sənaye, yaxud texnologiyalar parklarının rezidenti olan hüquqi şəxsin sənaye, yaxud texnologiyalar parklarında istifadə etdikləri torpaqlara görə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.2 Vergi Məcəlləsinin 207.4-cü maddəsinə əsasən Sənaye, yaxud texnologiyalar parklarının idarəedici təşkilatı və ya operatorunun sənaye, yaxud texnologiyalar parklarının ərazisində istifadə etdiyi torpaqlara görə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.3 Vergi Məcəlləsinin 207.5-ci maddəsinə əsasən İnvestisiya təşviqi sənədini almış hüquqi şəxs həmin sənədi aldığı tarixdən mülkiyyətində və ya istifadəsində olan müvafiq torpaqlara görə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.4 Vergi Məcəlləsinin 207.6-cı maddəsinə əsasən  KOB klaster şirkətləri KOB klaster şirkətlərinin reyestrinə daxil edildiyi tarixdən 7 il müddətinə mülkiyyətində və ya istifadəsində olan torpaqlara görə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.5  Vergi Məcəlləsinin 207.7-ci maddəsinə əsasən  \"Aqrarkredit” Qapalı Səhmdar Cəmiyyəti Bank Olmayan Kredit Təşkilatı və “Azərbaycan Sənaye Korporasiyası” Açıq Səhmdar Cəmiyyəti ödəmə qabiliyyətini itirmiş bankların rezolyusiyası və sağlamlaşdırma tədbirləri çərçivəsində Azərbaycan Respublikasının Prezidentinin qərarına əsasən aldığı problemli aktivlərin (borcların) əvəzində əldə etdiyi, onun mülkiyyətində (balansında) olan və siyahısını Azərbaycan Respublikasının İqtisadiyyat Nazirliyi ilə razılaşdırdığı torpağa görə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.6  Vergi Məcəlləsinin 207.8-ci maddəsinə əsasən Geoloji ayırma sənədi əsasında faydalı qazıntı yataqlarının (neft və qaz yataqları istisna olmaqla) axtarışı, qiymətləndirilməsi və kəşfiyyatı işlərinə cəlb edilən torpaq sahələrinə görə torpaq vergisi müvafiq təsdiqedici sənədlər (geoloji-kəşfiyyat işlərini həyata keçirən şəxsin podrat müqaviləsi, geoloji-kəşfiyyat planı, geoloji-kəşfiyyatla bağlı təqdim edilən hesabat) əsasında faydalı qazıntı yataqlarının axtarışı, qiymətləndirilməsi və kəşfiyyatı işlərinə başlanıldığı təqvim ili üzrə 75 faiz', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.7 Vergi Məcəlləsinin 207.9-cu maddəsinə əsasən Vergi Məcəlləsinin 207.9-cu maddəsinə əsasən Kredit təşkilatları məhkəmənin qanuni qüvvəyə minmiş qərarına əsasən müflis elan olunduğu halda kredit təşkilatının müflis elan olunması ilə bağlı məhkəmə qərarının qüvvəyə mindiyi ildən etibarən torpaq vergisini ödəməkdən azaddırlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.8 Vergi Məcəlləsinin 207.10-cu maddəsinə əsasən Siyahısı Azərbaycan Respublikasının Nazirlər Kabineti tərəfindən təsdiq edilmiş idxal mallarını yerli istehsal (emal) malları ilə əvəz edəcək qida (ərzaq) məhsullarının istehsalı ilə məşğul olan hüquqi və fiziki şəxslər həmin fəaliyyət prosesində istifadə olunan torpaqlara görə müvafiq siyahının təsdiq edildiyi ildən etibarən 7 il müddətinə torpaq vergisini ödəməkdən azaddırlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.9 Vergi Məcəlləsinin 207.11-ci maddəsinə əsasən Azərbaycan Respublikasında dövlət əmlakının özəlləşdirilməsinin dövlət proqramlarına uyğun olaraq 2023-cü il 1 yanvar tarixindən sonra özəlləşdirilməsi barədə qərar qəbul edilən dövlətə məxsus hüquqi şəxslər özəlləşdirilməsi barədə qərarın qəbul edildiyi ildən etibarən özəlləşdirilmə prosesi müddətində, lakin 3 ildən çox olmayaraq, torpaq vergisini ödəməkdən azaddırlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.10 Vergi məcəlləsinin 207.12-ci maddəsinə əsasən Kredit təşkilatları verilmiş kredit müqabilində onların mülkiyyətinə keçən torpaqlara görə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '615.11 Vergi Məcəlləsinin 227.1-ci maddəsinə əsasən İşğaldan azad edilmiş ərazinin rezidentləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '616. Büdcəyə ödənilməli vergi məbləğinin cəmi (sətr.612-sətr.615)', SahəAdı2: 'Məlumat' },\r\n         ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('verginin_hesablanması', row);\r\n        });\r\n\r\n        frm.refresh_field('verginin_hesablanması'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Land tax declaration",
  "enabled": 1,
  "modified": "2025-10-23 12:47:18.316206",
  "module": "Taxes Az",
  "name": "LandTaxDeclaration1",
  "script": "frappe.ui.form.on('Land tax declaration', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"611. Sənayə, tikinti, nəqliyyat\";\r\n        const new_label = \"611. Sənayə, tikinti, nəqliyyat, rabitə, ticarət-məişət xidməti və digər xüsusi təyinatlı torpaq sahələri, yaşayış fondları, həyətyanı və vətəndaşların bağ sahələri, üzrə verginin cəmi)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .section-head\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:12:01.168455",
  "module": "Taxes Az",
  "name": "DefaultQuarterly report on unemployment insurance Hisse1 1ci",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_iesl) {\r\n            frm.set_value('table_iesl', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1. orta siyahı sayı (nəfər)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2. orta faktiki sayı (nəfər)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_iesl', row);\r\n        });\r\n\r\n        frm.refresh_field('table_iesl'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:11:25.510874",
  "module": "Taxes Az",
  "name": "DefaultQuarterly report on unemployment insurance Hisse1 2ci",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_jsqf) {\r\n            frm.set_value('table_jsqf', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'İŞSİZLİKDƏN SIĞORTA HAQQINA CƏLB OLUNAN ƏMƏYİN ÖDƏNİŞİ FONDU', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.tarif (vəzifə) maaşı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.əmək haqqına əlavə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3.mükafat', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '4.Məzuniyyət haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '5.İşçinin əmək funksiyasının icrasının nəticələri, şəxsi işgüzarlıq və peşəkarlıq səviyyəsi ilə bağlı olan digər ödənişlər', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_jsqf', row);\r\n        });\r\n\r\n        frm.refresh_field('table_jsqf'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:14:35.018078",
  "module": "Taxes Az",
  "name": "DefaultQuarterly report on unemployment insurance Hisse1 3cu",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_zxri) {\r\n            frm.set_value('table_zxri', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'HESABAT DÖVRÜNÜN ƏVVƏLİNƏ QALIQ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.inzibati cərimələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3.digər mənbələr', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_zxri', row);\r\n        });\r\n\r\n        frm.refresh_field('table_zxri'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:17:36.066981",
  "module": "Taxes Az",
  "name": "DefaultQuarterly report on unemployment insurance Hisse 1 4cu",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_thjo) {\r\n            frm.set_value('table_thjo', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'CƏMİ HESABLANMIŞDIR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.işsizlikdən sığorta haqqı, cəmi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.sığortaedənin hesabına hesablanmış əməyin ödənişi hesabına nisbətdə işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.sığortaolunanın hesabına hesablanmış əməyin ödənişi hesabına nisbətdə işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2. inzibati cərimələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3. digər mənbələr', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_thjo', row);\r\n        });\r\n\r\n        frm.refresh_field('table_thjo'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:20:38.801633",
  "module": "Taxes Az",
  "name": "Quarterly report on unemployment insurance Hisse 1 5ci",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_mhaz) {\r\n            frm.set_value('table_mhaz', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'CƏMİ ÖDƏNİLMİŞDİR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.işsizlikdən sığorta haqqı, cəmi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.sığortaedənin hesabına hesablanmış əməyin ödənişi hesabına nisbətdə işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.sığortaolunanın hesabına hesablanmış əməyin ödənişi hesabına nisbətdə işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.inzibati cərimələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3.digər mənbələr', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_mhaz', row);\r\n        });\r\n\r\n        frm.refresh_field('table_mhaz'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:23:33.001255",
  "module": "Taxes Az",
  "name": "DefaultQuarterly report on unemployment insurance Hisse 2 1ci",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_tmwr) {\r\n            frm.set_value('table_tmwr', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'GERİ ALINMIŞDIR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.inzibati cərimələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3.digər mənbələr', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_tmwr', row);\r\n        });\r\n\r\n        frm.refresh_field('table_tmwr'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:25:55.459639",
  "module": "Taxes Az",
  "name": "DefaultQuarterly report on unemployment insurance Hisse 2 2ci",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_obkz) {\r\n            frm.set_value('table_obkz', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'SİLİNMİŞDİR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.inzibati cərimələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3.digər mənbələr', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_obkz', row);\r\n        });\r\n\r\n        frm.refresh_field('table_obkz'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:28:14.344518",
  "module": "Taxes Az",
  "name": "DefaultQuarterly report on unemployment insurance Hisse 2 3cu",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_iyat) {\r\n            frm.set_value('table_iyat', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'DONDURULMUŞDUR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.inzibati cərimələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3.digər mənbələr', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_iyat', row);\r\n        });\r\n\r\n        frm.refresh_field('table_iyat'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:36:48.046187",
  "module": "Taxes Az",
  "name": "DefaultQuarterly report on unemployment insurance Hisse 2 4cu",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_uhmu) {\r\n            frm.set_value('table_uhmu', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'HESABAT DÖVRÜNÜN SONUNA QALIQ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.inzibati cərimələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3.digər mənbələr', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_uhmu', row);\r\n        });\r\n\r\n        frm.refresh_field('table_uhmu'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Quarterly report on unemployment insurance",
  "enabled": 1,
  "modified": "2025-01-23 15:32:52.660824",
  "module": "Taxes Az",
  "name": "DefaultQuarterly report on unemployment insurance Hisse 3 1ci",
  "script": "frappe.ui.form.on('Quarterly report on unemployment insurance', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_frvu) {\r\n            frm.set_value('table_frvu', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '3.1.1 işsizlikdən sığortaya cəlb olunan gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3.1.2 ödənilmiş işsizlikdən sığorta haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '3.1.3 işçilərin sayı', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_frvu', row);\r\n        });\r\n\r\n        frm.refresh_field('table_frvu'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "REFERENCE on controlled transactions",
  "enabled": 1,
  "modified": "2025-01-27 19:20:03.409860",
  "module": "Taxes Az",
  "name": "REFERENCE on controlled transactions Elave",
  "script": "frappe.ui.form.on('REFERENCE on controlled transactions', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"Bir şəxs digər şəxsin əmlakında\";\r\n        const new_label = \"Bir şəxs digər şəxsin əmlakında (nizamnamə kapitalında) bilavasitə və ya dolayısı ilə iştirak edirsə və onun iştirak payı və ya səs hüququ azı 20 faizdirsə Faizlə (7)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .static-area\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "REFERENCE on controlled transactions",
  "enabled": 1,
  "modified": "2025-01-27 20:01:50.840488",
  "module": "Taxes Az",
  "name": "REFERENCE on controlled transactions Elave1",
  "script": "frappe.ui.form.on('REFERENCE on controlled transactions', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"Bir şəxs\";\r\n        const new_label = \"Bir şəxs digər şəxsin əmlakında (nizamnamə kapitalında) bilavasitə və ya dolayısı ilə iştirak edirsə və onun iştirak payı və ya səs hüququ azı 20 faizdirsə Valyutanın növü (8)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .static-area\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "REFERENCE on controlled transactions",
  "enabled": 1,
  "modified": "2025-01-27 20:03:49.825556",
  "module": "Taxes Az",
  "name": "REFERENCE on controlled transactions Elave2",
  "script": "frappe.ui.form.on('REFERENCE on controlled transactions', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"Bir şəxs digər \";\r\n        const new_label = \"Bir şəxs digər şəxsin əmlakında (nizamnamə kapitalında) bilavasitə və ya dolayısı ilə iştirak edirsə və onun iştirak payı və ya səs hüququ azı 20 faizdirsə Məbləğ (9)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .static-area\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "REFERENCE on controlled transactions",
  "enabled": 1,
  "modified": "2025-01-28 00:39:12.012747",
  "module": "Taxes Az",
  "name": "REFERENCE on controlled transactions Elave3",
  "script": "frappe.ui.form.on('REFERENCE on controlled transactions', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"Bir şəxs digər\";\r\n        const new_label = \"Bir şəxs digər şəxsin əmlakında (nizamnamə kapitalında) bilavasitə və ya dolayısı ilə iştirak edirsə və onun iştirak payı və ya səs hüququ azı 20 faizdirsə Məbləğ (9)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .static-area\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "REFERENCE on controlled transactions",
  "enabled": 1,
  "modified": "2025-01-28 00:42:04.642670",
  "module": "Taxes Az",
  "name": "REFERENCE on controlled transactions Elave4",
  "script": "frappe.ui.form.on('REFERENCE on controlled transactions', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"Bir şəxs özünün xidməti\";\r\n        const new_label = \"Bir şəxs özünün xidməti vəziyyətinə görə digər şəxsə tabedir və ya bir şəxs digər şəxsin bilavasitə və ya dolayısı ilə nəzarətindədirsə, tabeçilik və ya nəzarətin forması (10)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .static-area\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "REFERENCE on controlled transactions",
  "enabled": 1,
  "modified": "2025-01-28 01:14:09.097103",
  "module": "Taxes Az",
  "name": "REFERENCE on controlled transactions Elave5",
  "script": "frappe.ui.form.on('REFERENCE on controlled transactions', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"Azərbaycan Respublikasında\";\r\n        const new_label = \"Azərbaycan Respublikasında daimi nümayəndəliyi olan qeyri-rezidentin özü və ya onun başqa dövlətlərdə yerləşən hər hansı nümayəndəliyi, filialı və digər bölməsi barədə məlumat Adı (20)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .static-area\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "REFERENCE on controlled transactions",
  "enabled": 1,
  "modified": "2025-01-28 01:15:28.202440",
  "module": "Taxes Az",
  "name": "REFERENCE on controlled transactions Elave6",
  "script": "frappe.ui.form.on('REFERENCE on controlled transactions', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"Azərbaycan Respublikasında daimi\";\r\n        const new_label = \"Azərbaycan Respublikasında daimi nümayəndəliyi olan qeyri-rezidentin özü və ya onun başqa dövlətlərdə yerləşən hər hansı nümayəndəliyi, filialı və digər bölməsi baradə məlumat Ünvanı (21)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .static-area\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "REFERENCE on controlled transactions",
  "enabled": 1,
  "modified": "2025-01-28 01:16:42.147991",
  "module": "Taxes Az",
  "name": "REFERENCE on controlled transactions Elave7",
  "script": "frappe.ui.form.on('REFERENCE on controlled transactions', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"Azərbaycan Respublikasında daimi nümayəndəliyi\";\r\n        const new_label = \"Azərbaycan Respublikasında daimi nümayəndəliyi olan qeyri-rezidentin özü və ya onun başqa dövlətlərdə yerləşən hər hansı nümayəndəliyi, filialı və digər bölməsi barədə məlumat Qeydiyyat ölkəsinin kodu (22)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .static-area\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "REFERENCE on controlled transactions",
  "enabled": 1,
  "modified": "2025-01-28 01:17:56.891227",
  "module": "Taxes Az",
  "name": "REFERENCE on controlled transactions Elave8",
  "script": "frappe.ui.form.on('REFERENCE on controlled transactions', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"Azərbaycan Respublikasında daimi nümayəndəliyi olan\";\r\n        const new_label = \"Azərbaycan Respublikasında daimi nümayəndəliyi olan qeyri-rezidentin özü və ya onun başqa dövlətlərdə yerləşən hər hansı nümayəndəliyi, filialı və ya digər bölməsi barədə məlumat Rezidentlik ölkəsinin kodu (23)\";\r\n\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .static-area\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return",
  "enabled": 1,
  "modified": "2025-01-30 15:29:59.166119",
  "module": "Taxes Az",
  "name": "Income tax return Gelirler",
  "script": "frappe.ui.form.on('Income tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_iqrz) {\r\n            frm.set_value('table_iqrz', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '200 Malların təqdim edilməsindən (işlərin görülməsindən, xidmətlərin göstərilməsindən)  gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.1 Malların təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.1.1 Pərakəndə satışdan gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.1.1.1 o cümlədən elektron ticarətdən', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.1.2 Topdan satışdan gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.1.2.1 o cümlədən elektron ticarətdən', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.2 İşlərin görülməsindən və xidmətlərin göstərilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.2.1 Sığorta fəaliyyətindən gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.2.1.1 - sığorta ehtiyatlarının qaytarılması', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.2.2 İctimai iaşə fəaliyyətindən gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '200.2.3 elektron ticarətdən', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '201 Аmortizasiya olunan əsas vəsaitlərin təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '202 Аmortizasiya olunmayan aktivlərin təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '203 Əmlakın icarəyə verilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '203.1 - Daşınan əmlakın icarəyə verilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '203.2 - Daşınmaz əmlakın icarəyə verilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '204 Digər müəssisələrin fəaliyyətindən payçı kimi iştirakdan əldə edilmiş gəlir (dividend istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '204.1 50 faizdən çox səs hüququ verən səhmi olan müəssisələrdə iştirakdan gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '204.2 50 faizədək  səs hüququ verən səhmi olan müəssisələrdə  iştirakdan gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '205 Birgə fəaliyyətdən əldə edilmiş gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '205.1 Ümumi gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '205.2 Ümumi xərc', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '205.3 Fərq', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '205.4 İştrak faizi (%)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '206 Əvəzsiz əsasla təqdim edilmiş aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207 Səhmlər, istiqrazlar və digər qiymətli kağızların, iştirak paylarının, borc öhdəliklərinin və tələblərinin satışından əldə edilmiş gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.1 Səhmlərin və iştirak paylarının satışından əldə edilmiş gəlir (207.1 = 207.1.1 + 207.1.2)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.1.1 Nizamnamə kapitalındakı səhmlər və iştirak payları xalis aktivlərin səhmlərə və iştirak paylarına mütənasib dəyərindən yuxarı qiymətə təqdim edildikdə əldə edilmiş gəlir (207.1.1 = 207.1.1.3 - 207.1.1.1)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.1.1.1 Təqdim edilən səhmlərin və iştirak paylarının nominal və ya faktiki satınalnma qiyməti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.1.1.2 Təqdim edilən səhmlər və iştirak payları üzrə xalis aktivlərin nizamnamə kapitalındakı səhmlərə mütənasib dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.1.1.3 Təqdim edilən səhmlərin və iştirak paylarının faktiki təqdim olunma dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.1.2 Nizamnamə kapitalındakı səhmlər və iştirak payları xalis aktivlərin səhmlərə və iştirak paylarına mütənasib dəyərindən aşağı qiymətə (güzəştli qiymətlə) təqdim edildikdə əldə edilmiş gəlir (207.1.2 = 207.1.2.2 - 207.1.2.1)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.1.2.1 Təqdim edilən səhmlərin və iştirak paylarının nominal və ya faktiki satınalnma qiyməti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.1.2.2 Təqdim edilən səhmlər və iştirak payları üzrə xalis aktivlərin nizamnamə kapitalındakı səhmlərə mütənasib dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.1.2.3 Təqdim edilən səhmlərin və iştirak paylarının faktiki təqdim olunma dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.2 İstiqrazların satışından əldə edilmiş gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.3 Digər qiymətli kağızların satışından əldə edilmiş gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.4 Borc öhdəliklərinin satışından əldə edilmiş gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '207.5 Borc tələblərinin satışından əldə edilmiş gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '208 İddia müddəti ötmüş və kreditorlar tərəfindən silinmiş kreditor borcları üzrə gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '209 Uduşlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '210 Royalti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '210.1 Azərbaycan Respublikasınının hüdudlarından kənarda əldə edilmiş royalti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '211 Dividendlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '211.1 Аzərbaycan Respublikasında alınmış dividendlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '211.2 Аzərbaycan Respublikasınının hüdudlarından kənarda alınmış dividendlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '212 Faizlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '212.1 Bank fəaliyyətindən faizlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '212.2 Digər faiz gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '213 Əvvəllər gəlirdən çıxılmış ehtiyatın azaldılmasından gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '214 Xarici valyutaların manata nisbətən müsbət məzənnə fərqi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '215 Əvvəllər gəlirdən çıxılmış xərcin, zərərin və ya ümidsiz borcun ödənilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '216 Vergilərin uçotu metodunun dəyişilməsi nəticəsində yaranan keçmiş illərin gəliri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '217 Yuxarıdakı bəndlərdə nəzərdə tutulmayan digər gəlirlər (o cümlədən mənfəət vergisindən azad edilən gəlirlər)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '217.1 İxrac məqsədli neft-qaz fəaliyyəti üzrə alınmış gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '217.2 Azərbaycan Respublikasınının hüdudlarından kənarda əldə edilmiş gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '217.3 Transfer qiymətlərin tətbiq edilməsindən əldə edilmiş gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '218 Ü M U M İ    G Ə L İ R L Ə R', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '219 Ümumi gəlirdən çıxılmalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '219.1 Rezident tərəfindən ödəmə mənbəyində vergiyə cəlb olunan dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '219.2 Təqdim olunmuş (amortizasiya olunmayan) aktivlərin qalıq dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '219.3 Xarici valyutaların manata nisbətən məzənnəsinin dəyişməsindən yaranan mənfi fərq', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '219.4 Gəlirlər üzrə azadolmalar və güzəştlər (sətrin təsnifatı 5 №-li Əlavə ilə təqdim olunur)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '219.5 Bina tikintisi fəaliyyəti üzrə dövlətə ayrılan yaşayış və qeyri-yaşayış sahələrinin təqdim edilməsi üzrə gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '219.6 Dəqiqləşdirilən əməliyyatlar hesabına azaldılan gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '220 Çıxılmalardan sonra  Ü M U M İ   G Ə L İ R', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_iqrz', row);\r\n        });\r\n\r\n        frm.refresh_field('table_iqrz'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return",
  "enabled": 1,
  "modified": "2025-01-31 23:14:26.839402",
  "module": "Taxes Az",
  "name": "Income tax return Xercler",
  "script": "frappe.ui.form.on('Income tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_ksjv) {\r\n            frm.set_value('table_ksjv', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '221 Malların təqdim edilməsi, iş görülməsi və xidmət göstərilməsi üzrə xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.1 Əmək haqqı və ona bərabər tutulan ödəmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.1.1 - əcnəbi işçilər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.1.2 - yerli işçilər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.2 Sosial sığorta haqları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.3 Xammal və materiallar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.4 Malın dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.5 İcarə haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.5.1 Rezident şəxslər üzrə icarə haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.5.1.1 - hüquqi şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.5.1.2 - fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.5.2 Qeyri rezidentlər üzrə icarə haqqı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.6 Nazirlər Kabinetinin qərarı ilə müəyyən edilmiş ezamiyyə xərclərinin məbləğləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.7 Enerji xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.8 Qaz xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.9 Yanacaq xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.10 Su və kanalizasiya xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.11 Rabitə xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.12 Mühafizə xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.13 Bank xidməti üzrə xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.14 Reklam xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.15 Biləvasitə malların təqdim edilməsi (işlərin görülməsi, xidmətlərin göstərilməsi) ilə bağlı sair xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '221.16 Qanunvericiliklə müəyyən edilmiş təbii itki normaları daxilində zayolmadan əmələgələn itkilər, təbii itki normaları daxilində xarabolmalar və bu kimi əskikgəlmələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '222 Borca görə faizlər və onunla bağlı olan xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '222.1 Rezident üzrə faizlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '222.2 Faizlərlə əlaqədar xərclər və ayırmalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '222.2.1 - aktivlər üzrə mümkün zərərlərin ödənilməsi üçün xüsusi ehtiyatın yaradılmasına ayırmalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '222.2.2 - faizlərlə bağlı digər xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '222.3 Qeyri rezident üzrə faizlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '223 Royalti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '223.1 Rezident üzrə royalti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '223.2 Qeyri rezident üzrə royalti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '224 Xarici hüquqi şəxsin baş (əsas) ofisi tərəfindən çəkilmiş və Аzərbaycan Respublikası ilə birbaşa bağlı xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '225 Ümidsiz borclar (sətrin təsnifatı 3 №-li Əlavə ilə təqdim olunur)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '226 Elmi tədqiqat, layihə axtarış və təcrübə konstruktor işlərinə çəkilən xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227 Аmortizasiya ayırmaları, əsas vəsaitlərin təqdim edilməsi və ləğvi üzrə gəlirdən çıxılan xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.1 Torpaqların yaxşılaşdırılması üzrə kapitallaşdırılmış xərclər, binalar, tikililər və qurğular üzrə hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.2 Maşınlar və avadanlıq üzrə hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.3 Nəqliyyat vasitələri üzrə hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.4 İş heyvanları üzrə hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.5 Geoloji kəşfiyyat işlərinə və təbii ehtiyatların hasilatına hazırlıq işlərinə çəkilən xərclər üzrə hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.6 Qeyri-maddi aktivlər üzrə hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.6.1 İstifadə müddəti məlum olmayan qeyri-maddi aktivlər üzrə hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.6.2 İstifadə müddəti məlum olan qeyri-maddi aktivlər üzrə hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.7 Digər əsas vəsaitlər üzrə hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.8 VM-nin 114.6 maddəsinə əsasən çıxılan əsas vəsaitlərin qalıq dəyərinin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.9 Təqdim edilmiş əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.10 Yüksək texnologiyalar məhsulu olan hesablama texnikası üzrə  hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '227.11 VM-nin 115.6-1-cı maddəsinə əsasən hesablanmış amortizasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '228 Təmir xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '228.1 Binalar, tikililər və qurğular üzrə hesablanmış təmir xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '228.2 Maşınlar və avadanlıq üzrə hesablanmış təmir xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '228.3 Nəqliyyat vasitələri üzrə hesablanmış təmir xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '228.4 Digər əsas vəsaitlər üzrə hesablanmış təmir xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '228.5 İcarəyə götürülmüş əsas vəsaitlərin təmir xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '228.6 Yüksək texnologiyalar məhsulu olan hesablama texnikası üzrə  hesablanmış təmir xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '229 Nəqliyyat xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '229.1 Rezident üzrə nəqliyyat xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '229.2 Qeyri rezident üzrə nəqliyyat xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '230 Sığorta üzrə xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '230.1 Sığorta fəaliyyəti üzrə xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '230.1.1 - sığorta ehtiyatlarına ayırmalar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '230.1.2 - təkrarsığortaya verilmiş sığorta haqqları (mükafatları)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '230.1.3 - sığorta fəaliyyəti üzrə sair xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '230.2 Ödənilmiş sığorta haqları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '231 İstiqrazlar və digər qiymətli kağızların, borc öhdəliklərinin və tələblərinin alınması ilə bağlı xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '231.1 İstiqrazların alınması ilə bağlı xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '231.2 Digər qiymətli kağızların alınması ilə bağlı xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '231.3 Borc öhdəliklərinin alınması ilə bağlı xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '231.4 Borc tələblərinin alınması ilə bağlı xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '232 Digər xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '232.1 Azərbaycan Respublikasınının hüdudlarından kənarda gəlirlərin əldə edilməsi ilə bağlı xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '232.2 Qeyri rezident üzrə sair xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '232.3 Uçot metodunun dəyişilməsi nəticəsində yaranan keçmiş illərin xərci', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '233 Gəlirdən çıxılan vergilər və yığımlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '233.1 Torpaq vergisi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '233.2 Əmlak vergisi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '233.3 Mədən vergisi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '233.4 Azərbaycan Respublikasında istehsal edilən və qiymətləri tənzimlənən məhsulların ixracı zamanı məhsulların kontrakt (satış) qiyməti ilə (ixrac xərcləri çıxılmaqla) ölkədaxili topdansatış qiyməti arasındakı fərqdən dövlət büdcəsinə hesablanan yığım', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '233.5 Vergi Məcəlləsinin 220.12-ci maddəsi üzrə nağd qaydada bank hesablarından çıxarılmış pul vəsaiti üzrə tutulmuş sadələşdirilmiş vergi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '234 C  Ə M İ    X Ə R C L Ə R', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '235 Ümumi gəlirdən çıxılmayan xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '235.1 Vergidən azad olunan və ya vergiyə cəlb edilməyən fəaliyyətlə bağlı bölüşdürülməsi mümkün olmayan xərclərin gəlirdən çıxılmayan məbləğlərinin cəmi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '235.1.1 Vergiyə cəlb edilməyən fəaliyyətlə bağlı bölüşdürülməsi mümkün olmayan xərclərin gəlirdən çıxılmayan məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '235.2 Transfer qiymətlərinin tətbiq edilməsi nəticəsində azaldılan xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '235.3  Dəqiqləşdirilən əməliyyatlar hesabına azaldılan xərc', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '236 Ü M U M İ   G Ə L İ R dən  çıxılan   X Ə R C L Ə R', SahəAdı2: 'Məlumat' },\r\n\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_ksjv', row);\r\n        });\r\n\r\n        frm.refresh_field('table_ksjv'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return",
  "enabled": 1,
  "modified": "2025-01-31 23:36:26.407188",
  "module": "Taxes Az",
  "name": "Income tax return Verginin hesablanmasi 1",
  "script": "frappe.ui.form.on('Income tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_mxuj) {\r\n            frm.set_value('table_mxuj', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '237 Vergitutma məqsədləri üçün mənfəət (sət.220 - sət.236)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '238 Mənfəət üzrə  azadolmalar və güzəştlər (sətrin təsnifatı 5 №-li Əlavə ilə təqdim olunur)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '239 Zərər (sət.236 - sət.220 )', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '240 Mənfəət hesabına kompensasiya edilən keçmiş illərin zərəri', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_mxuj', row);\r\n        });\r\n\r\n        frm.refresh_field('table_mxuj'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return",
  "enabled": 1,
  "modified": "2025-02-01 01:53:41.539985",
  "module": "Taxes Az",
  "name": "Income tax return Verginin hesablanmasi 2",
  "script": "frappe.ui.form.on('Income tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_qmqa) {\r\n            frm.set_value('table_qmqa', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər1: '240.1', göstəricilər2: '2019', göstəricilər3: '- ci il üzrə zərərin məbləği' },\r\n            { göstəricilər1: '240.2', göstəricilər2: '2020', göstəricilər3: '- ci il üzrə zərərin məbləği' },\r\n            { göstəricilər1: '240.3', göstəricilər2: '2021', göstəricilər3: '- ci il üzrə zərərin məbləği' },\r\n            { göstəricilər1: '240.4', göstəricilər2: '2022', göstəricilər3: '- ci il üzrə zərərin məbləği' },\r\n            { göstəricilər1: '240.5', göstəricilər2: '2023', göstəricilər3: '- ci il üzrə zərərin məbləği' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_qmqa', row);\r\n        });\r\n\r\n        frm.refresh_field('table_qmqa'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return",
  "enabled": 1,
  "modified": "2025-01-31 23:44:12.705610",
  "module": "Taxes Az",
  "name": "Income tax return Verginin hesablanmasi 3",
  "script": "frappe.ui.form.on('Income tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_vrzn) {\r\n            frm.set_value('table_vrzn', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '241 Mənfəət üzrə azadolma, güzəşt və mənfəət hesabına kompensasiya edilən keçmiş illərin zərəri çıxılmaqla vergiyə cəlb olunan mənfəət (sət.237- (sət.238 + sət.240))', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '242 Mənfəət vergisinin dərəcəsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '243 M Ə N F Ə Ə T   V E R G İ S İ( sət.241 x sət.242 : 100 )', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '244 Azaldılmalı verginin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '244.1 VM-nin 106.2-ci maddəsinə əsasən azaldılmalı verginin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '244.2 Xarici ölkələrdə ödənilmiş  və nəzərə alınan mənfəət (gəlir) vergisinin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '244.3 VM-nin 227.1-ci maddəsinə əsasən azaldılmalı verginin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '245 Ödənilməli mənfəət vergisinin məbləği (sət.243 - sət.244)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '246 Elan edilmiş dividendlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '247 VM-nin 114.4-cü maddəsi ilə hesablanmış, lakin növbəti illərdə nəzərə alınacaq amortizasiya məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '248 VM-nin 115.1-ci maddəsi ilə hesablanmış, lakin növbəti illərdə nəzərə alınacaq təmir xərclərinin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '249 VM-nə əsasən gəlirdən çıxılmayan xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '249.1 VM-nin 109.2-ci maddəsinə əsasən gəlirdən çıxılmayan xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '249.2 VM-nin 109.3-cü maddəsinə əsasən gəlirdən çıxılmayan xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '249.3 Gəlirdən çıxılmayan digər xərclər', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_vrzn', row);\r\n        });\r\n\r\n        frm.refresh_field('table_vrzn'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return",
  "enabled": 1,
  "modified": "2025-02-01 00:11:57.819380",
  "module": "Taxes Az",
  "name": "Income tax return Elave 1",
  "script": "frappe.ui.form.on('Income tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_etns) {\r\n            frm.set_value('table_etns', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1 C Ə M İ   А K T İ V L Ə R', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1 Əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.1 Torpaqların yaxşılaşdırılması üzrə kapitallaşdırılmış xərclər, binalar, tikillilər və qurğular', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.1.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.2 Maşınlar və avadanlıq', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.2.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.3 Nəqliyyat vasitələri(yük avtomobilləri istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.3.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.4 İş heyvanları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.4.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.5 Digər əsas vəsaitlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.5.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.6 Yüksək texnologiyalar məhsulu olan hesablama texnikası', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.6.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.7 Yük avtomobilləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.7.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.8 İcarəyə götürülmüş əsas vəsaitlərin təmirinə çəkilən kapitallaşdırılmış xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2 Qeyri-maddi aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.1 İstifadə müddəti məlum olmayan qeyri-maddi aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.1.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.2 İstifadə müddəti məlum olan qeyri-maddi aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.2.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3 Ehtiyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.1 Hazır məhsul', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.2 Mallar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.3 Bitməmiş istehsal', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.4 Sair ehtiyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4 Debitor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4.1 Dövlət büdcəsinə (vergilər üzrə)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4.2 Sair debitor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4.2.1 o cümlədən xarici borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.5 Pul vəsaitləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.6 Səhmlər və iştirak payları üzrə maliyyə qoyuluşları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.7 Dövlət qiymətli kağızları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.8 Kapitallaşdırma üçün aktivlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.9 Gələcək dövrün xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.10 Digər aktivlər', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_etns', row);\r\n        });\r\n\r\n        frm.refresh_field('table_etns'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return",
  "enabled": 1,
  "modified": "2025-02-01 00:17:01.378798",
  "module": "Taxes Az",
  "name": "Income tax return Elave 1 2ci",
  "script": "frappe.ui.form.on('Income tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_scux) {\r\n            frm.set_value('table_scux', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '2 C Ə M İ   K А P İ T А L   V Ə   Ö H D Ə L İ K L Ə R', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1 C Ə M İ  K A P İ T A L', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.1 Nizamnamə kapitalı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.2 Hesabat dövrünün xalis mənfəəti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.3 Əvvəlki illər üzrə bölüşdürülməmiş mənfəət', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.4 Emissiya gəliri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.5 Kapital ehtiyatları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2 C Ə M İ  Ö H D Ə L İ K L Ə R', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1 Kreditor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.1 Bank kreditləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.1.1 o cümlədən xarici borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.2 Аlınmış avanslar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.3 Dövlət büdcəsinə vergi öhdəlikləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.4 Törəmə (asılı) müəssisələrə kreditor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.5 Sair kreditor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.5.1 o cümlədən xarici borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.2 Gələcək dövrün gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.3 Digər öhdəliklər', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_scux', row);\r\n        });\r\n\r\n        frm.refresh_field('table_scux'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return",
  "enabled": 1,
  "modified": "2025-02-01 01:34:01.185144",
  "module": "Taxes Az",
  "name": "Income tax return Elave5 Hisse1",
  "script": "frappe.ui.form.on('Income tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_gjua) {\r\n            frm.set_value('table_gjua', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '3 Vergi Məcəlləsinin 106.1.1-ci maddəsinə əsasən xeyriyyə təşkilatlarının gəliri — sahibkarlıq fəaliyyətindən əldə etdikləri gəlirdən başqa', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '4 Vergi Məcəlləsinin 106.1.2-ci maddəsinə əsasən qeyri-kommersiya təşkilatlarının aldıqları əvəzsiz köçürmələr, üzvlük haqları və ianələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '5 Vergi Məcəlləsinin 106.1.3-cü maddəsinə əsasən beynəlxalq, dövlətlərarası və hökumətlərarası təşkilatların gəlirləri — sahibkarlıq fəaliyyətindən əldə etdikləri gəlirdən başqa', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '6 Vergi Məcəlləsinin 106.1.4-cü maddəsinə əsasən dövlət hakimiyyəti orqanlarının, büdcə təşkilatlarının yerli özünüidarəetmə orqanlarının və dövlətin adından yaradılan publik hüquqi şəxslərin gəlirləri (sahibkarlıq fəaliyyətindən gəlir istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '7 Vergi Məcəlləsinin 106.1.5-ci maddəsinə əsasən Azərbaycan Respublikasının Mərkəzi Bankının, onun qurumlarının, ipoteka kreditləşməsi və sahibkarların aldıqları kreditlərə təminat verilməsi sahəsində fəaliyyət göstərən müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqanın (qurumun)  və Azərbaycan Respublikası Dövlət Neft Fondunun, habelə Əmanətlərin Sığortalanması Fondunun gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '8 Vergi Məcəlləsinin 106.1.6-cı maddəsinə əsasən alınmış sığorta ödənişləri (həmin sığorta hadisəsi ilə əlaqədar zərərə aid edilən məbləğlərdən başqa)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '9 Vergi Məcəlləsinin 106.1.8-ci maddəsinə əsasən Azərbaycan Respublikasının qanunvericiliyinə uyğun olaraq dövlət büdcəsinə olan vergi borclarının silinməsindən əldə olunan gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '10 Vergi Məcəlləsinin 106.1.9-cu maddəsinə əsasən Azərbaycan Respublikasının Prezidenti tərəfindən müəyyən edilmiş hallarda hüquqi şəxsin qərarı ilə onun özünün və onun tam mülkiyyətində olan rezident törəmə müəssisələrinin birinin balansından digərinin balansına əvəzsiz olaraq verilən aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '11 Vergi Məcəlləsinin 106.1.10-cu maddəsinə əsasən Azərbaycan Respublikasının Prezidentinin qərarına əsasən bir hüquqi şəxsin balansından əvəzsiz olaraq digər şəxsin balansına verilmiş əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '12 Vergi Məcəlləsinin 106.1.11-ci maddəsinə əsasən neft-qaz ehtiyatlarının kəşfiyyatı, işlənməsi və hasilatın pay bölgüsü, ixrac boru kəmərləri haqqında və bu qəbildən olan digər sazişlərə uyğun olaraq əsas fondların, daşınar əmlakın və digər aktivlərin hər hansı şəkildə həmin sazişlərdə Azərbaycan Respublikasını təmsil edən tərəfə təqdim edilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '13 Vergi Məcəlləsinin 106.1.13-ci maddəsinə əsasən Azərbaycan Respublikasının Prezidentinin qərarına əsasən yaradılan sənaye, yaxud texnologiyalar parklarının rezidenti olan hüquqi şəxslərin sənaye, yaxud texnologiyalar parklarında fəaliyyətdən əldə etdikləri gəliri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '14 Vergi Məcəlləsinin 106.1.14-cü maddəsinə əsasən kənd təsərrüfatı məhsullarının istehsalı ilə məşğul olan (o cümlədən, sənaye üsulu ilə) hüquqi şəxslərin bu fəaliyyətdən əldə etdikləri gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '15 Vergi Məcəlləsinin 106.1.15-ci maddəsinə əsasən məktəbəqədər təhsil müəssisələrinin və uşaq evlərinin bu fəaliyyətdən əldə etdikləri gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '16 Vergi Məcəlləsinin 106.1.16-cı maddəsinə əsasən «Torpaqların dövlət ehtiyacları üçün alınması haqqında» Azərbaycan Respublikasının Qanununa əsasən hüquqi şəxslərə ödənilən kompensasiya', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '17 Vergi Məcəlləsinin 106.1.19-cu maddəsinə əsasən vergi ödəyicisinin azı 3 (üç) il ərzində mülkiyyətində olan iştirak payının və ya səhmin təqdim edilməsindən əldə olunan gəlirlərinin 50 faizi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '18 Vergi Məcəlləsinin 106.10-cu maddəsinə əsasən qanunla müəyyən olunmuş qaydada gəlirlərin və xərclərin uçotunu aparan, ƏDV-nin məqsədləri üçün qeydiyyata alınmayan və əməliyyatlarının həcmi ardıcıl 12 aylıq dövrün istənilən ayında (aylarında) 200.000 manatadək rezident müəssisənin təsisçisi (payçısı) və yaxud səhmdarları olan hüquqi şəxslərin dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '19 Vergi Məcəlləsinin 106.1.24-cü maddəsinə əsasən \"Məşğulluq haqqında” Azərbaycan Respublikasının Qanununa uyğun olaraq müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqanın (qurumun) haqqı ödənilən ictimai işlərin təşkili ilə bağlı fəaliyyətdən əldə etdiyi gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '20 Vergi Məcəlləsinin 106.1.25-ci maddəsinə əsasən Azərbaycan  Futbol Federasiyaları Assosiasiyası tərəfindən verilmiş təsdiqedici sənəd əsasında Azərbaycan Respublikasında keçirilən UEFA 2019 Avropa Liqasının final oyunu ilə əlaqədar UEFA-nın, onun yaratdığı qeyri-rezident hüquqi şəxslərin, qeyri-rezident futbol klublarının (assosiasiyaları)nın həmin oyunla bağlı əldə etdiyi gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '21 Vergi Məcəlləsinin 106.1.26-cı maddəsinə əsasən Azərbaycan  Futbol Federasiyaları Assosiasiyası tərəfindən verilmiş təsdiqedici sənəd əsasında Azərbaycan Respublikasında keçirilən UEFA 2020 Futbol çempionatı ilə əlaqədar UEFA-nın, onu təmsil edən və onun yaratdığı qeyri-rezident hüquqi şəxslərin, habelə qeyri-rezident futbol klublarının (assosiasiyalarının) çempionatla bağlı əldə etdiyi gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '22 Vergi Məcəlləsinin 106.1.27-ci maddəsinə əsasən Nazirlər Kabineti tərəfindən müəyyən olunmuş qaydada dövlət büdcəsinin vəsaiti hesabına ödənilən ixrac təşviqi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '23 Vergi Məcəlləsinin 106.1.28-ci maddəsinə əsasən Azərbaycan Respublikasında keçirilən Formula 1 və Formula 2 yarışlarına aid qeyri-maddi aktivlər üzərində müəllif hüquqlarından istifadə olunmasına, yaxud istifadə hüquqlarının verilməsinə görə Gənclər və idman Nazirliyi ilə bağlanılmış müqavilə əsasında onun tərəfindən qeyri-rezident hüquqi şəxsə ödənilən royalti gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '24 Vergi Məcəlləsinin 106.1.29-cu maddəsinə əsasən lotereya biletlərinin satıcısı ilə bağlanmış müqavilə əsasında və ya onun tapşırığı əsasında lotereya biletlərinin bütün mərhələlərdə agent qaydasında satışının həyata keçirilməsi üzrə göstərilən xidmətlərdən əldə olunan gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '25 Vergi Məcəlləsinin 106.1.14-1-cü maddəsinə əsasən kənd təsərrüfatı məhsullarının istehsalı ilə məşğul olan (o cümlədən sənaye üsulu ilə) hüquqi şəxslərin bu fəaliyyət üzrə satışdankənar gəlirləri, kənd təsərrüfatı məhsullarının istehsalı ilə əlaqədar hüquqi şəxslərə dövlət büdcəsinin vəsaiti hesabına verilən subsidiyalar, habelə kənd təsərrüfatı məhsullarının istehsalı ilə məşğul olan (o cümlədən sənaye üsulu ilə) rezident hüquqi şəxslərin iştirakçıları olan hüquqi şəxslərin bu sahə üzrə dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '26 Vergi Məcəlləsinin 106.1.30-cu maddəsinə əsasən vəkillər və vəkil qurumları tərəfindən order markasının əldə edilməsi ilə bağlı Azərbaycan Respublikasının Vəkillər Kollegiyasına edilən ödənişlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '27 Vergi Məcəlləsinin 227.3-cü maddəsinə əsasən işğaldan azad edilmiş ərazinin rezidenti olan hüquqi şəxslərin səhmdarlarının (payçılarının) dividend gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '28 Vergi Məcəlləsinin 106.1.32-ci maddəsinə əsasən media subyektlərinin (audiovizual media subyektləri istisna olmaqla) öz fəaliyyətlərindən əldə etdikləri gəlirlər (o cümlədən reklam gəlirləri), habelə müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqan (qurum) tərəfindən verilən maddi yardımlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '29 Qanunla təsdiq olunmuş əsas boru kəməri haqqında və digər bu qəbildən olan sazişlər və ya qanunlar çərçivəsində göstərilən fəaliyyətindən əldə olunan gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '30 Gəlirlər üzrə azadolmalar barədə CƏMİ məlumat', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_gjua', row);\r\n        });\r\n\r\n        frm.refresh_field('table_gjua'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Income tax return",
  "enabled": 1,
  "modified": "2025-02-01 01:42:18.087753",
  "module": "Taxes Az",
  "name": "Income tax return Elave5 Hisse2",
  "script": "frappe.ui.form.on('Income tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_zmnm) {\r\n            frm.set_value('table_zmnm', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '31 Vergi Məcəlləsinin 106.1.7-ci maddəsinə əsasən təhsil müəssisələrinin, o cümlədən sağlamlıq imkanları məhdud şəxslərin təhsil alması üçün yaradılmış xüsusi təhsil müəssisələrinin mənfəəti – mənfəətin dividendlərin ödənilməsinə yönəldilən hissəsi istisna olmaqla', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '32 Vergi Məcəlləsinin 106.1.12-ci maddəsinə əsasən Azərbaycan Respublikasının Prezidentinin qərarına əsasən yaradılan sənaye, yaxud texnologiyalar parklarının idarəedici təşkilatının və ya operatorunun mənfəətinin sənaye, yaxud texnologiyalar parklarının infrastrukturunun tikintisinə və saxlanılmasına yönəldilmiş hissəsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '33 Vergi Məcəlləsinin 106.1.17-ci maddəsinə əsasən investisiya təşviqi sənədini almış hüquqi şəxsin həmin sənədi aldığı tarixdən əldə etdiyi mənfəətin 50 faizi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '34 Vergi Məcəlləsinin 106.1.18-ci maddəsinə əsasən dövlətin adından yaradılan publik hüquqi şəxslər istisna olmaqla, vergi ödəyicisinin hesabat ilinin mənfəətinin 10 faizindən çox olmayan hissəsinin Azərbaycan Respublikası Nazirlər Kabineti  tərəfindən müəyyən edilən meyarlara cavab verən elm, təhsil, səhiyyə, idman və mədəniyyət sahəsində fəaliyyət göstərən müəssisə, idarə və təşkilatlara köçürülən hissəsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '35 Vergi Məcəlləsinin 106.1.20-ci maddəsinə əsasən mikro sahibkarlıq subyekti olan hüquqi şəxslərin sahibkarlıq fəaliyyətindən əldə etdikləri mənfəətin 75 faizi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '36 Vergi Məcəlləsinin 106.1.21-ci maddəsinə əsasən KOB klaster şirkətinin mənfəəti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '37 Vergi Məcəlləsinin 106.1.22-ci maddəsinə əsasən KOB klasterin iştirakçısı olan hüquqi şəxsin KOB klaster şirkəti ilə bağlanmış müqavilə əsasında təqdim etdiyi mal (iş, xidmət) üzrə əldə etdiyi mənfəətin kapital xarakterli xərclərin çəkilməsinə yönəldilən hissəsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '38 Vergi Məcəlləsinin 106.1.23-cü maddəsinə əsasən mikro və ya kiçik sahibkarlıq subyekti olan və hüquqi şəxs kimi fəaliyyət göstərən startapların “Startap” şəhadətnaməsi aldığı tarixdən innovasiya fəaliyyətindən əldə etdikləri mənfəəti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '39 Vergi Məcəlləsinin 106.1.31-ci maddəsinə əsasən siyahısı Azərbaycan Respublikasının Nazirlər Kabineti  tərəfindən təsdiq edilmiş idxal mallarını yerli istehsal (emal) malları ilə əvəz edəcək qida (ərzaq) məhsullarının istehsalını həyata keçirən hüquqi şəxslərin həmin fəaliyyətdən əldə etdikləri mənfəətin 50 faizi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '40 Mənfəət üzrə güzəştlər barədə CƏMİ məlumat', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_zmnm', row);\r\n        });\r\n\r\n        frm.refresh_field('table_zmnm'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2025-07-24 15:14:16.961033",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Hesabat Dovriyye uzre",
  "script": "\r\nfrappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.hesabat_dövriyyəsi) {\r\n            frm.set_value('hesabat_dövriyyəsi', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '301. ƏDV-nə 18 faiz dərəcə ilə cəlb olunan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1 Malların təqdim edilməsi, işlərin görülməsi, xidmətlərin göstərilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.2 Kənd təsərrüfatı məhsullarının satışı üzrə ƏDV-nə cəlb olunan ticarət əlavəsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301-2  Digər şəxslərdən alınan və ya idxal olunan kənd təsərrüfatı məhsullarının satışı üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302. ƏDV-nə sıfır (0) faiz dərəcə ilə cəlb olunan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303. ƏDV-dən azad olunan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '304. ƏDV-nə 20 faiz dərəcə ilə tutulan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '305. Əməliyyatlar üzrə CƏMİ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '306. Vergi Məcəlləsinin 169-cu maddəsinə əsasən qeyri-rezidentin göstərdiyi xidmətlər və ya gördüyü işlər üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '306.1 ƏDV-nin məqsədləri üçün qeydiyyata alınmayan qeyri-rezidentin göstərdiyi xidmətlər və ya gördüyü işlər üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '306.2 Elektron ticarət qaydasında işlərin və xidmətlərin vergi ödəyicisi kimi uçotda olmayan alıcısının ödəmələri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '306.3 Azərbaycan Respublikasının hüdudlarından kənarda elektron qaydada təşkil olunan lotereyaların, digər yarışların və müsabiqələrin iştirakçısının ödənişi üzrə', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('hesabat_dövriyyəsi', row);\r\n        });\r\n\r\n        frm.refresh_field('hesabat_dövriyyəsi'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2025-07-31 18:59:00.578779",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Debitor borclar",
  "script": "\r\nfrappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.debitor_borc) {\r\n            frm.set_value('debitor_borc', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '307 Debitor borclar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '307.1 ƏDV-nə 18 faiz dərəcə ilə cəlb olunan əməliyyatlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '307.2 ƏDV-nə sıfır (0) faiz dərəcə ilə cəlb olunan əməliyyatlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '307.3 ƏDV-dən azad olunan əməliyyatlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '307-1 01.01.2020-ci il tarixə olan debitor borclar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '307-1.1 ƏDV-nə 18 faiz dərəcə ilə cəlb olunan əməliyyatlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '307-1.2 ƏDV-nə sıfır (0) faiz dərəcə ilə cəlb olunan əməliyyatlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '307-1.3 ƏDV-dən azad olunan əməliyyatlar üzrə', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('debitor_borc', row);\r\n        });\r\n\r\n        frm.refresh_field('debitor_borc'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2026-02-04 11:57:11.451580",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Evezlesdirilen",
  "script": "\r\nfrappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.əvəzləşdirilən_table) {\r\n            frm.set_value('əvəzləşdirilən_table', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '308. VM 175.1-ci maddəsinə əsasən alınmış elektron qaimə-fakturalar (elektron vergi hesab-fakturalar) üzrə nağdsız qaydada ödənilmiş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '308.1 Gəlirdən birbaşa çıxılmayan kapital xarakterli xərclər üzrə əvəzləşdirilmələr (ƏDV nəzərə alınmadan)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '309. 01.01.2001-ci il tarixinə olan borcların nağdsız qaydada ödənilmiş məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '310. İdxalda ƏDV-yə cəlb olunmuş mallara(işlərə,xidmətlərə) görə ödənilmiş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '310.1 Gəlirdən birbaşa çıxılmayan kapital xarakterli xərclər üzrə əvəzləşdirilmələr (ƏDV nəzərə alınmadan)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '311. İdxalda ƏDV-dən azad olunan mallara(işlərə,xidmətlərə) görə ödənilmiş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '312. Vergi Məcəlləsinin 169.4-cü maddəsinə əsasən qeyri-rezidentə ödənilmiş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '313. Vergi Məcəlləsi 175.2-cü maddəsinə əsasən əvəzləşdirilməsinə yol verilməyən ƏDV məbləği314. Vergi Məcəlləsinin 175.3-cü maddəsinə əsasən əvəzləşdirilməsinə yol verilməyən ƏDV məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '314. Vergi Məcəlləsinin 175.3-cü maddəsinə əsasən əvəzləşdirilməsinə yol verilməyən ƏDV məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '315. Vergi Məcəlləsinin 175.4-cü maddəsinə əsasən əvəzləşdirilməsinə yol verilməyən ƏDV məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '316. ƏDV-yə sıfır(0) faiz dərəcəsi ilə ödənilmiş məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '317. Əməliyyatlar üzrə CƏMİ', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('əvəzləşdirilən_table', row);\r\n        });\r\n\r\n        frm.refresh_field('əvəzləşdirilən_table'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2026-02-04 11:56:49.240146",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Deqiqlesdirilen",
  "script": "frappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.dəqiqləşdirilən_table) {\r\n            frm.set_value('dəqiqləşdirilən_table', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '318. ƏDV-yə cəlb olunan ARTIRILAN dövriyyələr üzrə ƏDV-nin hesablanması', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '319. ƏDV-yə cəlb olunan AZALDILAN dövriyyələr üzrə ƏDV-nin hesablanması', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '319.1. ƏDV-yə cəlb olunan AZALDILAN dövriyyələr üzrə ƏDV-nin hesablanması', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '319.2. Vergi Məcəlləsinin 165.5-ci maddəsinə əsasən ƏDV-si qaytarılan malların geri qaytarılması halları üzrə ƏDV-nin hesablanması (NAĞD ödənişlər)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '319.3. Vergi Məcəlləsinin 165.5-ci maddəsinə əsasən ƏDV-si qaytarılan malların geri qaytarılması halları üzrə ƏDV-nin hesablanması (NAĞDSIZ ödənişlər)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '319.4. Vergi Məcəlləsinin 165.6-cı maddəsinə əsasən ƏDV-si qaytarılan malların geri qaytarılması halları üzrə ƏDV-nin hesablanması (NAĞDSIZ ödənişlər)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '320. ƏDV-yə sıfır (0) faiz dərəcəsi ilə cəlb olunan əməliyyatlar üzrə ARTIRILAN dövriyyə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '321. ƏDV-yə sıfır (0) faiz dərəcəsi ilə cəlb olunan əməliyyatlar üzrə AZALDILAN dövriyyə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '322. ƏDV-dən azad olunan əməliyyatlar üzrə ARTIRILAN dövriyyə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '323. ƏDV-dən azad olunan əməliyyatlar üzrə AZALDILAN dövriyyə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '324. Əvəzləşdirilən əməliyyatların AZALDILMASINA görə ƏDV-nin bərpa edilən məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '325. Əvəzləşdirilən əməliyyatların ARTIRILMASINA görə artırılan hissə üçün ƏDV-nin əvəzləşdirilən məbləği', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('dəqiqləşdirilən_table', row);\r\n        });\r\n\r\n        frm.refresh_field('dəqiqləşdirilən_table'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2026-02-04 11:56:21.738317",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Hesablasmalar",
  "script": "frappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.hesablaşmalar_table) {\r\n            frm.set_value('hesablaşmalar_table', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '326. Büdcəyə ödənilməlidir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '327. Büdcədən qaytarılır', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('hesablaşmalar_table', row);\r\n        });\r\n\r\n        frm.refresh_field('hesablaşmalar_table'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2026-02-04 11:54:54.233012",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Elave1 Cari hesabat 2",
  "script": "frappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.əlavə_1_2) {\r\n            frm.set_value('əlavə_1_2', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'Cari hesabat dövründə əldə edilmiş Yük Gömrük Bəyannaməsi üzrə alınmış malın ƏDV-siz ümumi dəyəri və ƏDV məbləğlərinin CƏMİ', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('əlavə_1_2', row);\r\n        });\r\n\r\n        frm.refresh_field('əlavə_1_2'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2025-08-07 14:37:37.567780",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Elave3 1ci",
  "script": "frappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.əlavə_3_1) {\r\n            frm.set_value('əlavə_3_1', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '301.1 Təqdim edilmiş mallar (işlər, xidmətlər) üzrə ƏDV-yə 18 faiz dərəcə ilə cəlb olunan əməliyyatların məbləği CƏMİ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1 Malların təqdim edilməsindən gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.1 Girov əmlakların(malların) təqdim edilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.2 Əmək haqqının əvəzınə təqdim edilmiş mallar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.3 Agent vasitəsi ilə təqdim edilmiş mallar üzrə gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.4 Müstəqil ƏDV ödəyicisi olan struktur bölmələri arasında təqdim edilmiş mallar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.5 Haqqı ödənilməklə və ya əvəzsiz qaydada öz işçilərinə və digər şəxslərə mal verilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.6 Barter əməliyyatları üzrə malların təqdim edilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.7 Digər malların təqdim edilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.8 Təqdim ediləcək malların hesabına əvvəlcədən alınmış ödənişləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.9 Daşınan və daşınmaz əmlakın təqdim edilməkdən gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.10 Mallar təqdim edildikdən sonra verilmiş borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.11 Mallar təqdim edilənədək verilmiş borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.12 Malların təqdim edilməsi üzrə yaranan debitor borclar üzrə iddia müddətinin bitməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.13 Qarşılıqlı hesablaşmalar aparıldıqda öhdəliyin ləğv edilməsi və ya ödənilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.1.14 Tələb hüququ güzəşt edildikdə – güzəşt edilən məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2 İşlərin görülməsi və xidmətlərin göstərilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.1 Daşınan və daşınmaz əmlakın icarəyə verilməsindən gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.2 Əmək haqqının  əvəzinə işlərin görülməsi və  xidmətlərin göstərilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.3 Müstəqil ƏDV ödəyicisi olan struktur bölmələri arasında işlərin görülməsi və xidmətlərin göstərilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.4 Əvəzsiz işlərin görülməsi və xidmətlərin göstərilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.5 Barter əməliyyatları üzrə işlərin görülməsi və xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.6 Sair işlərin görülməsi və xidmətlərin göstərilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.7 Təqdim ediləcək işlərin və xidmətlərin hesabına əvvəlcədən alınmış ödənişləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.8 Emal əməliyyatları üzrə işlərin görülməsi və xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.9 İşlər, xidmətlər təqdim edildikdən sonra verilmiş borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.10 İşlər, xidmətlər təqdim edilənədək verilmiş borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.11 Tələb hüququ güzəşt edildikdə – güzəşt edilən məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.12 İşlərin, xidmətlərin təqdim edilməsi üzrə yaranan debitor borclar üzrə iddia müddətinin bitməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.2.13 Qarşılıqlı hesablaşmalar aparıldıqda öhdəliyin ləğv edilməsi və ya ödənilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.3 Vergi Məcəlləsinin 159.5-ci maddəsinə əsasən ƏDV tutulan əməliyyat sayılan mallardan (işlərdən, xidmətlərdən) qeyri-kommersiya məqsədləri üçün istifadə edilməsi, fövqəladə hallardan başqa malların itməsi, əksik gəlməsi, xarab olması, tam amortizasiya olunmadan uçotdan silinməsi və ya oğurlanması üzrə məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301.1.4 Vergi Məcəlləsinin 159.6-cü maddəsinə əsasən ƏDV üzrə qeydiyyatı ləğv edilmə tarixinə olan mal qalığının məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301-1 Elektron ticarət üzrə ƏDV-yə 18 faiz dərəcə ilə cəlb edilən əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301-2 Pərakəndə ticarət üzrə ƏDV-yə 18 faiz dərəcə ilə cəlb edilən əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301-3 Topdan ticarət üzrə ƏDV-yə 18 faiz dərəcə ilə cəlb edilən əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '301-4 Tibb müəssisələrinin və özəl tibbi praktika ilə məşğul olan fiziki şəxslərin hesabat dövrü ərzində əhaliyə göstərilən tibbi xidmətlər üzrə nağdsız qaydada POS-terminal vasitəsi ilə aparılan ödəmələr əsasında formalaşan dövriyyə', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('əlavə_3_1', row);\r\n        });\r\n\r\n        frm.refresh_field('əlavə_3_1'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2026-02-04 11:59:08.762718",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Elave3 2ci",
  "script": "frappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.əlavə_3_2) {\r\n            frm.set_value('əlavə_3_2', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '328. VM-nin 159.2-ci maddəsinə əsasən bu Məcəllənin 167-ci və 168-ci maddələrinə uyğun olaraq  Azərbaycan Respublikasının hüdudlarından kənarda malların təqdim edilməsi, xidmətlərin göstərilməsi və işlər görülməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '329. VM-nin 159.5-ci maddəsinə əsasən  fövqəladə hallarda, qanunvericiliklə müəyyən edilmiş təbii itki normaları daxilində zayolmadan əmələ gələn itkilər, təbii itki normaları daxilində xarabolmalar və bu kimi əskikgəlmələr üzrə məbləğ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '330. Vergi Məcəlləsinin 159.7-ci maddəsinə əsasən vergiyə cəlb olunmayan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '331. Vergi Məcəlləsinin 160-cı maddəsinə əsasən vergiyə cəlb edilməyən əməliyyatlar, o cümlədən müəssisənin təqdim edilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '332. Müstəqil sahibkarlıq fəaliyyəti çərçivəsində malların göndərilməsi, işlərin görülməsi və xidmətlərin göstərilməsi sayılmayan əməliyyatlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '333. Rüsumsuz ticarət mağazalarında (Duty-Free) malların təqdim edilməsi və xidmətlərin göstərilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '334. Qeyri-sahibkarlıq fəaliyyəti üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '335. Pul vəsaitləri üzrə əməliyyatlar (maliyyə xidmətləri istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '336. Torpaq sahələrinin təqdim edilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('əlavə_3_2', row);\r\n        });\r\n\r\n        frm.refresh_field('əlavə_3_2'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2026-02-04 21:52:33.406826",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Elave 4",
  "script": "frappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.əlavə_4) {\r\n            frm.set_value('əlavə_4', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '302. ƏDV-yə sıfır(0) dərəcə ilə cəlb edilən əməliyyatların məbləği CƏMİ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.1 VM-nin 165.1.1-ci maddəsinə əsasən Azərbaycan Respublikasında akkreditə edilmiş beynəlxalq təşkilatların və xarici ölkələrin diplomatik və konsulluq nümayəndəliklərinin rəsmi istifadəsi, həmçinin, bu nümayəndəliklərin müvafiq statuslu Azərbaycan Respublikasının vətəndaşı olmayan diplomatik və inzibati-texniki işçilərinin, o cümlədən onlarla yaşayan ailə üzvlərinin şəxsi istifadəsi üçün nəzərdə tutulan mallar və xidmətlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.2 VM-nin 165.1.2-ci maddəsinə əsasən qrant müqaviləsi (qərarı) əsasında xaricdən alınan qrantlar hesabına malların idxalı, qrant üzrə resipiyentlərə malların təqdim edilməsi, işlərin görülməsi və xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.3 VM-nin 165.1.3-cü maddəsinə əsasən aparılan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.3.1. VM-nin 165.1.3-cü maddəsinə əsasən malların ixracı üzrə aparılmış əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.3.2. VM-nin 165.1.3-cü maddəsinə əsasən bu Məcəllənin 168.1.5-ci maddəsində göstərilmiş xidmətlərin ixracı üzrə aparılmış əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.4 VM-nin 165.1.4-cü maddəsinə əsasən beynəlxalq poçt xidmətləri istisna olmaqla, beynəlxalq və tranzit yük və sərnişin daşınması, habelə tranzit yük daşınması ilə bilavasitə bağlı yük aşırılma xidməti. Beynəlxalq və tranzit uçuşlarla bilavasitə bağlı olan işlərin görülməsi, xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.5 VM-nin 165.1.5-ci maddəsinə əsasən Azərbaycan Respublikasının Mərkəzi Bankına qızıl və digər qiymətlilərin göndərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.6 Qanunla təsdiq olunmuş hasilatın pay bölgüsü haqqında, əsas boru kəməri haqqında və digər bu qəbildən olan sazişlərdə və ya qanunlarda, o cümlədən neft və qaz haqqında, ixrac məqsədli neft-qaz fəaliyyəti haqqında qanunlar çərçivəsində aparılan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.6.1 o cümlədən əvvəlcədən alınmış ödənişlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.7 Təqdim ediləcək malların (işlərin, xidmətlərin) hesabına əvvəlcədən alınmış ödənişlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.8 Vergi Məcəlləsinin 165.1.9-cu maddəsinə əsasən aparılan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.9 Vergi Məcəlləsinin 165.1.10-cu maddəsinə əsasən müəssisənin nizamnamə fonduna (kapitalına) pay şəklində əsas vəsaitin qoyulması (əsas vəsaitin pay şəklində qoyuluşu, onun müqabilində bilavasitə digər əmlakın əldə edilməsi ilə əlaqədar olmadıqda)əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.10\tVergi Məcəlləsinin 165.1.11-ci maddəsinə əsasən aparılan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.11\tXüsusi iqtisadi zonalar haqqında qanunlar çərçivəsində aparılan əməliyyatlar üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302.12 Azərbaycan Respublikasının tərəfdar çıxdığı beynəlxalq müqavilələr üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302-1 Elektron ticarət üzrə ƏDV-yə sıfır (0) dərəcə ilə cəlb edilən əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302-2 Pərakəndə ticarət üzrə ƏDV-yə sıfır (0) dərəcə ilə cəlb edilən əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '302-3 Topdan ticarət üzrə ƏDV-yə sıfır (0) dərəcə ilə cəlb edilən əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('əlavə_4', row);\r\n        });\r\n\r\n        frm.refresh_field('əlavə_4'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of value added tax",
  "enabled": 1,
  "modified": "2026-02-04 22:20:42.433622",
  "module": "Taxes Az",
  "name": "Declaration of value added tax Elave 5",
  "script": "frappe.ui.form.on('Declaration of value added tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.əlavə_5) {\r\n            frm.set_value('əlavə_5', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '303. ƏDV-dən azad olunan əməliyyatların məbləği CƏMİ', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.1 VM-nin 164.1.1-ci maddəsinə əsasən özəlləşdirilmə qaydasında dövlət müəssisəsindən satın alınan əmlakın dəyəri, habelə dövlət əmlakının icarəyə verilməsindən alınan icarə haqqının büdcəyə ödənilməli olan hissəsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.2 VM-nin 164.1.2-ci maddəsinə əsasən maliyyə xidmətlərinin göstərilməsi, o cümlədən maliyyə lizinqi əməliyyatları üzrə ödənilən faizlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.3 VM-nin 164.1.3-cü maddəsinə əsasən milli və ya xarici valyutanın (numizmatika məqsədlərindən başqa), həmçinin qiymətli kağızların göndərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.4 VM-nin 164.1.5-ci maddəsinə əsasən idxal olunan əmlak istisna olmaqla müəssisənin nizamnamə fonduna (kapitalına) pay şəklində hər hansı əmlakın (əsas vəsaitlər istisna olmaqla) qoyulması (əmlakın pay şəklində qoyuluşu, onun müqabilində bilavasitə digər əmlakın əldə edilməsi ilə əlaqədar olmadıqda)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.5 VM-nin 164.1.6-cı maddəsinə əsasən tutulan məbləğlər hədlərində dövlət hakimiyyəti, yerli özünü idarəetmə və digər səlahiyyətli orqanların tutduğu dövlət rüsumu, icazə haqları, yığımlar, xüsusi notariusların aldığı haqlar (notariat hərəkətlərinin aparılmasına və notariat hərəkətləri ilə əlaqədar göstərilən xidmətə görə) və onların tutulması müqabilində göstərdiyi xidmətlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.6 VM-nin 164.1.7-ci maddəsinə əsasən siyahısı Azərbaycan Respublikasının Nazirlər Kabineti tərəfindən təsdiq edilən media məhsullarının və kitabların (elektron kitablar istisna olmaqla), habelə dərslik komplektlərinin idxalı və satışı, həmin malların (məhsulların) istehsalı (nəşri) ilə bağlı rulon və ya vərəqə şəklində kağızın idxalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.7 VM-nin 164.1.8-ci maddəsinə əsasən mətbu media məhsullarının və kitabların (o cümlədən elektron kitabların), habelə dərslik komplektlərinin istehsalı ilə bağlı redaksiya, nəşriyyat və poliqrafiya fəaliyyəti (reklam xidmətləri istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.8 VM-nin 164.1.9-cu maddəsinə əsasən dəfn və qəbiristanlığın mərasim xidmətləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.9 VM-nin 164.1.10-cu maddəsinə əsasən Azərbaycan Respublikasının Dövlət Neft Fondunun qanunvericiliklə nəzərdə tutulmuş vəzifələrinin yerinə yetirilməsi ilə bağlı mal idxalı, iş görülməsi və xidmət göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.10 VM-nin 164.1.11-ci maddəsinə əsasən Azərbaycan Respublikasına, o cümlədən onu təmsil edən hüquqi şəxslərə neft-qaz ehtiyatlarının kəşfiyyatı, işlənməsi və hasilatın pay bölgüsü, ixrac boru kəmərləri haqqında və bu qəbildən olan digər sazişlərə uyğun olaraq verilməsi nəzərdə tutulan əsas fondların, daşınan əmlakın və digər aktivlərin Azərbaycan Respublikası Dövlət Neft Fonduna və ya Azərbaycan Respublikasını təmsil edən tərəfə hər hansı şəkildə təqdim edilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.11 VM-nin 164.1.12-ci maddəsinə əsasən metropolitenlə sərnişindaşıma xidmətləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.12 VM-nin 164.1.13-cü maddəsinə əsasən ödənişli təhsil xidmətlərinin göstərilməsi (digər fəaliyyətləri ilə bağlı xidmətlərin göstərilməsi istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.13 VM-nin 164.1.14-cü maddəsinə əsasən Vergi Məcəllənin 106.1.9-106.1.11-ci maddələri ilə müəyyən olunan aktivlərin dəyəri və onların hər hansı şəkildə təqdim olunması üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.14 VM-nin 164.1.17-ci maddəsinə əsasən hüquqi şəxsin iştirak paylarının və ya səhmlərinin təqdim edilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.15 VM-nin 164.1.18-ci maddəsinə əsasən kənd təsərrüfatı məhsullarının istehsalçıları (o cümlədən, sənaye üsulu ilə) tərəfindən özlərinin istehsal etdikləri kənd təsərrüfatı məhsullarının satışı üzrə dövriyyələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.16 VM-nin 164.1.27-ci maddəsinə əsasən buğdanın idxalı və satışı, buğda ununun və çörəyin istehsalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.17 VM-nin 164.1.29-cu maddəsinə əsasən damazlıq heyvanların idxalı və satış', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.18 VM-nin 164.1.30-cu maddəsinə əsasən toxum və tinglərin idxalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.19 VM-nin 164.1.31-ci maddəsinə əsasən siyahısı müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqan (qurum) tərəfindən təsdiq edilən mineral gübrələrin, pestisidlərin idxalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.20 VM-nin 164.1.32-ci maddəsinə əsasən toxumların yetişdirilməsi, quşçuluq və arıçılıq üçün avadanlıqların, o cümlədən laboratoriya avadanlıqlarının, toxum, taxıl və quru paxlalı bitkilərin təmizlənməsi, çeşidlənməsi və ya kalibrlənməsi üçün maşınların idxalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.21 VM-nin 164.1.34-cü maddəsinə əsasən siyahısı Azərbaycan Respublikasının Nazirlər Kabineti tərəfindən təsdiq olunmuş bilavasitə kənd təsərrüfatı təyinatlı suvarma və digər qurğuların, maşınların, avadanlıqların və texnikaların, habelə kənd təsərrüfatı texnikasının ehtiyat hissələrinin istehsalı, idxalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.22 VM-nin 164.1.36-cı maddəsinə əsasən ödəmə qabiliyyətini itirmiş bankların restrukturizasiya və sağlamlaşdırma tədbirləri çərçivəsində müvafiq icra hakimiyyəti orqanının müəyyən etdiyi qaydada qeyri-işlək (toksik) aktivlərin təqdim edilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.23 VM-nin 164.1.37-ci maddəsinə əsasən heyvan və quş ətinin satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.24 VM-nin 164.1.42-ci maddəsinə əsasən “Məşğulluq haqqında” Azərbaycan Respublikasının Qanununa uyğun olaraq müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqan (qurum) tərəfindən haqqı ödənilən ictimai işlərin təşkili ilə əlaqədar işçi qüvvəsinin təqdim edilməsi üzrə əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.25 VM-nin 164.1.43-cü maddəsinə əsasən kəpəyin istehsalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.26 VM-nin 164.1.46-cı maddəsinə əsasən siyahısı Azərbaycan Respublikasının Nazirlər Kabineti tərəfindən təsdiq edilən yem və yem əlavələrinin satışı üzrə dövriyyələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.27 VM-nin 164.1.47-ci maddəsinə əsasən bina tikintisi fəaliyyəti ilə məşğul olan şəxslər tərəfindən tikilən binanın yaşayış sahəsinin dövlətə ayrılan hissəsi üzrə dövriyyələr', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.28 VM-nin 164.1.48-ci maddəsinə əsasən siyahısı müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqan (qurum) (Prezident) tərəfindən təsdiq edilən dövlət adından yaradılan publik hüquqi şəxslər tərəfindən nizamnaməsində nəzərdə tutulan və ona həvalə edilən vəzifələrin yerinə yetirilməsi üçün büdcə qanunvericiliyinə uyğun olaraq dövlət büdcəsindən ayrılmış vəsait hesabına Maliyyə Nazirliyi ilə bağlanılmış müqavilə əsasında işlərin və xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.29 VM-nin 164.1.49-cu maddəsinə əsasən Azərbaycan Respublikasında keçirilən Formula 1 və Formula 2 yarışları ilə bağlı Gənclər və İdman Nazirliyi ilə bağlanılmış müqavilə əsasında mal, iş və xidmətin təqdim edilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.30 VM-nin 164.1.50-ci maddəsinə əsasən Azərbaycan Respublikasında daimi nümayəndəlik yaratmayan qeyri-rezident şəxslərin mülki aviasiya fəaliyyəti çərçivəsində hava gəmilərinin və hava gəmilərinin mühərriklərinin rezident hüquqi şəxslərə icarəyə və ya lizinqə verilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.31 VM-nin 164.1.51-ci maddəsinə əsasən “Tibbi sığorta haqqında” Azərbaycan Respublikasının Qanununa uyğun olaraq icbari tibbi sığorta fondunun, habelə siyahısı müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqan (qurum) tərəfindən təsdiq edilən ictimai və sosial məqsədlər üçün yaradılmış fondların  vəsaiti hesabına tibbi xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.32 VM-nin 164.1.55-ci maddəsinə əsasən külçə, sikkə və ya qranul şəklində qızılın və gümüşün satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.33 VM-nin 164.1.34-1-ci maddəsinə əsasən  kənd təsərrüfatı texnikalarının mülkiyyət hüququnun keçməməsi şərtilə kənd təsərrüfatı istehsalçılarına lizinqə (icarəyə) verilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.34 VM-nin 164.1.34-2-ci maddəsinə əsasən kənd təsərrüfatı məhsullarının istehsalçılarına aqrotexniki xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.35 VM-nin 164.1.41-ci maddəsinə əsasən yalnız elektrik mühərriki ilə işləyən avtomobillərin satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.36 VM-nin 164.1.41-1-ci maddəsinə əsasən istehsal tarixi 3 ildən və mühərrikinin həcmi 2500 kubsantimetrdən çox olmayan hibrid avtomobillərin satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.37 VM-nin 164.1.41-2-ci maddəsinə əsasən Elektrik mühərriki ilə işləyən avtomobillər üçün ikinci və üçüncü səviyyə elektrik enerji doldurucularının satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.38\tVM-nin 164.1.41-3-cü maddəsinə əsasən Azərbaycan Respublikasının ərazisində istehsal olunan minik avtomobillərinin satış̧ı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.39\tVM-nin 164.1.41-4-ci maddəsinə əsasən Azərbaycan Respublikasının ərazisində istehsal olunan avtobusların satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.40 VM-nin 164.1.57-ci maddəsinə əsasən lotereya biletlərinin satıcısı ilə bağlanmış müqavilə əsasında və ya onun tapşırığı əsasında lotereya biletlərinin bütün mərhələlərdə agent qaydasında satışının həyata keçirilməsi üzrə xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.41 Təqdim ediləcək malların (işlərin, xidmətlərin) hesabına əvvəlcədən alınmış ödənişləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.42 Azərbaycan Respublikasının tərəfdar çıxdığı beynəlxalq müqavilələr üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.43 VM-nin 164.1.10-1-ci maddəsinə əsasən yaşayış sahələrini satmaq öhdəliyi ilə kirayəyə vermə sahəsində fəaliyyət göstərən müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqan (qurum) tərəfindən yaşayış sahələrinin kirayəçilərə təqdim edilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.44 VM-nin 164.1.58-ci maddəsinə əsasən özəl baytarlıq xidmətlərinin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.45 VM-nin 164.1.59-cu maddəsinə əsasən vəkillər və vəkil qurumları tərəfindən order markasının əldə edilməsi ilə bağlı Azərbaycan Respublikasının Vəkillər Kollegiyasına edilən ödənişlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.46 VM-nin 164.1.8-1-ci maddəsinə əsasən media subyektləri (audiovizual media subyektləri istisna olmaqla) tərəfindən istehsal olunan media məhsullarının təqdim edilməsi, habelə Azərbaycan Respublikasında daimi nümayəndəlik yaratmayan qeyri-rezident şəxslər tərəfindən media subyektlərinə (audiovizual media subyektləri istisna olmaqla) media fəaliyyəti ilə bilavasitə bağlı olan işlərin görülməsi və xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.47 VM-nin 164.1.56-1-ci maddəsinə əsasən Azərbaycan Respublikasının Minatəmizləmə Agentliyinin təsdiqedici sənədi əsasında Azərbaycan Respublikasının işğaldan azad edilmiş ərazilərinin, habelə müharibə və hərbi əməliyyatların təsirinə məruz qalmış digər ərazilərin minalardan və partlamamış hərbi sursatdan, tərkibində partlayıcı olan qurğulardan və digər partlayıcı qalıqlardan təmizlənməsi çərçivəsində bütün növ texnikanın, avadanlıqların, texniki vasitələrin və qurğuların, onların ehtiyat hissələrinin, fərdi zirehli qoruyucu geyimlərin, alətlərin, partlayıcı və pirotexniki vasitələrin istehsalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.48 VM-nin 164.1.19-cu maddəsinə əsasən müdafiə təyinatlı məmulatların yaradılması və istehsalı fəaliyyətini həyata keçirən şəxslər tərəfindən bu məqsədlə Azərbaycan Respublikasının Müdafiə Sənayesi Nazirliyinin təsdiqedici sənədi əsasında texnologiyaların, avadanlıqların, dəstləşdirici hissələrin və xammalın idxalı və həmin şəxslər tərəfindən istehsal edilmiş müdafiə təyinatlı məmulatların satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.49 VM-nin 164.1.19-1-ci maddəsinə əsasən müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqan (qurum) tərəfindən verilmiş təsdiqedici sənəd əsasında müdafiə və dövlət təhlükəsizliyi məqsədləri üçün istifadə olunan bütün növ texnika və texniki vasitələrin, onların ehtiyat hissələrinin, xüsusi proqram təminatlarının və silah-sursatın idxalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.50 VM-nin 164.1.2-1-ci maddəsinə əsasən ƏDV-dən azad olunan, yaxud ƏDV-yə cəlb edilməyən əməliyyatlar çərçivəsində əldə edilmiş aktivlərin (əsas vəsaitlərin) maliyyə lizinqi müqaviləsi üzrə təqdim edilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.51 VM-nin 164.1.9-1-ci maddəsinə əsasən müvafiq icra hakimiyyəti orqanının müəyyən etdiyi orqan (qurum) tərəfindən verilmiş təsdiqedici sənəd əsasında müdafiə və dövlət təhlükəsizliyi məqsədləri üçün istifadə olunan bütün növ texnika və texniki vasitələrin, onların ehtiyat hissələrinin, xüsusi proqram təminatlarının və silah-sursatın idxalı və satışı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.52 VM-nin 164.1.51-1-ci maddəsinə əsasən tədris bazası kimi fəaliyyət göstərən tibb müəssisələrində tibbi xidmətlərin göstərilməsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303.53 Xüsusi iqtisadi zonalar haqqında qanunlar çərçivəsində aparılan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303-1 Elektron ticarət üzrə ƏDV-dən azad olunan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303-2 Pərakəndə ticarət üzrə ƏDV-dən azad olunan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '303-3 Topdan ticarət üzrə ƏDV-dən azad olunan əməliyyatlar', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('əlavə_5', row);\r\n        });\r\n\r\n        frm.refresh_field('əlavə_5'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-02-06 23:03:30.535934",
  "module": "Taxes Az",
  "name": "Declaration of simplified tax Verginin Hesablanmasi 1ci 1si",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_cixd) {\r\n            frm.set_value('table_cixd', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: 'undefined', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: 'undefined', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: 'undefined', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '804-Rüb üzrə təqdim edilmiş mallara (işlərə, xidmətlərə) və əmlaka görə əldə edilmiş ümumi hasilatın, habelə satışdankənar gəlirlərin (ödəmə mənbəyində vergi tutulmuş gəlirlər istisna edilməklə) həcmi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '804.1-Satışdankənar gəlirlərdən (ödəmə mənbəyində vergi tutulmuş gəlirlər istisna edilməklə)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '805-Verginin dərəcəsi, faizlə %', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '806-Hesablanmış verginin məbləği(sət.804 x sət.805)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '807-Azaldılmalı verginin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '807.1-VM-nin 224.1.4-cü və 224.3-cü maddələri ilə müəyyən edilən vergi ödəyiciləri tərəfindən 2020-ci ildə təqdim edilmiş mallar (işlər, xidmətlər) və əmlak üzrə daxil olmuş hasilatda hesablanmış sadələşdirilmiş vergi məbləğinin 50 faizi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '807.2-VM-nin 227.1-ci maddəsinə əsasən İşğaldan azad edilmiş ərazinin rezidentlərinin sadələşdirilmiş vergi məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '807.3-VM-nin 221.1-1-ci maddəsinə əsasən sadələşdirilmiş verginin ödəyicisi kimi fəaliyyət göstərən mikro sahibkarlıq subyekti olan fiziki şəxslər tərəfindən özlərinə görə ödədiyi rüblük məcburi dövlət sosial sığorta haqqı məbləğinin 25 faizi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '810-Ödənilməli verginin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811-Vergi tutulmayan və vergidən azadolan əməliyyatların məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.1-Kənd təsərrüfatı məhsullarının istehsalçıları (o cümlədən, sənaye üsulu ilə) tərəfindən özlərinin istehsal etdikləri kənd təsərrüfatı məhsullarının satışından əldə edilmiş hasilatın həcmi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.2-Dövlət büdcəsinə olan vergi borclarının silinməsindən əldə olunan gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.3-Qanunla müəyyən olunmuş qaydada gəlirlərin və xərclərin uçotunu aparan, ƏDV-nin məqsədləri üçün qeydiyyata alınmayan və əməliyyatlarının həcmi ardıcıl 12 aylıq dövrün istənilən ayında (aylarında) 200.000 manatadək olan rezident müəssisədən alınan dividend', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.4-Lotereya biletlərinin satıcısı ilə bağlanmış müqavilə əsasında və ya onun tapşırığı əsasında lotereya biletlərinin bütün mərhələlərdə agent qaydasında satışının həyata keçirilməsi üzrə göstərilən xidmətlərdən əldə olunan gəlirlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '811.5-Media subyektlərinin (audiovizual media subyektləri istisna olmaqla) öz fəaliyyətlərindən əldə etdikləri gəlirlər (o cümlədən reklam gəlirləri), habelə Azərbaycan Respublikasının Medianın İnkişafı Agentliyi tərəfindən verilən maddi yardımlar', SahəAdı2: 'Məlumat' },\r\n];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_cixd', row);\r\n        });\r\n\r\n        frm.refresh_field('table_cixd'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-02-06 23:05:15.835859",
  "module": "Taxes Az",
  "name": "Declaration of simplified tax Verginin Hesablanmasi 1ci 2si",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_jtzh) {\r\n            frm.set_value('table_jtzh', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '808-01.01.2019-cu ilədək Bakı şəhərində fəaliyyət üzrə aparılan əməliyyatlardan daxil olan hasilatın məbləği və vergi məbləği (Vergi dərəcəsi 4 %)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '809-01.01.2019-cu ilədək ticarət fəaliyyət üzrə aparılan əməliyyatlardan daxil olan hasilatın məbləği və vergi məbləği (Vergi dərəcəsi 6 %)', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_jtzh', row);\r\n        });\r\n\r\n        frm.refresh_field('table_jtzh'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-02-06 23:07:37.228724",
  "module": "Taxes Az",
  "name": "Declaration of simplified tax Verginin Hesablanmasi 2ci",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_paaf) {\r\n            frm.set_value('table_paaf', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '816-İdman mərc oyunlarının operatoru tərəfindən idman mərc oyunları biletlərinin satışından əldə edilmiş vəsait və hesablanmış verginin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '817-İdman mərc oyunlarının satıcısı tərəfindən idman mərc oyunlarının operatorunun ona verdiyi haqqın (mükafatın) və hesablanmış verginin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '818-Lotereya təşkilatçısı tərəfindən lotereya biletlərinin satışından əldə edilmiş  vəsaitin və hesablanmış verginin məbləği', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '819-Lotereya biletlərinin satıcısı tərəfindən lotereya təşkilatçısının ona verdiyi haqqın (mükafatın) və hesablanmış verginin məbləği', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_paaf', row);\r\n        });\r\n\r\n        frm.refresh_field('table_paaf'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-02-06 23:10:31.412332",
  "module": "Taxes Az",
  "name": "Declaration of simplified tax Odeme menbeyinde",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_sfmk) {\r\n            frm.set_value('table_sfmk', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '821. Daşınan və daşınmaz əmlak üçün ödənilən icarə haqqı üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '821.1 rezident şəxslərin müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '821.1.1 -hüquqi şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '821.1.2 -fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '821.2 qeyri-rezidentin AR-da müvafiq gəlirləri üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '821.2.1  - daşınar əmlak üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '821.2.2  - daşınmaz əmlak üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '821.3 Vergi Məcəlləsinin 224.6-cı maddəsinə əsasən Bu Məcəllənin 222.5-ci maddəsində göstərilən fəaliyyəti həyata keçirən şəxslər tərəfindən bu Məcəllənin 124-cü maddəsi üzrə fiziki şəxslərdən icarəyə götürülən daşınmaz əmlaklar üzrə 2020-ci ilin icarə haqqı üzrə daxil olmalardan ödəmə mənbəyində tutulan verginin məbləğinin 50 faizi', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_sfmk', row);\r\n        });\r\n\r\n        frm.refresh_field('table_sfmk'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-02-06 23:21:07.551279",
  "module": "Taxes Az",
  "name": "Declaration of simplified tax Elave 1 1ci",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_nrkl) {\r\n            frm.set_value('table_nrkl', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1. CƏMİ AKTİVLƏR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1. Əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.1. Torpaqların yaxşılaşdırılması üzrə kapitallaşdırılmış xərclər, binalar, tikililər və qurğular', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.2. Maşınlar və avadanlıq', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.3. Nəqliyyat vasitələri (yük avtomobilləri istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.4. İş heyvanları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.5. Digər əsas vəsaitlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.6. Yüksək texnologiyalar məhsulu olan hesablama texnikası', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.7. Yük avtomobilləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.8. İcarəyə götürülmüş əsas vəsaitlərin təmirinə çəkilən kapitallaşdırılmış xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2. Qeyri-maddi aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.1. İstifadə müddəti məlum olmayan qeyri-maddi aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.2. İstifadə müddəti məlum olan qeyri-maddi aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3. Ehtiyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.1. Hazır məhsul', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.2. Mallar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.3. Bitməmiş istehsal', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.4. Sair ehtiyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4. Debitor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4.1. Dövlət büdcəsinə (vergilər üzrə)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4.2. Sair debitor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4.2.1 o cümlədən xarici borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.5. Pul vəsaitləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.6. Səhmlər və iştirak payları üzrə maliyyə qoyuluşları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.7. Dövlət qiymətli kağızları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.8. Kapitallaşdırma üçün aktivlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.9. Gələcək dövrün xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.10. Digər aktivlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2. CƏMİ KAPİTAL VƏ ÖHDƏLİKLƏR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1. Sahibkarlıq fəaliyyəti ilə əlaqədar əmlakın əldə edilməsinə yönəldilmiş kapital', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2. Gəlir', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.3. Kreditor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.3.1. Bank kreditləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.3.1.1 o cümlədən xarici borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.3.2. Alınmış avanslar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.3.3. Dövlət büdcəsinə vergi öhdəlikləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.3.4. Sair kreditor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.3.4.1 o cümlədən xarici borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.4. Gələcək dövrün gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.5. Digər öhdəliklər', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_nrkl', row);\r\n        });\r\n\r\n        frm.refresh_field('table_nrkl'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-02-06 23:35:02.037310",
  "module": "Taxes Az",
  "name": "Declaration of simplified tax Elave1 2ci 1si",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_ltpu) {\r\n            frm.set_value('table_ltpu', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1 CƏMİ AKTİVLƏR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1 Əsas vəsaitlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.1 Torpaqların yaxşılaşdırılması üzrə kapitallaşdırılmış xərclər, binalar, tikililər və qurğular', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.1.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.2 Maşınlar və avadanlıq', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.2.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.3 Nəqliyyat vasitələri (yük avtomobilləri istisna olmaqla)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.3.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.4 İş heyvanları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.4.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.5 Digər əsas vəsaitlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.5.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.6 Yüksək texnologiyalar məhsulu olan hesablama texnikası', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.6.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.7 Yük avtomobilləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.7.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.1.8 İcarəyə götürülmüş əsas vəsaitlərin təmirinə çəkilən kapitallaşdırılmış xərclər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2 Qeyri-maddi aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.1 İstifadə müddəti məlum olmayan qeyri-maddi aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.1.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.2 İstifadə müddəti məlum olan qeyri-maddi aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.2.2.1 Dövlət müəssisələrinə dövlət büdcəsinin investisiya xərcləri hesabına ayrılmış vəsaitlər hesabına alınan və ya quraşdırılan aktivlərin dəyəri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3 Ehtiyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.1 Hazır məhsul', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.2 Mallar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.3 Bitməmiş istehsal', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.3.4 Sair ehtiyatlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4 Debitor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4.1 Dövlət büdcəsinə (vergilər üzrə)', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4.2 Sair debitor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.4.2.1 o cümlədən xarici borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.5 Pul vəsaitləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.6 Səhmlər və iştirak payları üzrə maliyyə qoyuluşları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.7 Dövlət qiymətli kağızları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.8 Kapitallaşdırma üçün aktivlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.9 Gələcək dövrün xərcləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1.10 Digər aktivlər', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_ltpu', row);\r\n        });\r\n\r\n        frm.refresh_field('table_ltpu'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of simplified tax",
  "enabled": 1,
  "modified": "2025-02-06 23:41:09.875251",
  "module": "Taxes Az",
  "name": "Declaration of simplified tax Elave1 2ci 2si",
  "script": "frappe.ui.form.on('Declaration of simplified tax', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.table_yhrg) {\r\n            frm.set_value('table_yhrg', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '2 CƏMİ KAPİTAL VƏ ÖHDƏLİKLƏR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1 CƏMİ KAPİTAL', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.1 Nizamnamə kapitalı', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.2 Hesabat dövrünün xalis mənəəti', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.3 Əvvəlki illər üzrə bölüşdürülməmiş mənfəət', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.4 Emissiya gəliri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.1.5 Kapital ehtiyatları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2 CƏMİ ÖHDƏLİKLƏR', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1 Kreditor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.1 Bank kreditləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.1.1 o cümlədən xarici borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.2 Alınmış avanslar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.3 Dövlət büdcəsinə vergi öhdəlikləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.4 Törəmə (asılı) müəssisələrə kreditor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.5 Sair kreditor borcları', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.1.5.1 o cümlədən xarici borclar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.2 Gələcək dövrün gəlirləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '2.2.3 Digər öhdəliklər', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('table_yhrg', row);\r\n        });\r\n\r\n        frm.refresh_field('table_yhrg'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 14:59:53.450518",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 4cu cedvel",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_hesab_4cu) {\r\n            frm.set_value('vergi_hesab_4cu', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '506 Verginin dərəcəsi', SahəAdı2: 'Məlumat' },\r\n            \r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_hesab_4cu', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_hesab_4cu'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 21:20:20.795143",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 6ci cedvel",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_hesab_6ci) {\r\n            frm.set_value('vergi_hesab_6ci', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '511.1 Müəssisə il ərzində tam fəaliyyət göstərdiyi halda', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '511.2 Müəssisə il ərzində yarandığı halda', SahəAdı2: 'Məlumat' },\r\n          \r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_hesab_6ci', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_hesab_6ci'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 20:55:30.164907",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 1ci cedvel Read only",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload_post_render: function(frm) {\r\n        setTimeout(function() {\r\n            const grid = frm.fields_dict['vergi_hesab_1ci'].grid;\r\n\r\n            if (grid && grid.grid_rows.length > 0) {\r\n                // Cədvəldəki hər bir sətir üzərində işləyirik\r\n                grid.grid_rows.forEach(function(row, idx) {\r\n                    if (row.docfields) {\r\n                        // Sətir şərtləri\r\n                        if (idx === 0) { // Sətir 1 (indeks 0)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla') {\r\n                                    field.read_only = 1; // Sahəni yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 1) { // Sətir 2 (indeks 1)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 3) { // Sətir 4 (indeks 2) 2 +1 = 3, 3 sətir\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla' || field.fieldname === 'hesablanmışvergininməbləğimanatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }, 2000); // 2 saniyəlik gözləmə\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 21:13:03.316900",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 2ci cedvel Read only",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload_post_render: function(frm) {\r\n        setTimeout(function() {\r\n            const grid = frm.fields_dict['vergi_hesab_2ci'].grid;\r\n\r\n            if (grid && grid.grid_rows.length > 0) {\r\n                // Cədvəldəki hər bir sətir üzərində işləyirik\r\n                grid.grid_rows.forEach(function(row, idx) {\r\n                    if (row.docfields) {\r\n                        // Sətir şərtləri\r\n                        if (idx === 0) { // Sətir 1 (indeks 0)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla') {\r\n                                    field.read_only = 1; // Sahəni yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 1) { // Sətir 2 (indeks 1)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 3) { // Sətir 4 (indeks 2) 2 +1 = 3, 3 sətir\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla' || field.fieldname === 'hesablanmışvergininməbləğimanatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }, 2000); // 2 saniyəlik gözləmə\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 21:16:31.927120",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 3cu cedvel Read only",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload_post_render: function(frm) {\r\n        setTimeout(function() {\r\n            const grid = frm.fields_dict['vergi_hesab_3cu'].grid;\r\n\r\n            if (grid && grid.grid_rows.length > 0) {\r\n                // Cədvəldəki hər bir sətir üzərində işləyirik\r\n                grid.grid_rows.forEach(function(row, idx) {\r\n                    if (row.docfields) {\r\n                        // Sətir şərtləri\r\n                        if (idx === 0) { // Sətir 1 (indeks 0)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla') {\r\n                                    field.read_only = 1; // Sahəni yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 1) { // Sətir 2 (indeks 1)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 2) { // Sətir 3 (indeks 2) 2 +1 = 3, 3 sətir\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla' || field.fieldname === 'hesablanmışvergininməbləğimanatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }, 2000); // 2 saniyəlik gözləmə\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-04 21:25:03.897611",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 5ci cedvel Read only",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload_post_render: function(frm) {\r\n        setTimeout(function() {\r\n            const grid = frm.fields_dict['vergi_hesab_5ci'].grid;\r\n\r\n            if (grid && grid.grid_rows.length > 0) {\r\n                // Cədvəldəki hər bir sətir üzərində işləyirik\r\n                grid.grid_rows.forEach(function(row, idx) {\r\n                    if (row.docfields) {\r\n                        // Sətir şərtləri\r\n                        if (idx === 0) { // Sətir 1 (indeks 0)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla') {\r\n                                    field.read_only = 1; // Sahəni yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 1) { // Sətir 2 (indeks 1)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 2) { // Sətir 3 (indeks 2) 2 +1 = 3, 3 sətir\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === '' || field.fieldname === 'hesablanmışvergininməbləğimanatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }, 2000); // 2 saniyəlik gözləmə\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-06 14:06:28.235839",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi Elave 1 cedvel Read only",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload_post_render: function(frm) {\r\n        setTimeout(function() {\r\n            const grid = frm.fields_dict['elave_1'].grid;\r\n\r\n            if (grid && grid.grid_rows.length > 0) {\r\n                // Cədvəldəki hər bir sətir üzərində işləyirik\r\n                grid.grid_rows.forEach(function(row, idx) {\r\n                    if (row.docfields) {\r\n                        // Sətir şərtləri\r\n                        if (idx === 3) { // Sətir 4 (indeks 3)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyərimanatla5012' || field.fieldname === 'ilinsonunaəsasvəsaitlərinqalıqdəyəri' || field.fieldname === 'artıqqiymətəəsasvəsaitlərindəyəri') {\r\n                                    field.read_only = 1; // Sahəni yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 22) { // Sətir 23 (indeks 22)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyərimanatla5012' || field.fieldname === 'ilinsonunaəsasvəsaitlərinqalıqdəyəri' || field.fieldname === 'artıqqiymətəəsasvəsaitlərindəyəri') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 0) { // Sətir 0 (indeks 0)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === '' || field.fieldname === '' || field.fieldname === '') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }, 2000); // 2 saniyəlik gözləmə\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-06 14:13:57.193762",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi Elave 2 cedvel Read only",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload_post_render: function(frm) {\r\n        setTimeout(function() {\r\n            const grid = frm.fields_dict['elave_2'].grid;\r\n\r\n            if (grid && grid.grid_rows.length > 0) {\r\n                // Cədvəldəki hər bir sətir üzərində işləyirik\r\n                grid.grid_rows.forEach(function(row, idx) {\r\n                    if (row.docfields) {\r\n                        // Sətir şərtləri\r\n                        if (idx === 0) { // Sətir 1 (indeks 0)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyəri' || field.fieldname === 'hesabatilinsonunaəsasvəsaitlərinqalıqdəyəri' || field.fieldname === 'artıqqiymətəəsasvəsaitlərindəyəri505') {\r\n                                    field.read_only = 1; // Sahəni yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 11) { // Sətir 12 (indeks 11)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyəri' || field.fieldname === 'hesabatilinsonunaəsasvəsaitlərinqalıqdəyəri' || field.fieldname === 'artıqqiymətəəsasvəsaitlərindəyəri505') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 0) { // Sətir 0 (indeks 0)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === '' || field.fieldname === '' || field.fieldname === '') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }, 2000); // 2 saniyəlik gözləmə\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-06 18:37:41.622263",
  "module": "Taxes Az",
  "name": "Property tax return Sətirlərdən birini seçin",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    refresh: function(frm) {\r\n        frm.trigger('sətirlərdənbiriniseçin');\r\n    },\r\n    \r\n    sətirlərdənbiriniseçin: function(frm) {\r\n        if (frm.doc.sətirlərdənbiriniseçin) {\r\n            if (frm.doc.sətirlərdənbiriniseçin === 'Müəssisə il ərzində yarandığı halda') {\r\n                // Показать таблицу vergi_hesab_1ci_1 и поле html_uhqz\r\n                frm.toggle_display('vergi_hesab_1ci_1', true);\r\n                frm.set_df_property('vergi_hesab_1ci_1', 'hidden', 0);\r\n                frm.toggle_display('html_uhqz', true);\r\n                frm.set_df_property('html_uhqz', 'hidden', 0);\r\n                \r\n                // Скрыть таблицу vergi_hesab_1ci и поле html_ikbb\r\n                frm.toggle_display('vergi_hesab_1ci', false);\r\n                frm.set_df_property('vergi_hesab_1ci', 'hidden', 1);\r\n                frm.toggle_display('html_ikbb', false);\r\n                frm.set_df_property('html_ikbb', 'hidden', 1);\r\n                \r\n            } else if (frm.doc.sətirlərdənbiriniseçin === 'Müəssisə il ərzində tam fəaliyyət göstərdiyi halda') {\r\n                // Показать таблицу vergi_hesab_1ci и поле html_ikbb\r\n                frm.toggle_display('vergi_hesab_1ci', true);\r\n                frm.set_df_property('vergi_hesab_1ci', 'hidden', 0);\r\n                frm.toggle_display('html_ikbb', true);\r\n                frm.set_df_property('html_ikbb', 'hidden', 0);\r\n                \r\n                // Скрыть таблицу vergi_hesab_1ci_1 и поле html_uhqz\r\n                frm.toggle_display('vergi_hesab_1ci_1', false);\r\n                frm.set_df_property('vergi_hesab_1ci_1', 'hidden', 1);\r\n                frm.toggle_display('html_uhqz', false);\r\n                frm.set_df_property('html_uhqz', 'hidden', 1);\r\n            }\r\n            \r\n            // Обновить отображение формы\r\n            frm.refresh_fields();\r\n            \r\n        }\r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-08-06 18:03:05.198577",
  "module": "Taxes Az",
  "name": "DefaultProperty tax return Emlak vergi hesablamasi 1ci cedvel 1 Read only",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload_post_render: function(frm) {\r\n        setTimeout(function() {\r\n            const grid = frm.fields_dict['vergi_hesab_1ci_1'].grid;\r\n\r\n            if (grid && grid.grid_rows.length > 0) {\r\n                // Cədvəldəki hər bir sətir üzərində işləyirik\r\n                grid.grid_rows.forEach(function(row, idx) {\r\n                    if (row.docfields) {\r\n                        // Sətir şərtləri\r\n                        if (idx === 0) { // Sətir 1 (indeks 0)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla') {\r\n                                    field.read_only = 1; // Sahəni yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 1) { // Sətir 2 (indeks 1)\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        } else if (idx === 3) { // Sətir 4 (indeks 2) 2 +1 = 3, 3 sətir\r\n                            row.docfields.forEach(function(field) {\r\n                                if (field.fieldname === 'manatla' || field.fieldname === 'hesablanmışvergininməbləğimanatla' || field.fieldname === 'əməliyyatlarınməbləğimanatla') {\r\n                                    field.read_only = 1; // Sahələri yalnız oxumağa çeviririk\r\n                                }\r\n                            });\r\n                        }\r\n                    }\r\n                });\r\n            }\r\n        }, 2000); // 2 saniyəlik gözləmə\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Road tax 2",
  "enabled": 1,
  "modified": "2025-08-19 18:54:41.136903",
  "module": "Taxes Az",
  "name": "RoadTax2Rename",
  "script": "frappe.ui.form.on('Road tax 2', {\r\n    refresh: function(frm) {\r\n        const fieldname = 'istehsal';\r\n        const new_label = '104. İstehsal edilərək daxili istehlaka yönəldilən (topdan satılan) və idxal olunan yanacaq məhsulları üzrə cəmi hesablanmış icbari tibbi sığorta haqqı';\r\n        \r\n        if (frm.fields_dict[fieldname]) {\r\n            frm.fields_dict[fieldname].df.label = new_label;\r\n            frm.fields_dict[fieldname].refresh();\r\n        }\r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Declaration of withholding tax on winnings",
  "enabled": 1,
  "modified": "2025-09-02 14:49:10.312375",
  "module": "Taxes Az",
  "name": "DefaultDeclarationOfWithholdingTaxOnWinnings",
  "script": "frappe.ui.form.on('Declaration of withholding tax on winnings', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.verginin_hesablanmsı) {\r\n            frm.set_value('verginin_hesablanmsı', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '1620 İdman oyunları ilə əlaqədar aparılan mərc oyunlarından uduşlardan (mükafatlardan) əldə edilmiş gəlirlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1621 Lotereyaların keçirilməsindən, habelə digər yarışlardan və müsabiqələrdən pul şəkilində uduşlardan(mükafatlardan) əldə edilmiş gəlirlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1621.1 O cümlədən qeyri-rezident şəxslər tərəfindən ödənilən gəlirlər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1622 İdman oyunları ilə əlaqədar aparılan mərc oyunlarından, lotereyaların keçirilməsindən, habelə digər yarışlardan və müsabiqələrdən pul şəkilində uduşlardan (mükafatlardan) əldə edilmiş gəlirlər üzrə cəmi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1623 Lotereya təşkilatçısı tərəfindən keçirilən lotereyalardan və idman mərc oyunları operatoru tərəfindən keçirilən idman mərc oyunlarından pul şəklində əldə edilən uduşların vergidən azadolunan hissəsi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '1625 Ödənilməli vergi məbləği:', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('verginin_hesablanmsı', row);\r\n        });\r\n\r\n        frm.refresh_field('verginin_hesablanmsı'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Land tax declaration",
  "enabled": 1,
  "modified": "2025-10-23 12:46:31.278054",
  "module": "Taxes Az",
  "name": "Land tax declaration 2",
  "script": "frappe.ui.form.on('Land tax declaration', {\r\n    refresh: function(frm) {\r\n\r\n        // Старое название поля (метка) и новое название\r\n        const old_label = \"600.2 Təyinatı\";\r\n        const new_label = \"600.2 Təyinatı üzrə istifadə edilən və ya irreqasiya, meliorasiya və digər aqrotexniki səbəblərdən təyinatı üzrə istifadə edilməsi mümkün olmayan kənd təsərrüfatı torpaq sahələri üzrə cəmi (hektarla)\";\r\n        // Поиск элементов в DOM, содержащих старое название\r\n        let labels = document.querySelectorAll(\"label, .control-label, .data-label, .section-head\");\r\n        let field_found = false;\r\n\r\n        labels.forEach(label => {\r\n            if (label.textContent.trim() === old_label) {\r\n                label.textContent = new_label; // Изменяем текст метки\r\n                field_found = true;\r\n            }\r\n        });\r\n\r\n        if (!field_found) {\r\n        }\r\n    }\r\n});\r\n",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Property tax return",
  "enabled": 1,
  "modified": "2025-12-29 18:55:06.068187",
  "module": "Taxes Az",
  "name": "DefaultPropertTaxReturn",
  "script": "frappe.ui.form.on('Property tax return', {\r\n    onload: function(frm) {\r\n        if (!frm.doc.__islocal) return; \r\n\r\n        if (!frm.doc.vergi_hesab_4cu_1 ) {\r\n            frm.set_value('vergi_hesab_4cu_1', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '507 Müəssisə yarandığı aydan sonra ilin sonuna qədər olan ayların sayı'},\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('vergi_hesab_4cu_1', row);\r\n        });\r\n\r\n        frm.refresh_field('vergi_hesab_4cu_1'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "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});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "enabled": 1,
  "modified": "2026-04-16 23:17:59.468106",
  "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: '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        ];\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});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "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});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "enabled": 1,
  "modified": "2026-05-05 13:47:52.918455",
  "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.bölmə_3) {\r\n            frm.set_value('bölmə_3', []); \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        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('bölmə_3', row);\r\n        });\r\n\r\n        frm.refresh_field('bölmə_3'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "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});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "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});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "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});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "enabled": 1,
  "modified": "2026-05-15 14:51:19.407257",
  "module": "Taxes Az",
  "name": "Single Declaration-Bolme5 - 1ci",
  "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.bölmə5_1ci) {\r\n            frm.set_value('bölmə5_1ci', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '915  Cəmi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '915.1  Mülki hüquqi xarekterli müqavilələrlə işləyənlər', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '915.2  Vəkillər kollegiyasının üzvləri və sərbəst mediatorlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '915.2.1  Vəkillər kollegiyasının üzvləri', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '915.2.4  Sərbəst mediatorlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '915.3  Müəlliflik qonararı əldə edənlər', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('bölmə5_1ci', row);\r\n        });\r\n\r\n        frm.refresh_field('bölmə5_1ci'); \r\n    }\r\n});",
  "view": "Form"
 },
 {
  "docstatus": 0,
  "doctype": "Client Script",
  "dt": "Single declaration related to salaried and non-salaried work",
  "enabled": 1,
  "modified": "2026-05-15 14:55:07.362771",
  "module": "Taxes Az",
  "name": "Single Declaration-Bolme5 - 2ci",
  "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.bölmə5_2ci) {\r\n            frm.set_value('bölmə5_2ci', []); \r\n        }\r\n\r\n        const default_rows = [\r\n            { göstəricilər: '916  Cəmi', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '916.1  Vergi ödəyicisi kimi vergi uçotuna alınmış fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '916.1.3  Vəkillər kollegiyasının üzvləri və sərbəst mediatorlar', SahəAdı2: 'Məlumat' },\r\n            { göstəricilər: '916.2  Mülki-hüquqi müqavilələr əsasında işləri (xidmətləri) yerinə yetirən fiziki şəxslər üzrə', SahəAdı2: 'Məlumat' },\r\n        ];\r\n\r\n        default_rows.forEach(row => {\r\n            frm.add_child('bölmə5_2ci', row);\r\n        });\r\n\r\n        frm.refresh_field('bölmə5_2ci'); \r\n    }\r\n});",
  "view": "Form"
 }
]