Merge pull request #46 from nabinhait/master

check actual qty with total number of serial no in store
This commit is contained in:
Nabin Hait 2011-08-18 01:57:22 -07:00
commit 291b426990
2 changed files with 18 additions and 2 deletions

View File

@ -38,6 +38,9 @@ class DocType:
self.doc.save() self.doc.save()
# check actual qty with total number of serial no
self.check_qty_with_serial_no()
# update valuation for post dated entry # update valuation for post dated entry
if actual_qty: if actual_qty:
prev_sle = self.get_prev_sle(dt, posting_time, sle_id) prev_sle = self.get_prev_sle(dt, posting_time, sle_id)
@ -48,6 +51,18 @@ class DocType:
self.update_item_valuation(sle_id, dt, posting_time, serial_no, prev_sle) self.update_item_valuation(sle_id, dt, posting_time, serial_no, prev_sle)
def check_qty_with_serial_no(self):
"""
check actual qty with total number of serial no in store
Temporary validation added on: 18-07-2011
"""
if sql("select name from `tabItem` where ifnull(has_serial_no, 'No') = 'Yes' and name = '%s'" % self.doc.item_code):
sr_count = sql("select count(name) from `tabSerial No` where item_code = '%s' and warehouse = '%s' and status ='In Store' and docstatus != 2" % (self.doc.item_code, self.doc.warehouse))[0][0]
if sr_count != self.doc.actual_qty:
msg = "Actual Qty in Bin is mismatched with total number of serial no in store for item: '%s' and warehouse: '%s'" % (self.doc.item_code, self.doc.warehouse)
msgprint(msg, raise_exception=1)
sendmail(['developer@iwebnotes.com'], sender='automail@webnotestech.com', subject='Serial No Count vs Bin Actual Qty', parts=[['text/plain', msg]])
# -------------------------------- # --------------------------------
# get first stock ledger entry # get first stock ledger entry
# -------------------------------- # --------------------------------

View File

@ -355,6 +355,7 @@ class DocType:
# ---------------------------------- # ----------------------------------
def update_serial_no(self, is_submit): def update_serial_no(self, is_submit):
sl_obj = get_obj('Stock Ledger') sl_obj = get_obj('Stock Ledger')
if is_submit:
sl_obj.validate_serial_no_warehouse(self, 'mtn_details') sl_obj.validate_serial_no_warehouse(self, 'mtn_details')
for d in getlist(self.doclist, 'mtn_details'): for d in getlist(self.doclist, 'mtn_details'):