Merge pull request #1806 from nabinhait/v4-hotfix
Fixes
diff --git a/erpnext/accounts/page/financial_analytics/financial_analytics.js b/erpnext/accounts/page/financial_analytics/financial_analytics.js
index 52298bb..4574390 100644
--- a/erpnext/accounts/page/financial_analytics/financial_analytics.js
+++ b/erpnext/accounts/page/financial_analytics/financial_analytics.js
@@ -206,11 +206,11 @@
if(me.pl_or_bs=='Balance Sheet') {
$.each(me.data, function(i, ac) {
if((ac.rgt - ac.lft)==1 && ac.report_type=='Balance Sheet') {
- var opening = 0;
+ var opening = flt(ac["opening_dr"]) - flt(ac["opening_cr"]);
//if(opening) throw opening;
$.each(me.columns, function(i, col) {
if(col.formatter==me.currency_formatter) {
- if(col.balance_type=="Dr") {
+ if(col.balance_type=="Dr" && !in_list(["opening_dr", "opening_cr"], col.field)) {
opening = opening + flt(ac[col.date + "_dr"]) -
flt(ac[col.date + "_cr"]);
me.set_debit_or_credit(ac, col.date, opening);
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index 1600950..bbc9f81 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -68,13 +68,14 @@
self.validate_for_items()
self.validate_warehouse()
self.validate_uom_is_integer("stock_uom", "qty")
- self.update_current_stock()
self.validate_with_previous_doc()
from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
make_packing_list(self, 'delivery_note_details')
- self.status = 'Draft'
+ self.update_current_stock()
+
+ if not self.status: self.status = 'Draft'
if not self.installation_status: self.installation_status = 'Not Installed'
def validate_with_previous_doc(self):
@@ -133,14 +134,17 @@
def update_current_stock(self):
- for d in self.get('delivery_note_details'):
- bin = frappe.db.sql("select actual_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1)
- d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0
+ if self._action != "update_after_submit":
+ for d in self.get('delivery_note_details'):
+ d.actual_qty = frappe.db.get_value("Bin", {"item_code": d.item_code,
+ "warehouse": d.warehouse}, "actual_qty")
- for d in self.get('packing_details'):
- bin = frappe.db.sql("select actual_qty, projected_qty from `tabBin` where item_code = %s and warehouse = %s", (d.item_code, d.warehouse), as_dict = 1)
- d.actual_qty = bin and flt(bin[0]['actual_qty']) or 0
- d.projected_qty = bin and flt(bin[0]['projected_qty']) or 0
+ for d in self.get('packing_details'):
+ bin_qty = frappe.db.get_value("Bin", {"item_code": d.item_code,
+ "warehouse": d.warehouse}, ["actual_qty", "projected_qty"], as_dict=True)
+ if bin_qty:
+ d.actual_qty = flt(bin_qty.actual_qty)
+ d.projected_qty = flt(bin_qty.projected_qty)
def on_submit(self):
self.validate_packed_qty()