From c7628c98c58b9242255bc18245c4d27b5d7169c8 Mon Sep 17 00:00:00 2001 From: s-aga-r Date: Fri, 28 Apr 2023 09:06:50 +0530 Subject: [PATCH] fix: remove duplicate items validation (cherry picked from commit ee9f97ca7ca052b39f181dfbeca65278f1957b3c) --- .../doctype/packing_slip/packing_slip.js | 48 +++++++------------ 1 file changed, 17 insertions(+), 31 deletions(-) diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.js b/erpnext/stock/doctype/packing_slip/packing_slip.js index f9cd2bf08c6d..fb91930273ce 100644 --- a/erpnext/stock/doctype/packing_slip/packing_slip.js +++ b/erpnext/stock/doctype/packing_slip/packing_slip.js @@ -70,51 +70,37 @@ frappe.ui.form.on("Packing Slip", { }, validate_calculate_item_details: (frm) => { - doc = locals[frm.doc.doctype][frm.doc.name]; - var ps_detail = doc.items || []; - - frm.events.validate_duplicate_items(doc, ps_detail); - frm.events.calc_net_total_pkg(doc, ps_detail); + frm.trigger("validate_items_qty"); + frm.trigger("calc_net_total_pkg"); }, - // Do not allow duplicate items i.e. items with same item_code - // Also check for 0 qty - validate_duplicate_items: (doc, ps_detail) => { - for(var i=0; i { + frm.doc.items.forEach(item => { + if (item.qty <= 0) { + frappe.msgprint(__("Invalid quantity specified for item {0}. Quantity should be greater than 0.", [item.item_code])); frappe.validated = false; } - } + }); }, - // Calculate Net Weight of Package - calc_net_total_pkg: (doc, ps_detail) => { + calc_net_total_pkg: (frm) => { var net_weight_pkg = 0; - doc.net_weight_uom = (ps_detail && ps_detail.length) ? ps_detail[0].weight_uom : ''; - doc.gross_weight_uom = doc.net_weight_uom; + var items = frm.doc.items || []; + frm.doc.net_weight_uom = (items && items.length) ? items[0].weight_uom : ''; + frm.doc.gross_weight_uom = frm.doc.net_weight_uom; - for(var i=0; i { + if(item.weight_uom != frm.doc.net_weight_uom) { frappe.msgprint(__("Different UOM for items will lead to incorrect (Total) Net Weight value. Make sure that Net Weight of each item is in the same UOM.")); frappe.validated = false; } net_weight_pkg += flt(item.net_weight) * flt(item.qty); - } + }); - doc.net_weight_pkg = roundNumber(net_weight_pkg, 2); + frm.doc.net_weight_pkg = roundNumber(net_weight_pkg, 2); - if(!flt(doc.gross_weight_pkg)) { - doc.gross_weight_pkg = doc.net_weight_pkg; + if(!flt(frm.doc.gross_weight_pkg)) { + frm.doc.gross_weight_pkg = frm.doc.net_weight_pkg; } refresh_many(['net_weight_pkg', 'net_weight_uom', 'gross_weight_uom', 'gross_weight_pkg']);