Merge branch 'master' into staging-fixes
diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index de8063d..ba5a8c1 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -5,7 +5,7 @@
from erpnext.hooks import regional_overrides
from frappe.utils import getdate
-__version__ = '10.1.66'
+__version__ = '10.1.67'
def get_default_company(user=None):
'''Get default company for user'''
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.js b/erpnext/accounts/doctype/payment_entry/payment_entry.js
index b0795ca..afb44e8 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.js
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.js
@@ -807,15 +807,25 @@
var write_off_row = $.map(frm.doc["deductions"] || [], function(t) {
return t.account==r.message[account] ? t : null; });
- if (!write_off_row.length) {
- var row = frm.add_child("deductions");
+ var row = [];
+
+ var difference_amount = flt(frm.doc.difference_amount,
+ precision("difference_amount"));
+
+ if (!write_off_row.length && difference_amount) {
+ row = frm.add_child("deductions");
row.account = r.message[account];
row.cost_center = r.message["cost_center"];
} else {
- var row = write_off_row[0];
+ row = write_off_row[0];
}
- row.amount = flt(row.amount) + flt(frm.doc.difference_amount);
+ if (row) {
+ row.amount = flt(row.amount) + difference_amount;
+ } else {
+ frappe.msgprint(__("No gain or loss in the exchange rate"))
+ }
+
refresh_field("deductions");
frm.events.set_unallocated_amount(frm);
diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
index c95c8df..88c612e 100644
--- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
+++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
@@ -55,7 +55,7 @@
]
row += [(d.base_net_rate * d.qty)/d.stock_qty, d.base_net_amount] \
- if d.stock_uom != d.uom else [d.base_net_rate, d.base_net_amount]
+ if d.stock_uom != d.uom and d.stock_qty != 0 else [d.base_net_rate, d.base_net_amount]
total_tax = 0
for tax in tax_columns:
diff --git a/erpnext/hr/doctype/employee_advance/employee_advance.py b/erpnext/hr/doctype/employee_advance/employee_advance.py
index ee0cb83..62355b8 100644
--- a/erpnext/hr/doctype/employee_advance/employee_advance.py
+++ b/erpnext/hr/doctype/employee_advance/employee_advance.py
@@ -69,7 +69,8 @@
where employee_advance = %s and docstatus=1 and allocated_amount > 0
""", self.name)[0][0]
- frappe.db.set_value("Employee Advance", self.name, "claimed_amount", flt(claimed_amount))
+ if claimed_amount:
+ frappe.db.set_value("Employee Advance", self.name, "claimed_amount", flt(claimed_amount))
@frappe.whitelist()
def get_due_advance_amount(employee, posting_date):