From cc55c02999bd62f6d8c9854fceb7c6708f048ad7 Mon Sep 17 00:00:00 2001 From: Ali <010109ali@gmail.com> Date: Mon, 30 Mar 2026 21:32:52 +0400 Subject: [PATCH] fix: populate FIN from Employee.passport_number Co-Authored-By: Claude Opus 4.6 (1M context) --- ...claration_related_to_salaried_and_non_salaried_work.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/taxes_az/taxes_az/doctype/single_declaration_related_to_salaried_and_non_salaried_work/single_declaration_related_to_salaried_and_non_salaried_work.py b/taxes_az/taxes_az/doctype/single_declaration_related_to_salaried_and_non_salaried_work/single_declaration_related_to_salaried_and_non_salaried_work.py index 6afd8b6..a85664e 100644 --- a/taxes_az/taxes_az/doctype/single_declaration_related_to_salaried_and_non_salaried_work/single_declaration_related_to_salaried_and_non_salaried_work.py +++ b/taxes_az/taxes_az/doctype/single_declaration_related_to_salaried_and_non_salaried_work/single_declaration_related_to_salaried_and_non_salaried_work.py @@ -137,11 +137,19 @@ def get_aggregated_employee_data(company, from_date, to_date): agg["total_deduction"] += flt(ss.total_deduction) agg["net_pay"] += flt(ss.net_pay) + # Get FIN (passport_number) from Employee doctype + employee_ids = list(employee_map.keys()) + fin_map = {} + if employee_ids: + fin_data = frappe.get_all("Employee", filters={"name": ["in", employee_ids]}, fields=["name", "passport_number"]) + fin_map = {d.name: d.passport_number for d in fin_data} + # Build child table rows with original fieldnames result = [] for agg in employee_map.values(): child_row = { "soyadadataadı": agg["employee_name"], + "fin": fin_map.get(agg["employee"], ""), "gəlirlərcəmi": agg["gross_pay"], # vergiməbləği intentionally not filled "hesablanmışmdsshaqqı": (flt(agg.get(_DSMF_ISCI, 0)) + flt(agg.get(_DSMF_SIRKET, 0))) * 3,