mirror of
https://github.com/frappe/erpnext.git
synced 2026-03-26 22:52:10 +01:00
fix: set stock adjustment account in difference account
This commit is contained in:
@@ -1614,17 +1614,38 @@ class StockEntry(StockController):
|
|||||||
|
|
||||||
@frappe.whitelist()
|
@frappe.whitelist()
|
||||||
def get_item_details(self, args=None, for_update=False):
|
def get_item_details(self, args=None, for_update=False):
|
||||||
item = frappe.db.sql(
|
item = frappe.qb.DocType("Item")
|
||||||
"""select i.name, i.stock_uom, i.description, i.image, i.item_name, i.item_group,
|
item_default = frappe.qb.DocType("Item Default")
|
||||||
i.has_batch_no, i.sample_quantity, i.has_serial_no, i.allow_alternative_item,
|
|
||||||
id.expense_account, id.buying_cost_center
|
query = (
|
||||||
from `tabItem` i LEFT JOIN `tabItem Default` id ON i.name=id.parent and id.company=%s
|
frappe.qb.from_(item)
|
||||||
where i.name=%s
|
.left_join(item_default)
|
||||||
and i.disabled=0
|
.on((item.name == item_default.parent) & (item_default.company == self.company))
|
||||||
and (i.end_of_life is null or i.end_of_life<'1900-01-01' or i.end_of_life > %s)""",
|
.select(
|
||||||
(self.company, args.get("item_code"), nowdate()),
|
item.name,
|
||||||
as_dict=1,
|
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())
|
||||||
|
)
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
item = query.run(as_dict=True)
|
||||||
|
|
||||||
if not item:
|
if not item:
|
||||||
frappe.throw(
|
frappe.throw(
|
||||||
@@ -1667,6 +1688,11 @@ class StockEntry(StockController):
|
|||||||
if self.purpose == "Material Issue":
|
if self.purpose == "Material Issue":
|
||||||
ret["expense_account"] = item.get("expense_account") or item_group_defaults.get("expense_account")
|
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 {
|
for company_field, field in {
|
||||||
"stock_adjustment_account": "expense_account",
|
"stock_adjustment_account": "expense_account",
|
||||||
"cost_center": "cost_center",
|
"cost_center": "cost_center",
|
||||||
|
|||||||
Reference in New Issue
Block a user