diff --git a/taxes_az/taxes_az/doctype/property_tax_return/property_tax_return.js b/taxes_az/taxes_az/doctype/property_tax_return/property_tax_return.js index 1668cc5..220d08f 100644 --- a/taxes_az/taxes_az/doctype/property_tax_return/property_tax_return.js +++ b/taxes_az/taxes_az/doctype/property_tax_return/property_tax_return.js @@ -51,7 +51,8 @@ frappe.ui.form.on('Property tax return', { // Validate minimum asset values validate_minimum_asset_value(frm); - // Calculate 509.2 on load + // Calculate 509.1 and 509.2 on load + calculate_509_1(frm); calculate_509_2(frm); }, @@ -60,6 +61,7 @@ frappe.ui.form.on('Property tax return', { if (frm.doc.il && (frm.doc.tam_il || frm.doc.il_erzinde)) { reload_property_tax_data(frm); } + calculate_509_1(frm); calculate_509_2(frm); }, @@ -75,7 +77,8 @@ frappe.ui.form.on('Property tax return', { // Clear warnings when switching to tam_il validate_minimum_asset_value(frm); - // Calculate 509.2 + // Calculate 509.1 and 509.2 + calculate_509_1(frm); calculate_509_2(frm); if (frm.doc.il) { @@ -98,7 +101,8 @@ frappe.ui.form.on('Property tax return', { // Validate when checking il_erzinde validate_minimum_asset_value(frm); - // Calculate 509.2 + // Calculate 509.1 and 509.2 + calculate_509_1(frm); calculate_509_2(frm); if (frm.doc.il) { @@ -110,6 +114,7 @@ frappe.ui.form.on('Property tax return', { } else { // Clear warnings when unchecking il_erzinde validate_minimum_asset_value(frm); + calculate_509_1(frm); calculate_509_2(frm); } }, @@ -438,7 +443,8 @@ function reload_property_tax_data(frm) { frm.refresh_fields(); - // Calculate 509.2 after data reload + // Calculate 509.1 and 509.2 after data reload + calculate_509_1(frm); calculate_509_2(frm); frappe.show_alert({ @@ -751,7 +757,54 @@ function highlight_invalid_cells(frm, invalid_rows_1, invalid_rows_2) { // ==================== END VALIDATION ==================== -// ==================== FORMULA 509.2 CALCULATION ==================== +// ==================== FORMULA 509.1 CALCULATION (TAM İL) ==================== +// Calculate field 509.1 based on formula: ((501 + 504) / 2) * 1% + +function calculate_509_1(frm) { + // Only calculate when tam_il is checked + if (!frm.doc.tam_il) { + return; + } + + // Get value from field 501 (manatla from vergi_hesab_1ci) + let value_501 = 0; + (frm.doc.vergi_hesab_1ci || []).forEach(row => { + // Точное совпадение: после "501" должна быть точка с пробелом + if (row.göstəricilər && row.göstəricilər.startsWith('501. ')) { + value_501 = flt(row.manatla); + } + }); + + // Get value from field 504 (manatla from vergi_hesab_2ci) + let value_504 = 0; + (frm.doc.vergi_hesab_2ci || []).forEach(row => { + // Точное совпадение: после "504" должна быть точка с пробелом + if (row.göstəricilər && row.göstəricilər.startsWith('504. ')) { + value_504 = flt(row.manatla); + } + }); + + // Calculate: ((501 + 504) / 2) * 1% + let result = ((value_501 + value_504) / 2) * 0.01; + + // Set value to field 509.1 (manatla in vergi_hesab_5ci) + (frm.doc.vergi_hesab_5ci || []).forEach(row => { + // Точное совпадение: после "509.1" должен быть пробел + if (row.göstəricilər && row.göstəricilər.startsWith('509.1 ')) { + frappe.model.set_value(row.doctype, row.name, 'manatla', result); + } + }); + + // Set the same value to field 511.1 (manatla in vergi_hesab_6ci) + (frm.doc.vergi_hesab_6ci || []).forEach(row => { + // Точное совпадение: после "511.1" должен быть пробел + if (row.göstəricilər && row.göstəricilər.startsWith('511.1 ')) { + frappe.model.set_value(row.doctype, row.name, 'manatla', result); + } + }); +} + +// ==================== FORMULA 509.2 CALCULATION (İL ƏRZİNDƏ) ==================== // Calculate field 509.2 based on formula: ((503.1 + 504.1) / 24 * 507) * 1% function calculate_509_2(frm) { @@ -794,6 +847,14 @@ function calculate_509_2(frm) { frappe.model.set_value(row.doctype, row.name, 'manatla', result); } }); + + // Set the same value to field 511.2 (manatla in vergi_hesab_6ci) + (frm.doc.vergi_hesab_6ci || []).forEach(row => { + // Точное совпадение: после "511.2" должен быть пробел + if (row.göstəricilər && row.göstəricilər.startsWith('511.2 ')) { + frappe.model.set_value(row.doctype, row.name, 'manatla', result); + } + }); } // ==================== END FORMULA 509.2 ==================== @@ -866,25 +927,33 @@ frappe.ui.form.on('Property tax return Elave 1', { } }); -// ==================== CHILD TABLE EVENT HANDLERS FOR 509.2 FORMULA ==================== +// ==================== CHILD TABLE EVENT HANDLERS FOR 509.1 & 509.2 FORMULAS ==================== -// Event handler for vergi_hesab_4cu_1 changes (field 507) +// Event handler for vergi_hesab_1ci changes (field 501 for 509.1 formula) +frappe.ui.form.on('Property tax return Emlak vergi hesablamasi 1ci cedvel', { + manatla: function(frm, cdt, cdn) { + calculate_509_1(frm); + } +}); + +// Event handler for vergi_hesab_4cu_1 changes (field 507 for 509.2 formula) frappe.ui.form.on('Property tax return Emlak vergi hesablamasi 4cu cedvel 1', { ayla: function(frm, cdt, cdn) { calculate_509_2(frm); } }); -// Event handler for vergi_hesab_1ci_1 changes (field 503.1) +// Event handler for vergi_hesab_1ci_1 changes (field 503.1 for 509.2 formula) frappe.ui.form.on('Property tax return Emlak vergi hesablamasi 1ci cedvel 1', { manatla: function(frm, cdt, cdn) { calculate_509_2(frm); } }); -// Event handler for vergi_hesab_2ci changes (field 504.1) +// Event handler for vergi_hesab_2ci changes (fields 504 for 509.1 and 504.1 for 509.2) frappe.ui.form.on('Property tax return Emlak vergi hesablamasi 2ci cedvel', { manatla: function(frm, cdt, cdn) { + calculate_509_1(frm); calculate_509_2(frm); } }); \ No newline at end of file