mirror of
https://github.com/frappe/erpnext.git
synced 2026-06-01 03:09:09 +00:00
Sales BOM renamed to Product Bundle
This commit is contained in:
@@ -331,9 +331,9 @@
|
||||
"read_only": 1
|
||||
},
|
||||
{
|
||||
"fieldname": "sales_bom_help",
|
||||
"fieldname": "product_bundle_help",
|
||||
"fieldtype": "HTML",
|
||||
"label": "Sales BOM Help",
|
||||
"label": "Product Bundle Help",
|
||||
"permlevel": 0,
|
||||
"print_hide": 1,
|
||||
"read_only": 0
|
||||
@@ -1070,7 +1070,7 @@
|
||||
"idx": 1,
|
||||
"in_create": 0,
|
||||
"is_submittable": 1,
|
||||
"modified": "2015-06-15 15:37:54.699371",
|
||||
"modified": "2015-07-07 02:37:08.064584",
|
||||
"modified_by": "Administrator",
|
||||
"module": "Stock",
|
||||
"name": "Delivery Note",
|
||||
|
||||
@@ -112,7 +112,7 @@ class TestDeliveryNote(unittest.TestCase):
|
||||
stock_in_hand_account = frappe.db.get_value("Account", {"warehouse": "_Test Warehouse - _TC"})
|
||||
prev_bal = get_balance_on(stock_in_hand_account)
|
||||
|
||||
dn = create_delivery_note(item_code="_Test Sales BOM Item")
|
||||
dn = create_delivery_note(item_code="_Test Product Bundle Item")
|
||||
|
||||
stock_value_diff_rm1 = abs(frappe.db.get_value("Stock Ledger Entry",
|
||||
{"voucher_type": "Delivery Note", "voucher_no": dn.name, "item_code": "_Test Item"},
|
||||
@@ -208,4 +208,4 @@ def create_delivery_note(**args):
|
||||
dn.submit()
|
||||
return dn
|
||||
|
||||
test_dependencies = ["Sales BOM"]
|
||||
test_dependencies = ["Product Bundle"]
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
"stock_uom": "_Test UOM 1"
|
||||
},
|
||||
{
|
||||
"description": "_Test Sales BOM Item 5",
|
||||
"description": "_Test Product Bundle Item 5",
|
||||
"doctype": "Item",
|
||||
"expense_account": "_Test Account Cost for Goods Sold - _TC",
|
||||
"cost_center": "_Test Cost Center - _TC",
|
||||
@@ -124,9 +124,9 @@
|
||||
"is_service_item": "No",
|
||||
"is_stock_item": "No",
|
||||
"is_sub_contracted_item": "No",
|
||||
"item_code": "_Test Sales BOM Item",
|
||||
"item_code": "_Test Product Bundle Item",
|
||||
"item_group": "_Test Item Group Desktops",
|
||||
"item_name": "_Test Sales BOM Item",
|
||||
"item_name": "_Test Product Bundle Item",
|
||||
"stock_uom": "_Test UOM"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -13,9 +13,9 @@ from frappe.model.document import Document
|
||||
class PackedItem(Document):
|
||||
pass
|
||||
|
||||
def get_sales_bom_items(item_code):
|
||||
def get_product_bundle_items(item_code):
|
||||
return frappe.db.sql("""select t1.item_code, t1.qty, t1.uom
|
||||
from `tabSales BOM Item` t1, `tabSales BOM` t2
|
||||
from `tabProduct Bundle Item` t1, `tabProduct Bundle` t2
|
||||
where t2.new_item_code=%s and t1.parent = t2.name""", item_code, as_dict=1)
|
||||
|
||||
def get_packing_item_details(item):
|
||||
@@ -58,14 +58,14 @@ def update_packing_list_item(obj, packing_item_code, qty, warehouse, line):
|
||||
|
||||
|
||||
def make_packing_list(obj, item_table_fieldname):
|
||||
"""make packing list for sales bom item"""
|
||||
"""make packing list for Product Bundle item"""
|
||||
|
||||
if obj.get("_action") and obj._action == "update_after_submit": return
|
||||
|
||||
parent_items = []
|
||||
for d in obj.get(item_table_fieldname):
|
||||
if frappe.db.get_value("Sales BOM", {"new_item_code": d.item_code}):
|
||||
for i in get_sales_bom_items(d.item_code):
|
||||
if frappe.db.get_value("Product Bundle", {"new_item_code": d.item_code}):
|
||||
for i in get_product_bundle_items(d.item_code):
|
||||
update_packing_list_item(obj, i['item_code'], flt(i['qty'])*flt(d.qty), d.warehouse, d)
|
||||
|
||||
if [d.item_code, d.name] not in parent_items:
|
||||
|
||||
@@ -1 +1 @@
|
||||
Child Item grouped in parent Sales BOM.
|
||||
Child Item grouped in parent Product Bundle.
|
||||
@@ -346,7 +346,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
self._test_sales_invoice_return("_Test Item", 5, 2)
|
||||
|
||||
def test_sales_invoice_return_of_packing_item(self):
|
||||
self._test_sales_invoice_return("_Test Sales BOM Item", 25, 20)
|
||||
self._test_sales_invoice_return("_Test Product Bundle Item", 25, 20)
|
||||
|
||||
def _test_delivery_note_return(self, item_code, delivered_qty, returned_qty):
|
||||
from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
|
||||
@@ -381,7 +381,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
self._test_delivery_note_return("_Test Item", 5, 2)
|
||||
|
||||
def test_delivery_note_return_of_packing_item(self):
|
||||
self._test_delivery_note_return("_Test Sales BOM Item", 25, 20)
|
||||
self._test_delivery_note_return("_Test Product Bundle Item", 25, 20)
|
||||
|
||||
def _test_sales_return_jv(self, se):
|
||||
jv = make_return_jv(se.name)
|
||||
@@ -399,7 +399,7 @@ class TestStockEntry(unittest.TestCase):
|
||||
self._test_sales_return_jv(se)
|
||||
|
||||
def test_make_return_jv_for_sales_invoice_packing_item(self):
|
||||
se = self._test_sales_invoice_return("_Test Sales BOM Item", 25, 20)
|
||||
se = self._test_sales_invoice_return("_Test Product Bundle Item", 25, 20)
|
||||
self._test_sales_return_jv(se)
|
||||
|
||||
def test_make_return_jv_for_delivery_note_non_packing_item(self):
|
||||
@@ -410,10 +410,10 @@ class TestStockEntry(unittest.TestCase):
|
||||
self._test_sales_return_jv(se)
|
||||
|
||||
def test_make_return_jv_for_delivery_note_packing_item(self):
|
||||
se = self._test_delivery_note_return("_Test Sales BOM Item", 25, 20)
|
||||
se = self._test_delivery_note_return("_Test Product Bundle Item", 25, 20)
|
||||
self._test_sales_return_jv(se)
|
||||
|
||||
se = self._test_delivery_note_return_against_sales_order("_Test Sales BOM Item", 25, 20)
|
||||
se = self._test_delivery_note_return_against_sales_order("_Test Product Bundle Item", 25, 20)
|
||||
self._test_sales_return_jv(se)
|
||||
|
||||
def _test_delivery_note_return_against_sales_order(self, item_code, delivered_qty, returned_qty):
|
||||
|
||||
@@ -7,12 +7,12 @@ import frappe, json
|
||||
def execute(filters=None):
|
||||
data = []
|
||||
parents = {
|
||||
"Sales BOM Item": "Sales BOM",
|
||||
"Product Bundle Item": "Product Bundle",
|
||||
"BOM Explosion Item": "BOM",
|
||||
"BOM Item": "BOM"
|
||||
}
|
||||
|
||||
for doctype in ("Sales BOM Item",
|
||||
for doctype in ("Product Bundle Item",
|
||||
"BOM Explosion Item" if filters.search_sub_assemblies else "BOM Item"):
|
||||
all_boms = {}
|
||||
for d in frappe.get_all(doctype, fields=["parent", "item_code"]):
|
||||
|
||||
Reference in New Issue
Block a user