set valid delivery date (#14890)
* set valid delivery date * calculate delivery date based on diffrence in transation date and delivery date of ref doc
This commit is contained in:
parent
663b435919
commit
af479c8192
@ -377,16 +377,26 @@ class SalesOrder(SellingController):
|
|||||||
return items
|
return items
|
||||||
|
|
||||||
def on_recurring(self, reference_doc, auto_repeat_doc):
|
def on_recurring(self, reference_doc, auto_repeat_doc):
|
||||||
self.set("delivery_date", get_next_schedule_date(reference_doc.delivery_date,
|
|
||||||
auto_repeat_doc.frequency, cint(auto_repeat_doc.repeat_on_day)))
|
def _get_delivery_date(ref_doc_delivery_date, red_doc_transaction_date, transaction_date):
|
||||||
|
delivery_date = get_next_schedule_date(ref_doc_delivery_date,
|
||||||
|
auto_repeat_doc.frequency, cint(auto_repeat_doc.repeat_on_day))
|
||||||
|
|
||||||
|
if delivery_date <= transaction_date:
|
||||||
|
delivery_date_diff = frappe.utils.date_diff(ref_doc_delivery_date, red_doc_transaction_date)
|
||||||
|
delivery_date = frappe.utils.add_days(transaction_date, delivery_date_diff)
|
||||||
|
|
||||||
|
return delivery_date
|
||||||
|
|
||||||
|
self.set("delivery_date", _get_delivery_date(reference_doc.delivery_date,
|
||||||
|
reference_doc.transaction_date, self.transaction_date ))
|
||||||
|
|
||||||
for d in self.get("items"):
|
for d in self.get("items"):
|
||||||
reference_delivery_date = frappe.db.get_value("Sales Order Item",
|
reference_delivery_date = frappe.db.get_value("Sales Order Item",
|
||||||
{"parent": reference_doc.name, "item_code": d.item_code, "idx": d.idx}, "delivery_date")
|
{"parent": reference_doc.name, "item_code": d.item_code, "idx": d.idx}, "delivery_date")
|
||||||
|
|
||||||
d.set("delivery_date", get_next_schedule_date(reference_delivery_date,
|
d.set("delivery_date", _get_delivery_date(reference_delivery_date,
|
||||||
auto_repeat_doc.frequency, cint(auto_repeat_doc.repeat_on_day)))
|
reference_doc.transaction_date, self.transaction_date))
|
||||||
|
|
||||||
|
|
||||||
def get_list_context(context=None):
|
def get_list_context(context=None):
|
||||||
from erpnext.controllers.website_list_for_contact import get_list_context
|
from erpnext.controllers.website_list_for_contact import get_list_context
|
||||||
|
Loading…
x
Reference in New Issue
Block a user