Merge pull request #14087 from manassolanki/item-fixes
return defaults according to the company
This commit is contained in:
commit
64076730a1
@ -377,7 +377,7 @@ def make_purchase_invoice(source_name, target_doc=None):
|
||||
|
||||
item = get_item_defaults(target.item_code, source_parent.company)
|
||||
target.cost_center = frappe.db.get_value("Project", obj.project, "cost_center") \
|
||||
or item.buying_cost_center \
|
||||
or item.get("buying_cost_center") \
|
||||
or frappe.db.get_value("Item Group", item.item_group, "default_cost_center")
|
||||
|
||||
doc = get_mapped_doc("Purchase Order", source_name, {
|
||||
|
@ -499,7 +499,7 @@ def make_delivery_note(source_name, target_doc=None):
|
||||
|
||||
if item:
|
||||
target.cost_center = frappe.db.get_value("Project", source_parent.project, "cost_center") \
|
||||
or item.selling_cost_center \
|
||||
or item.get("selling_cost_center") \
|
||||
or frappe.db.get_value("Item Group", item.item_group, "default_cost_center")
|
||||
|
||||
target_doc = get_mapped_doc("Sales Order", source_name, {
|
||||
@ -559,8 +559,8 @@ def make_sales_invoice(source_name, target_doc=None, ignore_permissions=False):
|
||||
if source_parent.project:
|
||||
target.cost_center = frappe.db.get_value("Project", source_parent.project, "cost_center")
|
||||
if not target.cost_center and target.item_code:
|
||||
item = get_item_defaults(target.item_code, source_parent.company)
|
||||
target.cost_center = item.selling_cost_center \
|
||||
item = get_item_defaults(target.item_code, target.company)
|
||||
target.cost_center = item.get("selling_cost_center") \
|
||||
or frappe.db.get_value("Item Group", item.item_group, "default_cost_center")
|
||||
|
||||
doclist = get_mapped_doc("Sales Order", source_name, {
|
||||
|
@ -887,7 +887,7 @@ def check_stock_uom_with_bin(item, stock_uom):
|
||||
_("Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You will need to create a new Item to use a different Default UOM.").format(item))
|
||||
|
||||
def get_item_defaults(item, company):
|
||||
return frappe.db.sql('''
|
||||
item_defaults = frappe.db.sql('''
|
||||
select
|
||||
i.item_name, i.description, i.stock_uom, i.name, i.is_stock_item, i.item_code, i.item_group,
|
||||
id.expense_account, id.buying_cost_center, id.default_warehouse, id.selling_cost_center
|
||||
@ -895,4 +895,9 @@ def get_item_defaults(item, company):
|
||||
`tabItem` i, `tabItem Default` id
|
||||
where
|
||||
i.name = id.parent and i.name = %s and id.company = %s
|
||||
''', (item, company), as_dict=1)
|
||||
''', (item, company), as_dict=1)
|
||||
if item_defaults:
|
||||
return item_defaults[0]
|
||||
else:
|
||||
return frappe.db.get_value("Item", item, ["name", "item_name", "description", "stock_uom",
|
||||
"is_stock_item", "item_code", "item_group"], as_dict=1)
|
||||
|
@ -721,7 +721,7 @@ class StockEntry(StockController):
|
||||
|
||||
if not self.work_order and not to_warehouse:
|
||||
# in case of BOM
|
||||
to_warehouse = item.default_warehouse
|
||||
to_warehouse = item.get("default_warehouse")
|
||||
|
||||
self.add_to_stock_entry_detail({
|
||||
item.name: {
|
||||
@ -731,8 +731,8 @@ class StockEntry(StockController):
|
||||
"item_name": item.item_name,
|
||||
"description": item.description,
|
||||
"stock_uom": item.stock_uom,
|
||||
"expense_account": item.expense_account,
|
||||
"cost_center": item.buying_cost_center,
|
||||
"expense_account": item.get("expense_account"),
|
||||
"cost_center": item.get("buying_cost_center"),
|
||||
}
|
||||
}, bom_no = self.bom_no)
|
||||
|
||||
@ -807,8 +807,8 @@ class StockEntry(StockController):
|
||||
"item_name": item.item_name,
|
||||
"description": item.description,
|
||||
"stock_uom": item_account_details.stock_uom,
|
||||
"expense_account": item_account_details.expense_account,
|
||||
"cost_center": item_account_details.buying_cost_center,
|
||||
"expense_account": item_account_details.get("expense_account"),
|
||||
"cost_center": item_account_details.get("buying_cost_center"),
|
||||
}
|
||||
})
|
||||
|
||||
|
@ -300,12 +300,12 @@ def get_basic_details(args, item):
|
||||
|
||||
|
||||
def get_default_income_account(args, item):
|
||||
return (item.income_account
|
||||
return (item.get("income_account")
|
||||
or args.income_account
|
||||
or frappe.db.get_value("Item Group", item.item_group, "default_income_account"))
|
||||
|
||||
def get_default_expense_account(args, item):
|
||||
return (item.expense_account
|
||||
return (item.get("expense_account")
|
||||
or args.expense_account
|
||||
or frappe.db.get_value("Item Group", item.item_group, "default_expense_account"))
|
||||
|
||||
@ -319,7 +319,7 @@ def get_default_deferred_revenue_account(args, item):
|
||||
|
||||
def get_default_cost_center(args, item):
|
||||
return (frappe.db.get_value("Project", args.get("project"), "cost_center")
|
||||
or (item.selling_cost_center if args.get("customer") else item.buying_cost_center)
|
||||
or (item.get("selling_cost_center") if args.get("customer") else item.get("buying_cost_center"))
|
||||
or frappe.db.get_value("Item Group", item.item_group, "default_cost_center")
|
||||
or args.get("cost_center"))
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user