fix: Allow item rate udpates for non-stock invoices
This commit is contained in:
parent
2106de0fa5
commit
ef9d126254
@ -231,7 +231,9 @@ class PurchaseInvoice(BuyingController):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
cint(frappe.db.get_single_value("Buying Settings", "maintain_same_rate")) and not self.is_return
|
cint(frappe.db.get_single_value("Buying Settings", "maintain_same_rate"))
|
||||||
|
and not self.is_return
|
||||||
|
and not self.is_internal_supplier
|
||||||
):
|
):
|
||||||
self.validate_rate_with_reference_doc(
|
self.validate_rate_with_reference_doc(
|
||||||
[
|
[
|
||||||
|
@ -322,17 +322,18 @@ class BuyingController(SubcontractingController):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if self.is_internal_transfer():
|
if self.is_internal_transfer():
|
||||||
if rate != d.rate:
|
if self.doctype == "Purchase Receipt" or self.get("update_stock"):
|
||||||
d.rate = rate
|
if rate != d.rate:
|
||||||
frappe.msgprint(
|
d.rate = rate
|
||||||
_(
|
frappe.msgprint(
|
||||||
"Row {0}: Item rate has been updated as per valuation rate since its an internal stock transfer"
|
_(
|
||||||
).format(d.idx),
|
"Row {0}: Item rate has been updated as per valuation rate since its an internal stock transfer"
|
||||||
alert=1,
|
).format(d.idx),
|
||||||
)
|
alert=1,
|
||||||
d.discount_percentage = 0.0
|
)
|
||||||
d.discount_amount = 0.0
|
d.discount_percentage = 0.0
|
||||||
d.margin_rate_or_amount = 0.0
|
d.discount_amount = 0.0
|
||||||
|
d.margin_rate_or_amount = 0.0
|
||||||
|
|
||||||
def validate_for_subcontracting(self):
|
def validate_for_subcontracting(self):
|
||||||
if self.is_subcontracted and self.get("is_old_subcontracting_flow"):
|
if self.is_subcontracted and self.get("is_old_subcontracting_flow"):
|
||||||
|
@ -442,30 +442,31 @@ class SellingController(StockController):
|
|||||||
|
|
||||||
# For internal transfers use incoming rate as the valuation rate
|
# For internal transfers use incoming rate as the valuation rate
|
||||||
if self.is_internal_transfer():
|
if self.is_internal_transfer():
|
||||||
if d.doctype == "Packed Item":
|
if self.doctype == "Delivery Note" or self.get("update_stock"):
|
||||||
incoming_rate = flt(
|
if d.doctype == "Packed Item":
|
||||||
flt(d.incoming_rate, d.precision("incoming_rate")) * d.conversion_factor,
|
incoming_rate = flt(
|
||||||
d.precision("incoming_rate"),
|
flt(d.incoming_rate, d.precision("incoming_rate")) * d.conversion_factor,
|
||||||
)
|
d.precision("incoming_rate"),
|
||||||
if d.incoming_rate != incoming_rate:
|
|
||||||
d.incoming_rate = incoming_rate
|
|
||||||
else:
|
|
||||||
rate = flt(
|
|
||||||
flt(d.incoming_rate, d.precision("incoming_rate")) * d.conversion_factor,
|
|
||||||
d.precision("rate"),
|
|
||||||
)
|
|
||||||
if d.rate != rate:
|
|
||||||
d.rate = rate
|
|
||||||
frappe.msgprint(
|
|
||||||
_(
|
|
||||||
"Row {0}: Item rate has been updated as per valuation rate since its an internal stock transfer"
|
|
||||||
).format(d.idx),
|
|
||||||
alert=1,
|
|
||||||
)
|
)
|
||||||
|
if d.incoming_rate != incoming_rate:
|
||||||
|
d.incoming_rate = incoming_rate
|
||||||
|
else:
|
||||||
|
rate = flt(
|
||||||
|
flt(d.incoming_rate, d.precision("incoming_rate")) * d.conversion_factor,
|
||||||
|
d.precision("rate"),
|
||||||
|
)
|
||||||
|
if d.rate != rate:
|
||||||
|
d.rate = rate
|
||||||
|
frappe.msgprint(
|
||||||
|
_(
|
||||||
|
"Row {0}: Item rate has been updated as per valuation rate since its an internal stock transfer"
|
||||||
|
).format(d.idx),
|
||||||
|
alert=1,
|
||||||
|
)
|
||||||
|
|
||||||
d.discount_percentage = 0.0
|
d.discount_percentage = 0.0
|
||||||
d.discount_amount = 0.0
|
d.discount_amount = 0.0
|
||||||
d.margin_rate_or_amount = 0.0
|
d.margin_rate_or_amount = 0.0
|
||||||
|
|
||||||
elif self.get("return_against"):
|
elif self.get("return_against"):
|
||||||
# Get incoming rate of return entry from reference document
|
# Get incoming rate of return entry from reference document
|
||||||
|
@ -173,7 +173,9 @@ class PurchaseReceipt(BuyingController):
|
|||||||
)
|
)
|
||||||
|
|
||||||
if (
|
if (
|
||||||
cint(frappe.db.get_single_value("Buying Settings", "maintain_same_rate")) and not self.is_return
|
cint(frappe.db.get_single_value("Buying Settings", "maintain_same_rate"))
|
||||||
|
and not self.is_return
|
||||||
|
and not self.is_internal_supplier
|
||||||
):
|
):
|
||||||
self.validate_rate_with_reference_doc(
|
self.validate_rate_with_reference_doc(
|
||||||
[["Purchase Order", "purchase_order", "purchase_order_item"]]
|
[["Purchase Order", "purchase_order", "purchase_order_item"]]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user