test formula for 509.2

This commit is contained in:
Ali 2026-01-06 15:40:04 +04:00
parent 0233c72425
commit 51ea019b32
1 changed files with 81 additions and 0 deletions

View File

@ -50,6 +50,9 @@ 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_2(frm);
}, },
// Handle year changes // Handle year changes
@ -57,6 +60,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_2(frm);
}, },
// Checkbox handlers - ensure mutual exclusivity // Checkbox handlers - ensure mutual exclusivity
@ -71,6 +75,9 @@ 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_2(frm);
if (frm.doc.il) { if (frm.doc.il) {
reload_property_tax_data(frm); reload_property_tax_data(frm);
} }
@ -91,6 +98,9 @@ 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_2(frm);
if (frm.doc.il) { if (frm.doc.il) {
reload_property_tax_data(frm); reload_property_tax_data(frm);
} }
@ -100,6 +110,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_2(frm);
} }
}, },
@ -427,6 +438,9 @@ function reload_property_tax_data(frm) {
frm.refresh_fields(); frm.refresh_fields();
// Calculate 509.2 after data reload
calculate_509_2(frm);
frappe.show_alert({ frappe.show_alert({
message: __('Property tax data loaded successfully'), message: __('Property tax data loaded successfully'),
indicator: 'green' indicator: 'green'
@ -737,6 +751,50 @@ function highlight_invalid_cells(frm, invalid_rows_1, invalid_rows_2) {
// ==================== END VALIDATION ==================== // ==================== END VALIDATION ====================
// ==================== FORMULA 509.2 CALCULATION ====================
// Calculate field 509.2 based on formula: ((503.1 + 504.1) / 24 * 507) * 1%
function calculate_509_2(frm) {
// Only calculate when il_erzinde is checked
if (!frm.doc.il_erzinde) {
return;
}
// Get value from field 507 (ayla from vergi_hesab_4cu_1 first row)
let value_507 = 0;
if (frm.doc.vergi_hesab_4cu_1 && frm.doc.vergi_hesab_4cu_1.length > 0) {
value_507 = flt(frm.doc.vergi_hesab_4cu_1[0].ayla);
}
// Get value from field 503.1 (manatla from vergi_hesab_1ci_1)
let value_503_1 = 0;
(frm.doc.vergi_hesab_1ci_1 || []).forEach(row => {
if (row.göstəricilər && row.göstəricilər.startsWith('503.1')) {
value_503_1 = flt(row.manatla);
}
});
// Get value from field 504.1 (manatla from vergi_hesab_2ci)
let value_504_1 = 0;
(frm.doc.vergi_hesab_2ci || []).forEach(row => {
if (row.göstəricilər && row.göstəricilər.startsWith('504.1')) {
value_504_1 = flt(row.manatla);
}
});
// Calculate: ((503.1 + 504.1) / 24 * 507) * 1%
let result = ((value_503_1 + value_504_1) / 24 * value_507) * 0.01;
// Set value to field 509.2 (manatla in vergi_hesab_5ci)
(frm.doc.vergi_hesab_5ci || []).forEach(row => {
if (row.göstəricilər && row.göstəricilər.startsWith('509.2')) {
frappe.model.set_value(row.doctype, row.name, 'manatla', result);
}
});
}
// ==================== END FORMULA 509.2 ====================
// Обработчики для дочерней таблицы Elave 2 - автоматический пересчет суммы binalar // Обработчики для дочерней таблицы Elave 2 - автоматический пересчет суммы binalar
frappe.ui.form.on('Property tax return Elave 2', { frappe.ui.form.on('Property tax return Elave 2', {
form_render: function(frm, cdt, cdn) { form_render: function(frm, cdt, cdn) {
@ -804,3 +862,26 @@ frappe.ui.form.on('Property tax return Elave 1', {
calculate_elave_1_totals(frm); calculate_elave_1_totals(frm);
} }
}); });
// ==================== CHILD TABLE EVENT HANDLERS FOR 509.2 FORMULA ====================
// Event handler for vergi_hesab_4cu_1 changes (field 507)
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)
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)
frappe.ui.form.on('Property tax return Emlak vergi hesablamasi 2ci cedvel', {
manatla: function(frm, cdt, cdn) {
calculate_509_2(frm);
}
});