refactor: pass dimension details to query
This commit is contained in:
parent
ad8475cb8b
commit
5dc22e1811
@ -71,6 +71,7 @@ class PaymentReconciliation(Document):
|
|||||||
self.common_filter_conditions = []
|
self.common_filter_conditions = []
|
||||||
self.accounting_dimension_filter_conditions = []
|
self.accounting_dimension_filter_conditions = []
|
||||||
self.ple_posting_date_filter = []
|
self.ple_posting_date_filter = []
|
||||||
|
self.dimensions = get_dimensions()[0]
|
||||||
|
|
||||||
def load_from_db(self):
|
def load_from_db(self):
|
||||||
# 'modified' attribute is required for `run_doc_method` to work properly.
|
# 'modified' attribute is required for `run_doc_method` to work properly.
|
||||||
@ -175,8 +176,7 @@ class PaymentReconciliation(Document):
|
|||||||
|
|
||||||
# pass dynamic dimension filter values to query builder
|
# pass dynamic dimension filter values to query builder
|
||||||
dimensions = {}
|
dimensions = {}
|
||||||
dimensions_and_defaults = get_dimensions()
|
for x in self.dimensions:
|
||||||
for x in dimensions_and_defaults[0]:
|
|
||||||
dimension = x.fieldname
|
dimension = x.fieldname
|
||||||
if self.get(dimension):
|
if self.get(dimension):
|
||||||
dimensions.update({dimension: self.get(dimension)})
|
dimensions.update({dimension: self.get(dimension)})
|
||||||
@ -528,7 +528,7 @@ class PaymentReconciliation(Document):
|
|||||||
self.get_unreconciled_entries()
|
self.get_unreconciled_entries()
|
||||||
|
|
||||||
def get_payment_details(self, row, dr_or_cr):
|
def get_payment_details(self, row, dr_or_cr):
|
||||||
return frappe._dict(
|
payment_details = frappe._dict(
|
||||||
{
|
{
|
||||||
"voucher_type": row.get("reference_type"),
|
"voucher_type": row.get("reference_type"),
|
||||||
"voucher_no": row.get("reference_name"),
|
"voucher_no": row.get("reference_name"),
|
||||||
@ -551,6 +551,14 @@ class PaymentReconciliation(Document):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
dimensions_dict = {}
|
||||||
|
for x in self.dimensions:
|
||||||
|
if row.get(x.fieldname):
|
||||||
|
dimensions_dict.update({x.fieldname: row.get(x.fieldname)})
|
||||||
|
|
||||||
|
payment_details.update({"dimensions": dimensions_dict})
|
||||||
|
return payment_details
|
||||||
|
|
||||||
def check_mandatory_to_fetch(self):
|
def check_mandatory_to_fetch(self):
|
||||||
for fieldname in ["company", "party_type", "party", "receivable_payable_account"]:
|
for fieldname in ["company", "party_type", "party", "receivable_payable_account"]:
|
||||||
if not self.get(fieldname):
|
if not self.get(fieldname):
|
||||||
@ -660,8 +668,7 @@ class PaymentReconciliation(Document):
|
|||||||
|
|
||||||
def build_dimensions_filter_conditions(self):
|
def build_dimensions_filter_conditions(self):
|
||||||
ple = qb.DocType("Payment Ledger Entry")
|
ple = qb.DocType("Payment Ledger Entry")
|
||||||
dimensions_and_defaults = get_dimensions()
|
for x in self.dimensions:
|
||||||
for x in dimensions_and_defaults[0]:
|
|
||||||
dimension = x.fieldname
|
dimension = x.fieldname
|
||||||
if self.get(dimension):
|
if self.get(dimension):
|
||||||
self.accounting_dimension_filter_conditions.append(ple[dimension] == self.get(dimension))
|
self.accounting_dimension_filter_conditions.append(ple[dimension] == self.get(dimension))
|
||||||
|
|||||||
@ -668,6 +668,7 @@ def update_reference_in_payment_entry(
|
|||||||
else payment_entry.get_exchange_rate(),
|
else payment_entry.get_exchange_rate(),
|
||||||
"exchange_gain_loss": d.difference_amount,
|
"exchange_gain_loss": d.difference_amount,
|
||||||
"account": d.account,
|
"account": d.account,
|
||||||
|
"dimensions": d.dimensions,
|
||||||
}
|
}
|
||||||
|
|
||||||
if d.voucher_detail_no:
|
if d.voucher_detail_no:
|
||||||
@ -2043,6 +2044,7 @@ def create_gain_loss_journal(
|
|||||||
ref2_dn,
|
ref2_dn,
|
||||||
ref2_detail_no,
|
ref2_detail_no,
|
||||||
cost_center,
|
cost_center,
|
||||||
|
dimensions,
|
||||||
) -> str:
|
) -> str:
|
||||||
journal_entry = frappe.new_doc("Journal Entry")
|
journal_entry = frappe.new_doc("Journal Entry")
|
||||||
journal_entry.voucher_type = "Exchange Gain Or Loss"
|
journal_entry.voucher_type = "Exchange Gain Or Loss"
|
||||||
|
|||||||
@ -1275,6 +1275,7 @@ class AccountsController(TransactionBase):
|
|||||||
self.name,
|
self.name,
|
||||||
arg.get("referenced_row"),
|
arg.get("referenced_row"),
|
||||||
arg.get("cost_center"),
|
arg.get("cost_center"),
|
||||||
|
{},
|
||||||
)
|
)
|
||||||
frappe.msgprint(
|
frappe.msgprint(
|
||||||
_("Exchange Gain/Loss amount has been booked through {0}").format(
|
_("Exchange Gain/Loss amount has been booked through {0}").format(
|
||||||
@ -1355,6 +1356,7 @@ class AccountsController(TransactionBase):
|
|||||||
self.name,
|
self.name,
|
||||||
d.idx,
|
d.idx,
|
||||||
self.cost_center,
|
self.cost_center,
|
||||||
|
{},
|
||||||
)
|
)
|
||||||
frappe.msgprint(
|
frappe.msgprint(
|
||||||
_("Exchange Gain/Loss amount has been booked through {0}").format(
|
_("Exchange Gain/Loss amount has been booked through {0}").format(
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user