formula for 509.1

This commit is contained in:
Ali 2026-01-06 16:55:43 +04:00
parent fba57cf548
commit 93d09a7bcf
1 changed files with 78 additions and 9 deletions

View File

@ -51,7 +51,8 @@ frappe.ui.form.on('Property tax return', {
// Validate minimum asset values // Validate minimum asset values
validate_minimum_asset_value(frm); 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); 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)) { if (frm.doc.il && (frm.doc.tam_il || frm.doc.il_erzinde)) {
reload_property_tax_data(frm); reload_property_tax_data(frm);
} }
calculate_509_1(frm);
calculate_509_2(frm); calculate_509_2(frm);
}, },
@ -75,7 +77,8 @@ frappe.ui.form.on('Property tax return', {
// Clear warnings when switching to tam_il // Clear warnings when switching to tam_il
validate_minimum_asset_value(frm); validate_minimum_asset_value(frm);
// Calculate 509.2 // Calculate 509.1 and 509.2
calculate_509_1(frm);
calculate_509_2(frm); calculate_509_2(frm);
if (frm.doc.il) { if (frm.doc.il) {
@ -98,7 +101,8 @@ frappe.ui.form.on('Property tax return', {
// Validate when checking il_erzinde // Validate when checking il_erzinde
validate_minimum_asset_value(frm); validate_minimum_asset_value(frm);
// Calculate 509.2 // Calculate 509.1 and 509.2
calculate_509_1(frm);
calculate_509_2(frm); calculate_509_2(frm);
if (frm.doc.il) { if (frm.doc.il) {
@ -110,6 +114,7 @@ frappe.ui.form.on('Property tax return', {
} else { } else {
// Clear warnings when unchecking il_erzinde // Clear warnings when unchecking il_erzinde
validate_minimum_asset_value(frm); validate_minimum_asset_value(frm);
calculate_509_1(frm);
calculate_509_2(frm); calculate_509_2(frm);
} }
}, },
@ -438,7 +443,8 @@ function reload_property_tax_data(frm) {
frm.refresh_fields(); 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); calculate_509_2(frm);
frappe.show_alert({ frappe.show_alert({
@ -751,7 +757,54 @@ function highlight_invalid_cells(frm, invalid_rows_1, invalid_rows_2) {
// ==================== END VALIDATION ==================== // ==================== 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% // Calculate field 509.2 based on formula: ((503.1 + 504.1) / 24 * 507) * 1%
function calculate_509_2(frm) { function calculate_509_2(frm) {
@ -794,6 +847,14 @@ function calculate_509_2(frm) {
frappe.model.set_value(row.doctype, row.name, 'manatla', result); 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 ==================== // ==================== 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', { frappe.ui.form.on('Property tax return Emlak vergi hesablamasi 4cu cedvel 1', {
ayla: function(frm, cdt, cdn) { ayla: function(frm, cdt, cdn) {
calculate_509_2(frm); 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', { frappe.ui.form.on('Property tax return Emlak vergi hesablamasi 1ci cedvel 1', {
manatla: function(frm, cdt, cdn) { manatla: function(frm, cdt, cdn) {
calculate_509_2(frm); 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', { frappe.ui.form.on('Property tax return Emlak vergi hesablamasi 2ci cedvel', {
manatla: function(frm, cdt, cdn) { manatla: function(frm, cdt, cdn) {
calculate_509_1(frm);
calculate_509_2(frm); calculate_509_2(frm);
} }
}); });