Stock Entry: get fg item incoming rate if bom is mentioned
This commit is contained in:
parent
2f800521cb
commit
297939325a
@ -217,8 +217,8 @@ class StockEntry(StockController):
|
|||||||
Available Qty: {4}, Transfer Qty: {5}""").format(d.idx, d.s_warehouse,
|
Available Qty: {4}, Transfer Qty: {5}""").format(d.idx, d.s_warehouse,
|
||||||
self.posting_date, self.posting_time, d.actual_qty, d.transfer_qty))
|
self.posting_date, self.posting_time, d.actual_qty, d.transfer_qty))
|
||||||
|
|
||||||
# get incoming rate
|
|
||||||
if not d.bom_no:
|
if not d.bom_no:
|
||||||
|
# set incoming rate
|
||||||
if not flt(d.incoming_rate) or d.s_warehouse or self.purpose == "Sales Return":
|
if not flt(d.incoming_rate) or d.s_warehouse or self.purpose == "Sales Return":
|
||||||
incoming_rate = self.get_incoming_rate(args)
|
incoming_rate = self.get_incoming_rate(args)
|
||||||
if flt(incoming_rate) > 0:
|
if flt(incoming_rate) > 0:
|
||||||
@ -227,15 +227,16 @@ class StockEntry(StockController):
|
|||||||
d.amount = flt(d.transfer_qty) * flt(d.incoming_rate)
|
d.amount = flt(d.transfer_qty) * flt(d.incoming_rate)
|
||||||
raw_material_cost += flt(d.amount)
|
raw_material_cost += flt(d.amount)
|
||||||
|
|
||||||
# set incoming rate for fg item
|
# bom no exists and purpose is Manufacture/Repack
|
||||||
if self.production_order and self.purpose == "Manufacture/Repack":
|
elif self.purpose == "Manufacture/Repack":
|
||||||
for d in self.get("mtn_details"):
|
|
||||||
if d.bom_no:
|
# set incoming rate for fg item
|
||||||
if not flt(d.incoming_rate):
|
if not flt(d.incoming_rate):
|
||||||
bom = frappe.db.get_value("BOM", d.bom_no, ["operating_cost", "quantity"], as_dict=1)
|
bom = frappe.db.get_value("BOM", d.bom_no, ["operating_cost", "quantity"], as_dict=1)
|
||||||
operation_cost_per_unit = flt(bom.operating_cost) / flt(bom.quantity)
|
operation_cost_per_unit = flt(bom.operating_cost) / flt(bom.quantity)
|
||||||
d.incoming_rate = operation_cost_per_unit + (raw_material_cost / flt(d.transfer_qty))
|
d.incoming_rate = operation_cost_per_unit + (raw_material_cost / flt(d.transfer_qty))
|
||||||
d.amount = flt(d.transfer_qty) * flt(d.incoming_rate)
|
|
||||||
|
d.amount = flt(d.transfer_qty) * flt(d.incoming_rate)
|
||||||
|
|
||||||
def get_incoming_rate(self, args):
|
def get_incoming_rate(self, args):
|
||||||
incoming_rate = 0
|
incoming_rate = 0
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user