Item Default fixes
This commit is contained in:
parent
d5cb4c10a1
commit
5f861756a2
@ -168,9 +168,9 @@ def get_items_list(pos_profile, company):
|
|||||||
i.has_serial_no, i.is_stock_item, i.brand, i.stock_uom, i.image,
|
i.has_serial_no, i.is_stock_item, i.brand, i.stock_uom, i.image,
|
||||||
id.expense_account, id.selling_cost_center, id.default_warehouse
|
id.expense_account, id.selling_cost_center, id.default_warehouse
|
||||||
from
|
from
|
||||||
`tabItem` i, `tabItem Default` id
|
`tabItem` i LEFT JOIN `tabItem Default` id ON id.parent = i.name
|
||||||
where
|
where
|
||||||
id.parent = i.name and i.disabled = 0 and i.has_variants = 0 and i.is_sales_item = 1
|
i.disabled = 0 and i.has_variants = 0 and i.is_sales_item = 1
|
||||||
and id.company = %s {cond}
|
and id.company = %s {cond}
|
||||||
""".format(cond=cond), tuple(args_list), as_dict=1)
|
""".format(cond=cond), tuple(args_list), as_dict=1)
|
||||||
|
|
||||||
|
@ -217,7 +217,8 @@ class BuyingController(StockController):
|
|||||||
raw_materials_cost = 0
|
raw_materials_cost = 0
|
||||||
items = list(set([d.item_code for d in bom_items]))
|
items = list(set([d.item_code for d in bom_items]))
|
||||||
item_wh = frappe._dict(frappe.db.sql("""select i.item_code, id.default_warehouse
|
item_wh = frappe._dict(frappe.db.sql("""select i.item_code, id.default_warehouse
|
||||||
from `tabItem` i, `tabItem Default` id where id.company=%s and i.name in ({0})"""
|
from `tabItem` i, `tabItem Default` id
|
||||||
|
where id.parent=i.name and id.company=%s and i.name in ({0})"""
|
||||||
.format(", ".join(["%s"] * len(items))), [self.company] + items))
|
.format(", ".join(["%s"] * len(items))), [self.company] + items))
|
||||||
|
|
||||||
for bom_item in bom_items:
|
for bom_item in bom_items:
|
||||||
|
@ -549,14 +549,14 @@ def get_bom_items_as_dict(bom, company, qty=1, fetch_exploded=1, fetch_scrap_ite
|
|||||||
item_default.buying_cost_center as cost_center
|
item_default.buying_cost_center as cost_center
|
||||||
{select_columns}
|
{select_columns}
|
||||||
from
|
from
|
||||||
`tab{table}` bom_item, `tabBOM` bom, `tabItem` item, `tabItem Default` item_default
|
`tab{table}` bom_item
|
||||||
|
JOIN `tabBOM` bom ON bom_item.parent = bom.name
|
||||||
|
JOIN `tabItem` item ON item.name = bom_item.item_code
|
||||||
|
LEFT JOIN `tabItem Default` item_default ON item_default.parent = item.name
|
||||||
where
|
where
|
||||||
bom_item.docstatus < 2
|
bom_item.docstatus < 2
|
||||||
and item_default.parent = item.name
|
|
||||||
and item_default.company = %(company)s
|
and item_default.company = %(company)s
|
||||||
and bom.name = %(bom)s
|
and bom.name = %(bom)s
|
||||||
and bom_item.parent = bom.name
|
|
||||||
and item.name = bom_item.item_code
|
|
||||||
and is_stock_item = 1
|
and is_stock_item = 1
|
||||||
{where_conditions}
|
{where_conditions}
|
||||||
group by item_code, stock_uom
|
group by item_code, stock_uom
|
||||||
|
@ -295,10 +295,13 @@ class ProductionPlan(Document):
|
|||||||
bei.description, bei.stock_uom, item.min_order_qty, bei.source_warehouse,
|
bei.description, bei.stock_uom, item.min_order_qty, bei.source_warehouse,
|
||||||
item.default_material_request_type, item.min_order_qty, item_default.default_warehouse
|
item.default_material_request_type, item.min_order_qty, item_default.default_warehouse
|
||||||
from
|
from
|
||||||
`tabBOM Explosion Item` bei, `tabBOM` bom, `tabItem` item, `tabItem Default` item_default
|
`tabBOM Explosion Item` bei
|
||||||
|
JOIN `tabBOM` bom ON bom.name = bei.parent
|
||||||
|
JOIN `tabItem` item ON item.name = bei.item_code
|
||||||
|
LEFT JOIN `tabItem Default` item_default ON item_default.parent = item.name
|
||||||
where
|
where
|
||||||
bom.name = bei.parent and item.name = bei.item_code and bei.docstatus < 2
|
bei.docstatus < 2
|
||||||
and item_default.parent = item.name and item_default.company=%s
|
and item_default.company=%s
|
||||||
and bom.name=%s and item.is_stock_item in (1, {0})
|
and bom.name=%s and item.is_stock_item in (1, {0})
|
||||||
group by bei.item_code, bei.stock_uom""".format(self.include_non_stock_items),
|
group by bei.item_code, bei.stock_uom""".format(self.include_non_stock_items),
|
||||||
(self.company, data.bom_no), as_dict=1):
|
(self.company, data.bom_no), as_dict=1):
|
||||||
@ -320,11 +323,14 @@ class ProductionPlan(Document):
|
|||||||
bom_item.stock_uom as stock_uom, item.min_order_qty as min_order_qty,
|
bom_item.stock_uom as stock_uom, item.min_order_qty as min_order_qty,
|
||||||
item_default.default_warehouse
|
item_default.default_warehouse
|
||||||
FROM
|
FROM
|
||||||
`tabBOM Item` bom_item, `tabBOM` bom, tabItem item, `tabItem Default` item_default
|
`tabBOM Item` bom_item
|
||||||
|
JOIN `tabBOM` bom ON bom.name = bom_item.parent
|
||||||
|
JOIN tabItem item ON bom_item.item_code = item.name
|
||||||
|
LEFT JOIN `tabItem Default` item_default ON item.name = item_default.parent
|
||||||
where
|
where
|
||||||
bom.name = bom_item.parent and bom.name = %(bom)s
|
bom.name = %(bom)s
|
||||||
and bom_item.docstatus < 2 and bom_item.item_code = item.name
|
and bom_item.docstatus < 2
|
||||||
and item.name = item_default.parent and item_default.company = %(company)s
|
and item_default.company = %(company)s
|
||||||
and item.is_stock_item in (1, {0})
|
and item.is_stock_item in (1, {0})
|
||||||
group by bom_item.item_code""".format(self.include_non_stock_items),{
|
group by bom_item.item_code""".format(self.include_non_stock_items),{
|
||||||
'bom': bom_no,
|
'bom': bom_no,
|
||||||
|
@ -892,9 +892,9 @@ def get_item_defaults(item, company):
|
|||||||
i.item_name, i.description, i.stock_uom, i.name, i.is_stock_item, i.item_code, i.item_group,
|
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, id.default_supplier
|
id.expense_account, id.buying_cost_center, id.default_warehouse, id.selling_cost_center, id.default_supplier
|
||||||
from
|
from
|
||||||
`tabItem` i, `tabItem Default` id
|
`tabItem` i LEFT JOIN `tabItem Default` id ON i.name = id.parent
|
||||||
where
|
where
|
||||||
i.name = id.parent and i.name = %s and id.company = %s
|
i.name = %s and id.company = %s
|
||||||
''', (item, company), as_dict=1)
|
''', (item, company), as_dict=1)
|
||||||
if item_defaults:
|
if item_defaults:
|
||||||
return item_defaults[0]
|
return item_defaults[0]
|
||||||
|
@ -19,8 +19,10 @@ def get_product_bundle_items(item_code):
|
|||||||
where t2.new_item_code=%s and t1.parent = t2.name order by t1.idx""", item_code, as_dict=1)
|
where t2.new_item_code=%s and t1.parent = t2.name order by t1.idx""", item_code, as_dict=1)
|
||||||
|
|
||||||
def get_packing_item_details(item, company):
|
def get_packing_item_details(item, company):
|
||||||
return frappe.db.sql("""select i.item_name, i.description, i.stock_uom, id.default_warehouse
|
return frappe.db.sql("""
|
||||||
from `tabItem` i, `tabItem Default` id where id.parent=i.name and i.name = %s and id.company""",
|
select i.item_name, i.description, i.stock_uom, id.default_warehouse
|
||||||
|
from `tabItem` i LEFT JOIN `tabItem Default` id ON id.parent=i.name
|
||||||
|
where i.name = %s and id.company""",
|
||||||
(item, company), as_dict = 1)[0]
|
(item, company), as_dict = 1)[0]
|
||||||
|
|
||||||
def get_bin_qty(item, warehouse):
|
def get_bin_qty(item, warehouse):
|
||||||
|
@ -566,8 +566,8 @@ class StockEntry(StockController):
|
|||||||
item = frappe.db.sql("""select i.stock_uom, i.description, i.image, i.item_name, i.item_group,
|
item = frappe.db.sql("""select i.stock_uom, i.description, i.image, i.item_name, i.item_group,
|
||||||
i.has_batch_no, i.sample_quantity, i.has_serial_no,
|
i.has_batch_no, i.sample_quantity, i.has_serial_no,
|
||||||
id.expense_account, id.buying_cost_center
|
id.expense_account, id.buying_cost_center
|
||||||
from `tabItem` i, `tabItem Default` id
|
from `tabItem` i LEFT JOIN `tabItem Default` id ON i.name=id.parent
|
||||||
where i.name=%s and i.name=id.parent and id.company=%s
|
where i.name=%s and id.company=%s
|
||||||
and i.disabled=0
|
and i.disabled=0
|
||||||
and (i.end_of_life is null or i.end_of_life='0000-00-00' or i.end_of_life > %s)""",
|
and (i.end_of_life is null or i.end_of_life='0000-00-00' or i.end_of_life > %s)""",
|
||||||
(args.get('item_code'), self.company, nowdate()), as_dict = 1)
|
(args.get('item_code'), self.company, nowdate()), as_dict = 1)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user