Merge branch 'master' into edge
diff --git a/accounts/doctype/sales_invoice/sales_invoice.py b/accounts/doctype/sales_invoice/sales_invoice.py
index 4c71cb3..050a490 100644
--- a/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/accounts/doctype/sales_invoice/sales_invoice.py
@@ -558,13 +558,15 @@
"""Validate values with reference document with previous document"""
for d in self.doclist.get({"parentfield": "entries"}):
if d.so_detail:
- self.check_value("Sales Order", d.so_detail, d.export_rate, d.item_code)
+ self.check_value("Sales Order", d.sales_order, d.so_detail,
+ d.export_rate, d.item_code)
if d.dn_detail:
- self.check_value("Delivery Note", d.dn_detail, d.export_rate, d.item_code)
+ self.check_value("Delivery Note", d.delivery_note, d.dn_detail,
+ d.export_rate, d.item_code)
- def check_value(self, ref_dt, ref_dn, val, item_code):
- ref_val = webnotes.conn.get_value(ref_dt + "Item", ref_dn, "export_rate")
- if flt(ref_val) != val:
+ def check_value(self, ref_dt, ref_dn, ref_item_dn, val, item_code):
+ ref_val = webnotes.conn.get_value(ref_dt + " Item", ref_item_dn, "export_rate")
+ if flt(ref_val) != flt(val):
msgprint(_("Rate is not matching with ") + ref_dt + ": " + ref_dn +
_(" for item: ") + item_code, raise_exception=True)
diff --git a/patches/may_2013/p05_update_cancelled_gl_entries.py b/patches/may_2013/p05_update_cancelled_gl_entries.py
new file mode 100644
index 0000000..59eed7e
--- /dev/null
+++ b/patches/may_2013/p05_update_cancelled_gl_entries.py
@@ -0,0 +1,29 @@
+# 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
+from webnotes.utils import cint
+
+def execute():
+ aii_enabled = cint(webnotes.conn.get_value("Global Defaults", None,
+ "auto_inventory_accounting"))
+
+ if aii_enabled:
+ webnotes.conn.sql("""update `tabGL Entry` gle set is_cancelled = 'Yes'
+ where voucher_type = 'Delivery Note'
+ and exists(select name from `tabDelivery Note`
+ where name = gle.voucher_no and docstatus = 2)""")
\ No newline at end of file
diff --git a/patches/patch_list.py b/patches/patch_list.py
index 89f48e5..ea61a04 100644
--- a/patches/patch_list.py
+++ b/patches/patch_list.py
@@ -251,4 +251,5 @@
"patches.may_2013.p02_update_valuation_rate",
"patches.may_2013.p03_update_support_ticket",
"patches.may_2013.p04_reorder_level",
+ "patches.may_2013.p05_update_cancelled_gl_entries",
]
\ No newline at end of file
diff --git a/stock/doctype/delivery_note/delivery_note.py b/stock/doctype/delivery_note/delivery_note.py
index 15e24ef..6ffd960 100644
--- a/stock/doctype/delivery_note/delivery_note.py
+++ b/stock/doctype/delivery_note/delivery_note.py
@@ -419,4 +419,4 @@
if gl_entries:
from accounts.general_ledger import make_gl_entries
- make_gl_entries(gl_entries)
\ No newline at end of file
+ make_gl_entries(gl_entries, cancel=(self.doc.docstatus == 2))
\ No newline at end of file
diff --git a/stock/stock_ledger.py b/stock/stock_ledger.py
index 2480263..10e490c 100644
--- a/stock/stock_ledger.py
+++ b/stock/stock_ledger.py
@@ -35,6 +35,9 @@
"posting_time": "12:00"
}
"""
+ global _exceptions
+ _exceptions = []
+
previous_sle = get_sle_before_datetime(args)
qty_after_transaction = flt(previous_sle.get("qty_after_transaction"))