Merge pull request #2089 from neilLasrado/item_group
Item group
diff --git a/erpnext/accounts/doctype/cost_center/test_records.json b/erpnext/accounts/doctype/cost_center/test_records.json
index 9e3e011..7ffc687 100644
--- a/erpnext/accounts/doctype/cost_center/test_records.json
+++ b/erpnext/accounts/doctype/cost_center/test_records.json
@@ -15,5 +15,12 @@
"doctype": "Cost Center",
"group_or_ledger": "Ledger",
"parent_cost_center": "_Test Company - _TC"
+ },
+ {
+ "company": "_Test Company",
+ "cost_center_name": "_Test Cost Center 2",
+ "doctype": "Cost Center",
+ "group_or_ledger": "Ledger",
+ "parent_cost_center": "_Test Company - _TC"
}
]
\ No newline at end of file
diff --git a/erpnext/setup/doctype/item_group/item_group.json b/erpnext/setup/doctype/item_group/item_group.json
index 45176aa..af5a5c3 100644
--- a/erpnext/setup/doctype/item_group/item_group.json
+++ b/erpnext/setup/doctype/item_group/item_group.json
@@ -21,9 +21,10 @@
"search_index": 0
},
{
- "fieldname": "cb0",
- "fieldtype": "Column Break",
+ "fieldname": "gs",
+ "fieldtype": "Section Break",
"in_list_view": 0,
+ "label": "General Settings",
"permlevel": 0
},
{
@@ -56,6 +57,32 @@
"search_index": 0
},
{
+ "fieldname": "column_break_5",
+ "fieldtype": "Column Break",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "default_income_account",
+ "fieldtype": "Link",
+ "label": "Default Income Account",
+ "options": "Account",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "default_expense_account",
+ "fieldtype": "Link",
+ "label": "Default Expense Account",
+ "options": "Account",
+ "permlevel": 0
+ },
+ {
+ "fieldname": "default_cost_center",
+ "fieldtype": "Link",
+ "label": "Default Cost Center",
+ "options": "Cost Center",
+ "permlevel": 0
+ },
+ {
"fieldname": "sb9",
"fieldtype": "Section Break",
"label": "Website Settings",
@@ -163,7 +190,7 @@
"in_create": 1,
"issingle": 0,
"max_attachments": 3,
- "modified": "2014-08-19 06:42:03.262273",
+ "modified": "2014-08-20 17:48:34.489750",
"modified_by": "Administrator",
"module": "Setup",
"name": "Item Group",
diff --git a/erpnext/setup/doctype/item_group/test_records.json b/erpnext/setup/doctype/item_group/test_records.json
index d85fa22..60336f0 100644
--- a/erpnext/setup/doctype/item_group/test_records.json
+++ b/erpnext/setup/doctype/item_group/test_records.json
@@ -3,7 +3,8 @@
"doctype": "Item Group",
"is_group": "No",
"item_group_name": "_Test Item Group",
- "parent_item_group": "All Item Groups"
+ "parent_item_group": "All Item Groups",
+ "default_cost_center": "_Test Cost Center 2 - _TC"
},
{
"doctype": "Item Group",
diff --git a/erpnext/stock/doctype/item/test_item.py b/erpnext/stock/doctype/item/test_item.py
index 7ab93eb..56150ca 100644
--- a/erpnext/stock/doctype/item/test_item.py
+++ b/erpnext/stock/doctype/item/test_item.py
@@ -27,7 +27,7 @@
"warehouse": "_Test Warehouse - _TC",
"income_account": "Sales - _TC",
"expense_account": "_Test Account Cost for Goods Sold - _TC",
- "cost_center": "_Test Cost Center - _TC",
+ "cost_center": "_Test Cost Center 2 - _TC",
"qty": 1.0,
"price_list_rate": 100.0,
"base_price_list_rate": 0.0,
diff --git a/erpnext/stock/doctype/item/test_records.json b/erpnext/stock/doctype/item/test_records.json
index 761d4f2..a256149 100644
--- a/erpnext/stock/doctype/item/test_records.json
+++ b/erpnext/stock/doctype/item/test_records.json
@@ -28,7 +28,6 @@
"warehouse_reorder_qty": 20
}
],
- "selling_cost_center": "_Test Cost Center - _TC",
"stock_uom": "_Test UOM",
"show_in_website": 1,
"website_warehouse": "_Test Warehouse - _TC"
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 82b396f..efb793d 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -35,6 +35,7 @@
item_doc = frappe.get_doc("Item", args.item_code)
item = item_doc
+
validate_item_details(args, item)
out = get_basic_details(args, item_doc)
@@ -135,16 +136,22 @@
if len(user_default_warehouse_list)==1 else ""
out = frappe._dict({
+
"item_code": item.name,
"item_name": item.item_name,
"description": item.description_html or item.description,
"warehouse": user_default_warehouse or args.warehouse or item.default_warehouse,
- "income_account": item.income_account or args.income_account \
- or frappe.db.get_value("Company", args.company, "default_income_account"),
- "expense_account": item.expense_account or args.expense_account \
- or frappe.db.get_value("Company", args.company, "default_expense_account"),
- "cost_center": item.selling_cost_center \
- if args.transaction_type == "selling" else item.buying_cost_center,
+ "income_account": (item.income_account
+ or args.income_account
+ or frappe.db.get_value("Item Group", item.item_group, "default_income_account")
+ or frappe.db.get_value("Company", args.company, "default_income_account")),
+ "expense_account": (item.expense_account
+ or args.expense_account
+ or frappe.db.get_value("Item Group", item.item_group, "default_expense_account")
+ or frappe.db.get_value("Company", args.company, "default_expense_account")),
+ "cost_center": ((item.selling_cost_center if args.transaction_type == "selling" else item.buying_cost_center)
+ or frappe.db.get_value("Item Group", item.item_group, "default_cost_center")
+ or frappe.db.get_value("Company", args.company, "cost_center")),
"batch_no": None,
"item_tax_rate": json.dumps(dict(([d.tax_type, d.tax_rate] for d in
item_doc.get("item_tax")))),
@@ -174,6 +181,7 @@
validate_price_list(args)
validate_conversion_rate(args, meta)
+
price_list_rate = frappe.db.get_value("Item Price",
{"price_list": args.price_list, "item_code": args.item_code}, "price_list_rate")