fix: set project in GL from the SLE (backport #44879) (#44885)

fix: set project in GL from the SLE (#44879)

(cherry picked from commit 021d077808)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
This commit is contained in:
mergify[bot]
2024-12-24 15:12:32 +05:30
committed by GitHub
parent b48f46ed5a
commit 57e6ed4645

View File

@@ -530,7 +530,7 @@ class StockController(AccountsController):
"account": warehouse_account[sle.warehouse]["account"], "account": warehouse_account[sle.warehouse]["account"],
"against": expense_account, "against": expense_account,
"cost_center": item_row.cost_center, "cost_center": item_row.cost_center,
"project": item_row.project or self.get("project"), "project": sle.get("project") or item_row.project or self.get("project"),
"remarks": self.get("remarks") or _("Accounting Entry for Stock"), "remarks": self.get("remarks") or _("Accounting Entry for Stock"),
"debit": flt(sle.stock_value_difference, precision), "debit": flt(sle.stock_value_difference, precision),
"is_opening": item_row.get("is_opening") "is_opening": item_row.get("is_opening")
@@ -550,7 +550,9 @@ class StockController(AccountsController):
"cost_center": item_row.cost_center, "cost_center": item_row.cost_center,
"remarks": self.get("remarks") or _("Accounting Entry for Stock"), "remarks": self.get("remarks") or _("Accounting Entry for Stock"),
"debit": -1 * flt(sle.stock_value_difference, precision), "debit": -1 * flt(sle.stock_value_difference, precision),
"project": item_row.get("project") or self.get("project"), "project": sle.get("project")
or item_row.get("project")
or self.get("project"),
"is_opening": item_row.get("is_opening") "is_opening": item_row.get("is_opening")
or self.get("is_opening") or self.get("is_opening")
or "No", or "No",
@@ -678,23 +680,34 @@ class StockController(AccountsController):
def get_stock_ledger_details(self): def get_stock_ledger_details(self):
stock_ledger = {} stock_ledger = {}
stock_ledger_entries = frappe.db.sql(
""" table = frappe.qb.DocType("Stock Ledger Entry")
select
name, warehouse, stock_value_difference, valuation_rate, stock_ledger_entries = (
voucher_detail_no, item_code, posting_date, posting_time, frappe.qb.from_(table)
actual_qty, qty_after_transaction .select(
from table.name,
`tabStock Ledger Entry` table.warehouse,
where table.stock_value_difference,
voucher_type=%s and voucher_no=%s and is_cancelled = 0 table.valuation_rate,
""", table.voucher_detail_no,
(self.doctype, self.name), table.item_code,
as_dict=True, table.posting_date,
) table.posting_time,
table.actual_qty,
table.qty_after_transaction,
table.project,
)
.where(
(table.voucher_type == self.doctype)
& (table.voucher_no == self.name)
& (table.is_cancelled == 0)
)
).run(as_dict=True)
for sle in stock_ledger_entries: for sle in stock_ledger_entries:
stock_ledger.setdefault(sle.voucher_detail_no, []).append(sle) stock_ledger.setdefault(sle.voucher_detail_no, []).append(sle)
return stock_ledger return stock_ledger
def check_expense_account(self, item): def check_expense_account(self, item):