diff --git a/taxes_az/fixtures/client_script.json b/taxes_az/fixtures/client_script.json index 165f988..739a02f 100644 --- a/taxes_az/fixtures/client_script.json +++ b/taxes_az/fixtures/client_script.json @@ -1,15 +1,4 @@ [ - { - "docstatus": 0, - "doctype": "Client Script", - "dt": "Single declaration related to salaried and non-salaried work", - "enabled": 1, - "modified": "2026-05-18 23:46:54.243487", - "module": "Taxes Az", - "name": "Formula_Editor_Script_for_Single declaration related to salaried and non-salaried work", - "script": "// Generated by Formula Editor\nfrappe.ui.form.on(\"Single declaration related to salaried and non-salaried work\", {\n \"refresh\": async function(frm) {\n initialize_table_row_formulas(frm);\n },\n \"il\": async function(frm) {\n \n // Формула строки 2 в таблице bolme2_hisse2 (порядок: 1)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(Əmək haqqı - 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse2 (порядок: 2)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(Əmək haqqı - 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse2 (порядок: 3)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(Əmək haqqı - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse2 (порядок: 4)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"rübüzrəcəmi\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse2 (порядок: 5)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse2 (порядок: 6)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse2 (порядок: 7)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse2 (порядок: 8)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"rübüzrəcəmi\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse3 (порядок: 9)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(Gəlir-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse3 (порядок: 10)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(MDSS-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme2_hisse3 (порядок: 11)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse3 (порядок: 12)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse3 (порядок: 13)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(Gəlir-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse3 (порядок: 14)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(MDSS-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme2_hisse3 (порядок: 15)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse3 (порядок: 16)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse3 (порядок: 17)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(Gəlir-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse3 (порядок: 18)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(MDSS-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme2_hisse3 (порядок: 19)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse3 (порядок: 20)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse3 (порядок: 21)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(Gəlir-azadolma-1ci ay) + report(Gəlir-azadolma-2ci ay) + report(Gəlir-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"rübüzrəortasay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse3 (порядок: 22)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(MDSS-azadolma-1ci ay) + report(MDSS-azadolma-2ci ay) + report(MDSS-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"rübüzrəortasay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme2_hisse3 (порядок: 23)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik-azadolma-1ci ay) + report(İşsizlik-azadolma-2ci ay) + report(İşsizlik-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"rübüzrəortasay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse3 (порядок: 24)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS-azadolma-1ci ay) + report(İTS-azadolma-2ci ay) + report(İTS-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"rübüzrəortasay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse2 (порядок: 25)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(Məz Komp - 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse2 (порядок: 26)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(Məz Komp - 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse2 (порядок: 27)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(Məz Komp - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse2 (порядок: 28)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(Məz Komp - 1ci ay) + report(Məz Komp - 2ci ay) + report(Məz Komp - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"rübüzrəcəmi\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse1 (порядок: 29)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse1 (порядок: 30)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse1 (порядок: 31)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse1 (порядок: 32)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse1 (порядок: 33)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(Məz Komp - 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse1 (порядок: 34)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse1 (порядок: 35)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 5 в таблице bolme4_hisse1 (порядок: 36)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 5) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 4;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 5 в таблице bolme4_hisse1 (порядок: 37)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 5) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 4;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 5 в таблице bolme4_hisse1 (порядок: 38)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 5) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 4;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse1 (порядок: 39)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 5 в таблице bolme4_hisse1 (порядок: 40)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 5) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 4;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 6 в таблице bolme4_hisse1 (порядок: 41)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 6) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 5;\n const formula = \"report(DSMF şirkət MK - 1ci)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 6 в таблице bolme4_hisse1 (порядок: 42)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 6) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 5;\n const formula = \"report(DSMF şirkət MK - 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 6 в таблице bolme4_hisse1 (порядок: 43)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 6) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 5;\n const formula = \"report(DSMF şirkət MK - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 6 в таблице bolme4_hisse1 (порядок: 44)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 6) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 5;\n const formula = \"report(DSMF şirkət MK - 1ci) + report(DSMF şirkət MK - 2ci ay) + report(DSMF şirkət MK - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 8 в таблице bolme4_hisse1 (порядок: 45)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 8) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 7;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 8 в таблице bolme4_hisse1 (порядок: 46)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 8) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 7;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 8 в таблице bolme4_hisse1 (порядок: 47)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 8) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 7;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 8 в таблице bolme4_hisse1 (порядок: 48)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 8) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 7;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 9 в таблице bolme4_hisse1 (порядок: 49)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 9) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 8;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 9 в таблице bolme4_hisse1 (порядок: 50)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 9) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 8;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 9 в таблице bolme4_hisse1 (порядок: 51)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 9) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 8;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 9 в таблице bolme4_hisse1 (порядок: 52)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 9) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 8;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 10 в таблице bolme4_hisse1 (порядок: 53)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 10) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 9;\n const formula = \"report(DSMf işçi MK - 1ci y)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 10 в таблице bolme4_hisse1 (порядок: 54)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 10) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 9;\n const formula = \"report(DSMF işçi MK - 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 10 в таблице bolme4_hisse1 (порядок: 55)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 10) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 9;\n const formula = \"report(DSMF işçi MK - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 10 в таблице bolme4_hisse1 (порядок: 56)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 10) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 9;\n const formula = \"report(DSMf işçi MK - 1ci y) + report(DSMF işçi MK - 2ci ay) + report(DSMF işçi MK - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse1 (порядок: 57)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse1 (порядок: 58)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 2ci ay)+ report(DSMF - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse1 (порядок: 59)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 3cü ay)+ report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse1 (порядок: 60)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay)+ report(DSMF - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse1 (порядок: 61)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse1 (порядок: 62)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 3cü ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse1 (порядок: 63)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 1ci ay) + report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay) + report(DSMF - şirkət ƏH-Azadolma 3cü ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse1 (порядок: 64)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 1ci ay) + report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay) + report(DSMF - şirkət ƏH-Azadolma 3cü ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse2 (порядок: 65)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse2 (порядок: 66)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse2 (порядок: 67)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse2 (порядок: 68)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse2 (порядок: 69)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse2 (порядок: 70)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse2 (порядок: 71)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse2 (порядок: 72)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 1ci ay) + report(İşsizlik - şirkət ƏH-Azadolma 2ci ay) + report(İşsizlik - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse2 (порядок: 73)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İşsizlik - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse2 (порядок: 74)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İşsizlik - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse2 (порядок: 75)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İşsizlik - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse2 (порядок: 76)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İşsizlik - işçi ƏH-Azadolma 1ci ay) + report(İşsizlik - işçi ƏH-Azadolma 2ci ay) + report(İşsizlik - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse2 (порядок: 77)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 1ci ay) + report(İşsizlik - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse2 (порядок: 78)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 2ci ay) + report(İşsizlik - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse2 (порядок: 79)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 3cü ay) + report(İşsizlik - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse2 (порядок: 80)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 1ci ay) + report(İşsizlik - işçi ƏH-Azadolma 1ci ay) + report(İşsizlik - şirkət ƏH-Azadolma 2ci ay) + report(İşsizlik - işçi ƏH-Azadolma 2ci ay) + report(İşsizlik - şirkət ƏH-Azadolma 3cü ay) + report(İşsizlik - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse3 (порядок: 81)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse3 (порядок: 82)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse3 (порядок: 83)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse3 (порядок: 84)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse3 (порядок: 85)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse3 (порядок: 86)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse3 (порядок: 87)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse3 (порядок: 88)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse3 (порядок: 89)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse3 (порядок: 90)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse3 (порядок: 91)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS - işçi ƏH-Azadolma 1ci ay) + report(İTS - işçi ƏH-Azadolma 2ci ay) + report(İTS - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse3 (порядок: 92)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 1ci ay) + report(İTS - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"1ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse3 (порядок: 92)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 1ci ay) + report(İTS - şirkət ƏH-Azadolma 2ci ay) + report(İTS - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse3 (порядок: 93)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 2ci ay) + report(İTS - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"2ciay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bölmə_3 (порядок: 93)\n if (frm.doc.bölmə_3 && frm.doc.bölmə_3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) - report(Gəlir-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bölmə_3\", rowIndex, \"vergiyəcəlbediləngəlirinməbləği\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse3 (порядок: 94)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 3cü ay) + report(İTS - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"3cüay\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bölmə_3 (порядок: 94)\n if (frm.doc.bölmə_3 && frm.doc.bölmə_3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay) - report(Gəlir-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bölmə_3\", rowIndex, \"vergiyəcəlbediləngəlirinməbləği2\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse3 (порядок: 95)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İTS şirkət - 1ci ay) + report(İTS İşçi - 1ci ay) + report(İTS şirkət - 2ci ay ) + report(İTS İşçi - 2ci ay) + report(İTS şirkət - 3cü ay) + report(İTS İşçi - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"rüb\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bölmə_3 (порядок: 95)\n if (frm.doc.bölmə_3 && frm.doc.bölmə_3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay) - report(Gəlir-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bölmə_3\", rowIndex, \"vergiyəcəlbediləngəlirinməbləği3\", formula, \"il\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bölmə_3 (порядок: 96)\n if (frm.doc.bölmə_3 && frm.doc.bölmə_3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"( report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay) ) - ( report(Gəlir-azadolma-1ci ay) + report(Gəlir-azadolma-2ci ay) + report(Gəlir-azadolma-3cü ay) )\";\n \n await calculate_table_row_field(frm, \"bölmə_3\", rowIndex, \"vergiyəcəlbediləngəlirinməbləği4\", formula, \"il\");\n } catch (error) {\n }\n }\n },\n \"rüb\": async function(frm) {\n \n // Формула строки 2 в таблице bolme2_hisse2 (порядок: 1)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(Əmək haqqı - 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse2 (порядок: 2)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(Əmək haqqı - 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse2 (порядок: 3)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(Əmək haqqı - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse2 (порядок: 4)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"rübüzrəcəmi\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse2 (порядок: 5)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse2 (порядок: 6)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse2 (порядок: 7)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse2 (порядок: 8)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"rübüzrəcəmi\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse3 (порядок: 9)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(Gəlir-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse3 (порядок: 10)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(MDSS-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme2_hisse3 (порядок: 11)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse3 (порядок: 12)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse3 (порядок: 13)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(Gəlir-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse3 (порядок: 14)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(MDSS-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme2_hisse3 (порядок: 15)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse3 (порядок: 16)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse3 (порядок: 17)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(Gəlir-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse3 (порядок: 18)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(MDSS-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme2_hisse3 (порядок: 19)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse3 (порядок: 20)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme2_hisse3 (порядок: 21)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(Gəlir-azadolma-1ci ay) + report(Gəlir-azadolma-2ci ay) + report(Gəlir-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"rübüzrəortasay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme2_hisse3 (порядок: 22)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(MDSS-azadolma-1ci ay) + report(MDSS-azadolma-2ci ay) + report(MDSS-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"rübüzrəortasay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme2_hisse3 (порядок: 23)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik-azadolma-1ci ay) + report(İşsizlik-azadolma-2ci ay) + report(İşsizlik-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"rübüzrəortasay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse3 (порядок: 24)\n if (frm.doc.bolme2_hisse3 && frm.doc.bolme2_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS-azadolma-1ci ay) + report(İTS-azadolma-2ci ay) + report(İTS-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse3\", rowIndex, \"rübüzrəortasay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse2 (порядок: 25)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(Məz Komp - 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse2 (порядок: 26)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(Məz Komp - 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse2 (порядок: 27)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(Məz Komp - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme2_hisse2 (порядок: 28)\n if (frm.doc.bolme2_hisse2 && frm.doc.bolme2_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(Məz Komp - 1ci ay) + report(Məz Komp - 2ci ay) + report(Məz Komp - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme2_hisse2\", rowIndex, \"rübüzrəcəmi\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse1 (порядок: 29)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse1 (порядок: 30)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse1 (порядок: 31)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse1 (порядок: 32)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse1 (порядок: 33)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(Məz Komp - 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse1 (порядок: 34)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse1 (порядок: 35)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 5 в таблице bolme4_hisse1 (порядок: 36)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 5) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 4;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 5 в таблице bolme4_hisse1 (порядок: 37)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 5) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 4;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 5 в таблице bolme4_hisse1 (порядок: 38)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 5) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 4;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse1 (порядок: 39)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 5 в таблице bolme4_hisse1 (порядок: 40)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 5) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 4;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 6 в таблице bolme4_hisse1 (порядок: 41)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 6) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 5;\n const formula = \"report(DSMF şirkət MK - 1ci)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 6 в таблице bolme4_hisse1 (порядок: 42)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 6) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 5;\n const formula = \"report(DSMF şirkət MK - 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 6 в таблице bolme4_hisse1 (порядок: 43)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 6) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 5;\n const formula = \"report(DSMF şirkət MK - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 6 в таблице bolme4_hisse1 (порядок: 44)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 6) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 5;\n const formula = \"report(DSMF şirkət MK - 1ci) + report(DSMF şirkət MK - 2ci ay) + report(DSMF şirkət MK - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 8 в таблице bolme4_hisse1 (порядок: 45)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 8) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 7;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 8 в таблице bolme4_hisse1 (порядок: 46)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 8) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 7;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 8 в таблице bolme4_hisse1 (порядок: 47)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 8) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 7;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 8 в таблице bolme4_hisse1 (порядок: 48)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 8) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 7;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 9 в таблице bolme4_hisse1 (порядок: 49)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 9) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 8;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 9 в таблице bolme4_hisse1 (порядок: 50)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 9) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 8;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 9 в таблице bolme4_hisse1 (порядок: 51)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 9) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 8;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 9 в таблице bolme4_hisse1 (порядок: 52)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 9) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 8;\n const formula = \"report(DSMF - işçi ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 10 в таблице bolme4_hisse1 (порядок: 53)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 10) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 9;\n const formula = \"report(DSMf işçi MK - 1ci y)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 10 в таблице bolme4_hisse1 (порядок: 54)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 10) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 9;\n const formula = \"report(DSMF işçi MK - 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 10 в таблице bolme4_hisse1 (порядок: 55)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 10) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 9;\n const formula = \"report(DSMF işçi MK - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 10 в таблице bolme4_hisse1 (порядок: 56)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 10) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 9;\n const formula = \"report(DSMf işçi MK - 1ci y) + report(DSMF işçi MK - 2ci ay) + report(DSMF işçi MK - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse1 (порядок: 57)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse1 (порядок: 58)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 2ci ay)+ report(DSMF - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse1 (порядок: 59)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 3cü ay)+ report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse1 (порядок: 60)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay)+ report(DSMF - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse1 (порядок: 61)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse1 (порядок: 62)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 3cü ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse1 (порядок: 63)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 1ci ay) + report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay) + report(DSMF - şirkət ƏH-Azadolma 3cü ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse1 (порядок: 64)\n if (frm.doc.bolme4_hisse1 && frm.doc.bolme4_hisse1.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(DSMF - şirkət ƏH-Azadolma 1ci ay) + report(DSMF - işçi ƏH-Azadolma 1ci ay) + report(DSMF - şirkət ƏH-Azadolma 2ci ay) + report(DSMF - işçi ƏH-Azadolma 2ci ay) + report(DSMF - şirkət ƏH-Azadolma 3cü ay) + report(DSMF - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse1\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse2 (порядок: 65)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse2 (порядок: 66)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse2 (порядок: 67)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse2 (порядок: 68)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse2 (порядок: 69)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse2 (порядок: 70)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse2 (порядок: 71)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse2 (порядок: 72)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 1ci ay) + report(İşsizlik - şirkət ƏH-Azadolma 2ci ay) + report(İşsizlik - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse2 (порядок: 73)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İşsizlik - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse2 (порядок: 74)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İşsizlik - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse2 (порядок: 75)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İşsizlik - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse2 (порядок: 76)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İşsizlik - işçi ƏH-Azadolma 1ci ay) + report(İşsizlik - işçi ƏH-Azadolma 2ci ay) + report(İşsizlik - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse2 (порядок: 77)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 1ci ay) + report(İşsizlik - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse2 (порядок: 78)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 2ci ay) + report(İşsizlik - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse2 (порядок: 79)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 3cü ay) + report(İşsizlik - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse2 (порядок: 80)\n if (frm.doc.bolme4_hisse2 && frm.doc.bolme4_hisse2.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İşsizlik - şirkət ƏH-Azadolma 1ci ay) + report(İşsizlik - işçi ƏH-Azadolma 1ci ay) + report(İşsizlik - şirkət ƏH-Azadolma 2ci ay) + report(İşsizlik - işçi ƏH-Azadolma 2ci ay) + report(İşsizlik - şirkət ƏH-Azadolma 3cü ay) + report(İşsizlik - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse2\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse3 (порядок: 81)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse3 (порядок: 82)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse3 (порядок: 83)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bolme4_hisse3 (порядок: 84)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse3 (порядок: 85)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse3 (порядок: 86)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse3 (порядок: 87)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse3 (порядок: 88)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse3 (порядок: 89)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse3 (порядок: 90)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 4 в таблице bolme4_hisse3 (порядок: 91)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 4) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 3;\n const formula = \"report(İTS - işçi ƏH-Azadolma 1ci ay) + report(İTS - işçi ƏH-Azadolma 2ci ay) + report(İTS - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse3 (порядок: 92)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 1ci ay) + report(İTS - işçi ƏH-Azadolma 1ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"1ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 3 в таблице bolme4_hisse3 (порядок: 92)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 3) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 2;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 1ci ay) + report(İTS - şirkət ƏH-Azadolma 2ci ay) + report(İTS - şirkət ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse3 (порядок: 93)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 2ci ay) + report(İTS - işçi ƏH-Azadolma 2ci ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"2ciay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bölmə_3 (порядок: 93)\n if (frm.doc.bölmə_3 && frm.doc.bölmə_3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 1-ci ay) - report(Gəlir-azadolma-1ci ay)\";\n \n await calculate_table_row_field(frm, \"bölmə_3\", rowIndex, \"vergiyəcəlbediləngəlirinməbləği\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse3 (порядок: 94)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İTS - şirkət ƏH-Azadolma 3cü ay) + report(İTS - işçi ƏH-Azadolma 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"3cüay\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bölmə_3 (порядок: 94)\n if (frm.doc.bölmə_3 && frm.doc.bölmə_3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 2-ci ay) - report(Gəlir-azadolma-2ci ay)\";\n \n await calculate_table_row_field(frm, \"bölmə_3\", rowIndex, \"vergiyəcəlbediləngəlirinməbləği2\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 2 в таблице bolme4_hisse3 (порядок: 95)\n if (frm.doc.bolme4_hisse3 && frm.doc.bolme4_hisse3.length >= 2) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 1;\n const formula = \"report(İTS şirkət - 1ci ay) + report(İTS İşçi - 1ci ay) + report(İTS şirkət - 2ci ay ) + report(İTS İşçi - 2ci ay) + report(İTS şirkət - 3cü ay) + report(İTS İşçi - 3cü ay)\";\n \n await calculate_table_row_field(frm, \"bolme4_hisse3\", rowIndex, \"rüb\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bölmə_3 (порядок: 95)\n if (frm.doc.bölmə_3 && frm.doc.bölmə_3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"report(gross pay 3-cü ay) - report(Gəlir-azadolma-3cü ay)\";\n \n await calculate_table_row_field(frm, \"bölmə_3\", rowIndex, \"vergiyəcəlbediləngəlirinməbləği3\", formula, \"rüb\");\n } catch (error) {\n }\n }\n \n // Формула строки 1 в таблице bölmə_3 (порядок: 96)\n if (frm.doc.bölmə_3 && frm.doc.bölmə_3.length >= 1) {\n try {\n // Индекс строки на 1 меньше номера строки\n const rowIndex = 0;\n const formula = \"( report(gross pay 1-ci ay) + report(gross pay 2-ci ay) + report(gross pay 3-cü ay) ) - ( report(Gəlir-azadolma-1ci ay) + report(Gəlir-azadolma-2ci ay) + report(Gəlir-azadolma-3cü ay) )\";\n \n await calculate_table_row_field(frm, \"bölmə_3\", rowIndex, \"vergiyəcəlbediləngəlirinməbləği4\", formula, \"rüb\");\n } catch (error) {\n }\n }\n },\n \"bolme2_hisse2_add\": function(frm) {\n // Обновляем индексы строк после добавления новой строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bolme2_hisse2_remove\": function(frm) {\n // Обновляем индексы строк после удаления строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bolme2_hisse3_add\": function(frm) {\n // Обновляем индексы строк после добавления новой строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bolme2_hisse3_remove\": function(frm) {\n // Обновляем индексы строк после удаления строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bolme4_hisse1_add\": function(frm) {\n // Обновляем индексы строк после добавления новой строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bolme4_hisse1_remove\": function(frm) {\n // Обновляем индексы строк после удаления строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bolme4_hisse2_add\": function(frm) {\n // Обновляем индексы строк после добавления новой строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bolme4_hisse2_remove\": function(frm) {\n // Обновляем индексы строк после удаления строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bolme4_hisse3_add\": function(frm) {\n // Обновляем индексы строк после добавления новой строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bolme4_hisse3_remove\": function(frm) {\n // Обновляем индексы строк после удаления строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bölmə_3_add\": function(frm) {\n // Обновляем индексы строк после добавления новой строки\n setTimeout(() => initialize_table_row_formulas(frm), 100);\n },\n \"bölmə_3_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 === \"gross pay 1-ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_gross_pay\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"gross pay 2-ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_gross_pay\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"gross pay 3-cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_gross_pay\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"Gəlir-azadolma-1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_custom_vergi_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"MDSS-azadolma-1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_custom_mdss_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik-azadolma-1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_custom_unemployment_insurance_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS-azadolma-1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_custom_medical_insurance_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"Gəlir-azadolma-2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_custom_vergi_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"MDSS-azadolma-2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_custom_mdss_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik-azadolma-2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_custom_unemployment_insurance_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS-azadolma-2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_custom_medical_insurance_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"Gəlir-azadolma-3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_custom_vergi_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"MDSS-azadolma-3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_custom_mdss_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik-azadolma-3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_custom_unemployment_insurance_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS-azadolma-3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_custom_medical_insurance_amount\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"Məz Komp - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_məzuniyyət_kompensasiyası\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"Məz Komp - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_məzuniyyət_kompensasiyası\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"Məz Komp - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_məzuniyyət_kompensasiyası\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"Əmək haqqı - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_əsas_əmək_haqqı\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"Əmək haqqı - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_əsas_əmək_haqqı\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"Əmək haqqı - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_əsas_əmək_haqqı\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF şirkət - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_dsmf_(şirkət)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF işçi - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_dsmf_(işçi)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF şirkət - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_dsmf_(şirkət)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF işçi - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_dsmf_(işçi)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF şirkət - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_dsmf_(şirkət)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF işçi - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_dsmf_(işçi)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik şirkət - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_i̇şsizlikdən_sığorta_haqqı_(şirkət_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik işçi - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_i̇şsizlikdən_sığorta_haqqı_(işçi_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik şirkət - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_i̇şsizlikdən_sığorta_haqqı_(şirkət_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik İşçi - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_i̇şsizlikdən_sığorta_haqqı_(işçi_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik şirkət - 3 cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_i̇şsizlikdən_sığorta_haqqı_(şirkət_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik İşçi - 3 cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_i̇şsizlikdən_sığorta_haqqı_(işçi_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS şirkət - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_i̇cbari_tibbi_sığorta_(şirkət_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS İşçi - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_i̇cbari_tibbi_sığorta_(işçi_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS şirkət - 2ci ay \") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_i̇cbari_tibbi_sığorta_(şirkət_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS İşçi - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_i̇cbari_tibbi_sığorta_(işçi_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS şirkət - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_i̇cbari_tibbi_sığorta_(şirkət_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS İşçi - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_i̇cbari_tibbi_sığorta_(işçi_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMf işçi MK - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_mk_dsmf_(işçi)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF şirkət MK - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_mk_dsmf_(şirkət)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF işçi MK - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_mk_dsmf_(işçi)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF şirkət MK - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_mk_dsmf_(şirkət)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF işçi MK - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_mk_dsmf_(işçi)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF şirkət MK - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_mk_dsmf_(şirkət)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS işçi MK - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_mk_i̇cbari_tibbi_sığorta_(işçi_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS şirkət MK - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_mk_i̇cbari_tibbi_sığorta_(şirkət_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS işçi MK - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_i̇cbari_tibbi_sığorta_(işçi_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS şirkət MK - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_mk_i̇cbari_tibbi_sığorta_(şirkət_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS işçi MK - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_mk_i̇cbari_tibbi_sığorta_(işçi_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS şirkət MK - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_mk_i̇cbari_tibbi_sığorta_(şirkət_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik işçi MK - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_mk_i̇şsizlikdən_sığorta_haqqı_(işçi_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"işsizlik şirkət MK - 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_mk_i̇şsizlikdən_sığorta_haqqı_(şirkət_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"işsizlik işçi MK - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_mk_i̇şsizlikdən_sığorta_haqqı_(işçi_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"işsizlik şirkət MK - 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_mk_i̇şsizlikdən_sığorta_haqqı_(şirkət_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"işsizlik işçi MK - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_mk_i̇şsizlikdən_sığorta_haqqı_(işçi_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"işsizlik şirkət MK - 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_mk_i̇şsizlikdən_sığorta_haqqı_(şirkət_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF - şirkət ƏH-Azadolma 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_cg_dsmf_(şirkət)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF - işçi ƏH-Azadolma 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_cg_dsmf_(işçi)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS - şirkət ƏH-Azadolma 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_cg_i̇cbari_tibbi_sığorta_(şirkət_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS - işçi ƏH-Azadolma 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_cg_i̇cbari_tibbi_sığorta_(işçi_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik - şirkət ƏH-Azadolma 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_cg_i̇şsizlikdən_sığorta_haqqı_(şirkət_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik - işçi ƏH-Azadolma 1ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_1_ded_cg_i̇şsizlikdən_sığorta_haqqı_(işçi_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF - şirkət ƏH-Azadolma 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_cg_dsmf_(şirkət)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF - işçi ƏH-Azadolma 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_cg_dsmf_(işçi)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS - şirkət ƏH-Azadolma 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_cg_i̇cbari_tibbi_sığorta_(şirkət_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS - işçi ƏH-Azadolma 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_cg_i̇cbari_tibbi_sığorta_(işçi_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik - şirkət ƏH-Azadolma 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_cg_i̇şsizlikdən_sığorta_haqqı_(şirkət_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik - işçi ƏH-Azadolma 2ci ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_2_ded_cg_i̇şsizlikdən_sığorta_haqqı_(işçi_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF - şirkət ƏH-Azadolma 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_cg_dsmf_(şirkət)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"DSMF - işçi ƏH-Azadolma 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_cg_dsmf_(işçi)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS - şirkət ƏH-Azadolma 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_cg_i̇cbari_tibbi_sığorta_(şirkət_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İTS - işçi ƏH-Azadolma 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_cg_i̇cbari_tibbi_sığorta_(işçi_2%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik - şirkət ƏH-Azadolma 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_cg_i̇şsizlikdən_sığorta_haqqı_(şirkət_0,5%)\",\n aggregation: \"sum\"\n });\n \n transformed = transformed.replace(fullMatch, placeholder);\n }\n if (reportName === \"İşsizlik - işçi ƏH-Azadolma 3cü ay\") {\n reportCalls.push({\n placeholder: placeholder,\n reportName: \"Employee Payroll Register\",\n filters: JSON.parse(\"{\\\"company\\\":\\\"$DefaultCompany\\\",\\\"from_date\\\":\\\"$AyIlSpecial\\\",\\\"to_date\\\":\\\"$AyIlSpecial\\\",\\\"fiscal_year\\\":\\\"$DefaultFiscalYear\\\"}\"),\n fieldName: \"ay_3_ded_cg_i̇şsizlikdən_sığorta_haqqı_(işçi_0,5%)\",\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 = [\"hissə_1\",\"hissə_1_2ci\",\"hissə_2\",\"hissə_3\",\"hissə_4\",\"vergi_\",\"mdss_\",\"issizlik\",\"its\",\"bolme2_hisse1\",\"bolme2_hisse2\",\"bolme2_hisse3\",\"bölmə_3\",\"bolme4_hisse1\",\"bolme4_hisse2\",\"bolme4_hisse3\",\"bölmə5_1ci\",\"bölmə5_2ci\"];\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",