[minor] [fix] set stock uom in stock ledger entry through stock reconciliation
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 3c13e0e..b57efcb 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -263,4 +263,5 @@
"patches.september_2013.p01_update_communication",
"execute:webnotes.reload_doc('setup', 'doctype', 'features_setup') # 2013-09-05",
"patches.september_2013.p02_fix_serial_no_status",
+ "patches.september_2013.p03_update_stock_uom_in_sle",
]
\ No newline at end of file
diff --git a/patches/september_2013/p03_update_stock_uom_in_sle.py b/patches/september_2013/p03_update_stock_uom_in_sle.py
new file mode 100644
index 0000000..ba1ea8a
--- /dev/null
+++ b/patches/september_2013/p03_update_stock_uom_in_sle.py
@@ -0,0 +1,9 @@
+# Copyright (c) 2013, Web Notes Technologies Pvt. Ltd.
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import webnotes
+def execute():
+ webnotes.conn.sql("""update `tabStock Ledger Entry` sle, tabItem i
+ set sle.stock_uom = i.stock_uom
+ where sle.item_code = i.name and ifnull(sle.stock_uom, '') = ''""")
\ No newline at end of file
diff --git a/stock/doctype/item/item.py b/stock/doctype/item/item.py
index 75e2b03..2c702a6 100644
--- a/stock/doctype/item/item.py
+++ b/stock/doctype/item/item.py
@@ -70,7 +70,6 @@
matched=True
ref_uom = webnotes.conn.get_value("Stock Ledger Entry",
{"item_code": self.doc.name, "is_cancelled": "No"}, "stock_uom")
-
if ref_uom:
if cstr(ref_uom) != cstr(self.doc.stock_uom):
matched = False
diff --git a/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
index 2f36538..f8616c3 100644
--- a/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
+++ b/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
@@ -72,7 +72,7 @@
def validate_item(self):
item_det = webnotes.conn.sql("""select name, has_batch_no, docstatus,
- is_stock_item, has_serial_no, serial_no_series
+ is_stock_item, has_serial_no, serial_no_series, stock_uom
from tabItem where name=%s""",
self.doc.item_code, as_dict=True)[0]
@@ -88,7 +88,10 @@
if not webnotes.conn.sql("""select name from `tabBatch`
where item='%s' and name ='%s' and docstatus != 2""" % (self.doc.item_code, self.doc.batch_no)):
webnotes.throw("'%s' is not a valid Batch Number for Item '%s'" % (self.doc.batch_no, self.doc.item_code))
-
+
+ if not self.doc.stock_uom:
+ self.doc.stock_uom = item_det.stock_uom
+
self.validate_serial_no(item_det)
def validate_serial_no(self, item_det):
diff --git a/stock/doctype/stock_reconciliation/stock_reconciliation.py b/stock/doctype/stock_reconciliation/stock_reconciliation.py
index dbb0a34..da286d3 100644
--- a/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -243,6 +243,7 @@
"voucher_type": self.doc.doctype,
"voucher_no": self.doc.name,
"company": self.doc.company,
+ "stock_uom": webnotes.conn.get_value("Item", row.item_code, "stock_uom"),
"is_cancelled": "No",
"voucher_detail_no": row.voucher_detail_no,
"fiscal_year": self.doc.fiscal_year,