issue fixed in packing slip
diff --git a/stock/doctype/packing_slip/packing_slip.py b/stock/doctype/packing_slip/packing_slip.py
index b90b0e6..5f4fda0 100644
--- a/stock/doctype/packing_slip/packing_slip.py
+++ b/stock/doctype/packing_slip/packing_slip.py
@@ -186,10 +186,30 @@
 		if not self.doc.from_case_no:
 			self.doc.from_case_no = self.get_recommended_case_no()
 
-		from webnotes.model.code import get_obj
-		for d in self.doclist:
-			psd_obj = get_obj(doc=d)
-			psd_obj.get_item_details(self.doc.delivery_note)
+		for d in self.doclist.get({"parentfield": "item_details"}):
+			self.set_item_details(d)
+
+
+	def set_item_details(self, row):
+		res = webnotes.conn.sql("""\
+			SELECT item_name, SUM(IFNULL(qty, 0)) as total_qty,
+			IFNULL(packed_qty,	0) as packed_qty, stock_uom
+			FROM `tabDelivery Note Item`
+			WHERE parent=%s AND item_code=%s GROUP BY item_code""",
+			(self.doc.delivery_note, row.item_code), as_dict=1)
+
+		if res and len(res)>0:
+			qty = res[0]['total_qty'] - res[0]['packed_qty']
+			if not row.qty:
+				row.qty = qty >= 0 and qty or 0
+
+		res = webnotes.conn.sql("""\
+			SELECT net_weight, weight_uom FROM `tabItem`
+			WHERE name=%s""", self.doc.item_code, as_dict=1)
+
+		if res and len(res)>0:
+			row.net_weight = res[0]["net_weight"]
+			row.weight_uom = res[0]["weight_uom"]
 
 
 	def get_recommended_case_no(self):
@@ -201,6 +221,4 @@
 			SELECT MAX(to_case_no) FROM `tabPacking Slip`
 			WHERE delivery_note = %(delivery_note)s AND docstatus=1""", self.doc.fields)
 
-		return cint(recommended_case_no[0][0]) + 1
-		
-
+		return cint(recommended_case_no[0][0]) + 1
\ No newline at end of file
diff --git a/stock/doctype/packing_slip_item/packing_slip_item.py b/stock/doctype/packing_slip_item/packing_slip_item.py
deleted file mode 100644
index cfd57e7..0000000
--- a/stock/doctype/packing_slip_item/packing_slip_item.py
+++ /dev/null
@@ -1,46 +0,0 @@
-# ERPNext - web based ERP (http://erpnext.com)
-# Copyright (C) 2012 Web Notes Technologies Pvt Ltd
-# 
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-# 
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-from __future__ import unicode_literals
-import webnotes
-
-class DocType:
-	def __init__(self, d, dl):
-		self.doc, self.doclist = d, dl
-
-	def get_item_details(self, delivery_note):
-		res = webnotes.conn.sql("""\
-			SELECT item_name, SUM(IFNULL(qty, 0)) as total_qty,
-			IFNULL(packed_qty,	0) as packed_qty, stock_uom
-			FROM `tabDelivery Note Item`
-			WHERE parent=%s AND item_code=%s GROUP BY item_code""",
-			(delivery_note, self.doc.item_code), as_dict=1)
-
-		if res and len(res)>0:
-			res = res[0]
-			res['qty'] = res['total_qty'] - res['packed_qty']
-			res['qty'] = self.doc.qty or (res['qty']>=0 and res['qty'] or 0)
-			del res['total_qty']
-			del res['packed_qty']
-			self.doc.fields.update(res)
-
-		res = webnotes.conn.sql("""\
-			SELECT net_weight, weight_uom FROM `tabItem`
-			WHERE name=%s""", self.doc.item_code, as_dict=1)
-
-		if res and len(res)>0:
-			res = res[0]
-			self.doc.fields.update(res)