* fix: using DN for transfer w/o internal customer (backport #27798) (#27805) * fix: using DN for transfer w/o internal customer (#27798) This used to be work before though not "advertised", since a lot of users have started using it as feature, it can't be broken now. (cherry picked from commitdf1f8fddf6) * fix(ux): use toast instead of popup Co-authored-by: Ankush Menat <ankush@iwebnotes.com> (cherry picked from commitfa944382c5) # Conflicts: # erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py * fix: resolve conflict * fix: resolve conflicts Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> Co-authored-by: Ankush Menat <ankush@iwebnotes.com>
This commit is contained in:
@@ -424,7 +424,7 @@ class SellingController(StockController):
|
||||
or (cint(self.is_return) and self.docstatus==2)):
|
||||
sl_entries.append(self.get_sle_for_source_warehouse(d))
|
||||
|
||||
if d.target_warehouse and self.get("is_internal_customer"):
|
||||
if d.target_warehouse:
|
||||
sl_entries.append(self.get_sle_for_target_warehouse(d))
|
||||
|
||||
if d.warehouse and ((not cint(self.is_return) and self.docstatus==2)
|
||||
@@ -559,6 +559,12 @@ class SellingController(StockController):
|
||||
frappe.throw(_("Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same")
|
||||
.format(d.idx, warehouse, warehouse))
|
||||
|
||||
if not self.get("is_internal_customer") and any(d.get("target_warehouse") for d in items):
|
||||
msg = _("Target Warehouse is set for some items but the customer is not an internal customer.")
|
||||
msg += " " + _("This {} will be treated as material transfer.").format(_(self.doctype))
|
||||
frappe.msgprint(msg, title="Internal Transfer", alert=True)
|
||||
|
||||
|
||||
def validate_items(self):
|
||||
# validate items to see if they have is_sales_item enabled
|
||||
from erpnext.controllers.buying_controller import validate_item_type
|
||||
|
||||
Reference in New Issue
Block a user