insurance calcs
This commit is contained in:
parent
0e8fa91f9a
commit
fea2f652e0
|
|
@ -47,6 +47,7 @@ frappe.ui.form.on('Property tax return', {
|
|||
// Calculate totals for Elave 1 and Elave 2
|
||||
calculate_elave_1_totals(frm);
|
||||
calculate_elave_2_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
|
||||
// Validate minimum asset values
|
||||
validate_minimum_asset_value(frm);
|
||||
|
|
@ -504,6 +505,7 @@ function update_child_table_values(frm, table_name, data_map) {
|
|||
if (table_name === 'elave_2') {
|
||||
calculate_binalar_totals(frm);
|
||||
calculate_elave_2_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
// Validate after auto-populating Əlavə 2
|
||||
try {
|
||||
validate_minimum_asset_value(frm);
|
||||
|
|
@ -512,6 +514,7 @@ function update_child_table_values(frm, table_name, data_map) {
|
|||
}
|
||||
} else if (table_name === 'elave_1') {
|
||||
calculate_elave_1_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
// Validate after auto-populating Əlavə 1
|
||||
try {
|
||||
validate_minimum_asset_value(frm);
|
||||
|
|
@ -863,6 +866,35 @@ function calculate_509_2(frm) {
|
|||
|
||||
// ==================== END FORMULA 509.2 ====================
|
||||
|
||||
// ==================== CALCULATE VERGI HESAB 3CU (INSURANCE TOTALS) ====================
|
||||
|
||||
function calculate_vergi_hesab_3cu_totals(frm) {
|
||||
// Sum insurance from elave_1 (tax-exempt) → 505.2
|
||||
let sum_505_2 = 0;
|
||||
(frm.doc.elave_1 || []).forEach(row => {
|
||||
sum_505_2 += flt(row.artıqqiymətəəsasvəsaitlərindəyəri);
|
||||
});
|
||||
|
||||
// Sum insurance from elave_2 (taxable) → 505.1
|
||||
let sum_505_1 = 0;
|
||||
(frm.doc.elave_2 || []).forEach(row => {
|
||||
sum_505_1 += flt(row.artıqqiymətəəsasvəsaitlərindəyəri505);
|
||||
});
|
||||
|
||||
// Set values in vergi_hesab_3cu
|
||||
(frm.doc.vergi_hesab_3cu || []).forEach(row => {
|
||||
if (row.göstəricilər && row.göstəricilər.startsWith('505.1 ')) {
|
||||
frappe.model.set_value(row.doctype, row.name, 'manatla', sum_505_1);
|
||||
} else if (row.göstəricilər && row.göstəricilər.startsWith('505.2 ')) {
|
||||
frappe.model.set_value(row.doctype, row.name, 'manatla', sum_505_2);
|
||||
} else if (row.göstəricilər && row.göstəricilər.startsWith('505 ')) {
|
||||
frappe.model.set_value(row.doctype, row.name, 'manatla', sum_505_1 + sum_505_2);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// ==================== END VERGI HESAB 3CU ====================
|
||||
|
||||
// Обработчики для дочерней таблицы Elave 2 - автоматический пересчет суммы binalar
|
||||
frappe.ui.form.on('Property tax return Elave 2', {
|
||||
form_render: function(frm, cdt, cdn) {
|
||||
|
|
@ -874,29 +906,35 @@ frappe.ui.form.on('Property tax return Elave 2', {
|
|||
hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
||||
calculate_binalar_totals(frm);
|
||||
calculate_elave_2_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
},
|
||||
ləğvolunmatarixinəəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
||||
calculate_binalar_totals(frm);
|
||||
calculate_elave_2_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
},
|
||||
hesabatilierzindeuçotaalınan: function(frm, cdt, cdn) {
|
||||
calculate_binalar_totals(frm);
|
||||
calculate_elave_2_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
validate_minimum_asset_value(frm);
|
||||
},
|
||||
hesabatilinsonunaəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
||||
calculate_binalar_totals(frm);
|
||||
calculate_elave_2_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
},
|
||||
artıqqiymətəəsasvəsaitlərindəyəri505: function(frm, cdt, cdn) {
|
||||
calculate_binalar_totals(frm);
|
||||
calculate_elave_2_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
},
|
||||
|
||||
// При удалении строки - пересчитать
|
||||
elave_2_remove: function(frm, cdt, cdn) {
|
||||
calculate_binalar_totals(frm);
|
||||
calculate_elave_2_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
@ -910,24 +948,30 @@ frappe.ui.form.on('Property tax return Elave 1', {
|
|||
// При изменении любого числового поля - пересчитать totals
|
||||
hesabatilininəvvəlinəəsasvəsaitlərinqalıqdəyərimanatla5012: function(frm, cdt, cdn) {
|
||||
calculate_elave_1_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
},
|
||||
ləğvolunmatarixinəəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
||||
calculate_elave_1_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
},
|
||||
hesabatiliərzindəəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
||||
calculate_elave_1_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
validate_minimum_asset_value(frm);
|
||||
},
|
||||
ilinsonunaəsasvəsaitlərinqalıqdəyəri: function(frm, cdt, cdn) {
|
||||
calculate_elave_1_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
},
|
||||
artıqqiymətəəsasvəsaitlərindəyəri: function(frm, cdt, cdn) {
|
||||
calculate_elave_1_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
},
|
||||
|
||||
// При удалении строки - пересчитать
|
||||
elave_1_remove: function(frm, cdt, cdn) {
|
||||
calculate_elave_1_totals(frm);
|
||||
calculate_vergi_hesab_3cu_totals(frm);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -443,7 +443,8 @@ def get_asset_balances_using_standard_logic(company, from_date, to_date, asset_n
|
|||
# Calculate insurance value (Insured value - Gross Purchase Amount)
|
||||
insured_value = flt(frappe.db.get_value('Asset', asset_name, 'insured_value') or 0)
|
||||
gross_purchase_amount = flt(frappe.db.get_value('Asset', asset_name, 'gross_purchase_amount') or 0)
|
||||
insurance_difference = insured_value - gross_purchase_amount
|
||||
# Only calculate difference if insured_value is actually set (> 0)
|
||||
insurance_difference = (insured_value - gross_purchase_amount) if insured_value > 0 else 0
|
||||
|
||||
balance_result = {
|
||||
'asset': asset_name,
|
||||
|
|
|
|||
Loading…
Reference in New Issue