fix: set stock adjustment account in difference account (#45606)

* fix: set stock adjustment account in difference account

* fix(stock entry): fetch stock difference account for manufacture entry

(cherry picked from commit 4ef7e6424a)

# Conflicts:
#	erpnext/stock/doctype/stock_entry/stock_entry.py
This commit is contained in:
Venkatesh
2025-03-05 16:32:03 +05:30
committed by Mergify
parent f311a0fc1c
commit 54ed86889d

View File

@@ -1313,6 +1313,7 @@ class StockEntry(StockController):
pro_doc.set_actual_dates()
@frappe.whitelist()
<<<<<<< HEAD
def get_item_details(self, args=None, for_update=False):
item = frappe.db.sql(
"""select i.name, i.stock_uom, i.description, i.image, i.item_name, i.item_group,
@@ -1324,7 +1325,41 @@ class StockEntry(StockController):
and (i.end_of_life is null or i.end_of_life<'1900-01-01' or i.end_of_life > %s)""",
(self.company, args.get("item_code"), nowdate()),
as_dict=1,
=======
def get_item_details(self, args: ItemDetailsCtx = None, for_update=False):
item = frappe.qb.DocType("Item")
item_default = frappe.qb.DocType("Item Default")
query = (
frappe.qb.from_(item)
.left_join(item_default)
.on((item.name == item_default.parent) & (item_default.company == self.company))
.select(
item.name,
item.stock_uom,
item.description,
item.image,
item.item_name,
item.item_group,
item.has_batch_no,
item.sample_quantity,
item.has_serial_no,
item.allow_alternative_item,
item_default.expense_account,
item_default.buying_cost_center,
)
.where(
(item.name == args.get("item_code"))
& (item.disabled == 0)
& (
(item.end_of_life.isnull())
| (item.end_of_life < "1900-01-01")
| (item.end_of_life > nowdate())
)
)
>>>>>>> 4ef7e6424a (fix: set stock adjustment account in difference account (#45606))
)
item = query.run(as_dict=True)
if not item:
frappe.throw(
@@ -1369,6 +1404,11 @@ class StockEntry(StockController):
if self.purpose == "Material Issue":
ret["expense_account"] = item.get("expense_account") or item_group_defaults.get("expense_account")
if self.purpose == "Manufacture":
ret["expense_account"] = frappe.get_cached_value(
"Company", self.company, "stock_adjustment_account"
)
for company_field, field in {
"stock_adjustment_account": "expense_account",
"cost_center": "cost_center",