fix: consider returned qty while calculating unsupplied qty
This commit is contained in:
parent
8e3b9ec879
commit
3290df5593
@ -1020,14 +1020,34 @@ class StockEntry(StockController):
|
|||||||
& (se.docstatus == 1)
|
& (se.docstatus == 1)
|
||||||
& (se_detail.item_code == se_item.item_code)
|
& (se_detail.item_code == se_item.item_code)
|
||||||
& (
|
& (
|
||||||
(se.purchase_order == self.purchase_order)
|
((se.purchase_order == self.purchase_order) & (se_detail.po_detail == se_item.po_detail))
|
||||||
if self.subcontract_data.order_doctype == "Purchase Order"
|
if self.subcontract_data.order_doctype == "Purchase Order"
|
||||||
else (se.subcontracting_order == self.subcontracting_order)
|
else (
|
||||||
|
(se.subcontracting_order == self.subcontracting_order)
|
||||||
|
& (se_detail.sco_rm_detail == se_item.sco_rm_detail)
|
||||||
)
|
)
|
||||||
)
|
)
|
||||||
).run()[0][0]
|
)
|
||||||
|
).run()[0][0] or 0
|
||||||
|
|
||||||
if flt(total_supplied, precision) > flt(total_allowed, precision):
|
total_returned = 0
|
||||||
|
if self.subcontract_data.order_doctype == "Subcontracting Order":
|
||||||
|
total_returned = (
|
||||||
|
frappe.qb.from_(se)
|
||||||
|
.inner_join(se_detail)
|
||||||
|
.on(se.name == se_detail.parent)
|
||||||
|
.select(Sum(se_detail.transfer_qty))
|
||||||
|
.where(
|
||||||
|
(se.purpose == "Material Transfer")
|
||||||
|
& (se.docstatus == 1)
|
||||||
|
& (se.is_return == 1)
|
||||||
|
& (se_detail.item_code == se_item.item_code)
|
||||||
|
& (se_detail.sco_rm_detail == se_item.sco_rm_detail)
|
||||||
|
& (se.subcontracting_order == self.subcontracting_order)
|
||||||
|
)
|
||||||
|
).run()[0][0] or 0
|
||||||
|
|
||||||
|
if flt(total_supplied - total_returned, precision) > flt(total_allowed, precision):
|
||||||
frappe.throw(
|
frappe.throw(
|
||||||
_("Row {0}# Item {1} cannot be transferred more than {2} against {3} {4}").format(
|
_("Row {0}# Item {1} cannot be transferred more than {2} against {3} {4}").format(
|
||||||
se_item.idx,
|
se_item.idx,
|
||||||
|
|||||||
@ -193,7 +193,7 @@ erpnext.buying.SubcontractingOrderController = class SubcontractingOrderControll
|
|||||||
}
|
}
|
||||||
|
|
||||||
has_unsupplied_items() {
|
has_unsupplied_items() {
|
||||||
return this.frm.doc['supplied_items'].some(item => item.required_qty > item.supplied_qty);
|
return this.frm.doc['supplied_items'].some(item => item.required_qty > (item.supplied_qty - item.returned_qty));
|
||||||
}
|
}
|
||||||
|
|
||||||
make_subcontracting_receipt() {
|
make_subcontracting_receipt() {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user