From dea3fb0d64e3be5d73893de18caf2083b7990605 Mon Sep 17 00:00:00 2001 From: Anand Doshi Date: Thu, 5 Feb 2015 15:05:58 +0530 Subject: [PATCH 1/3] [fix] call calculate code only once after applying pricing rule --- erpnext/public/js/transaction.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/erpnext/public/js/transaction.js b/erpnext/public/js/transaction.js index 6d38b46b782..e1e78a3c01f 100644 --- a/erpnext/public/js/transaction.js +++ b/erpnext/public/js/transaction.js @@ -404,23 +404,27 @@ erpnext.TransactionController = erpnext.stock.StockController.extend({ _set_values_for_item_list: function(children) { var me = this; var price_list_rate_changed = false; - $.each(children, function(i, d) { + for(var i=0, l=children.length; i Date: Thu, 5 Feb 2015 15:11:50 +0530 Subject: [PATCH 2/3] divisional loss adjustment while doing gl entry for purchase receipt --- .../purchase_receipt/purchase_receipt.py | 27 ++++++++++++++++--- 1 file changed, 24 insertions(+), 3 deletions(-) diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py index e04abbb2bc7..abc08598290 100644 --- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py +++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py @@ -138,10 +138,11 @@ class PurchaseReceipt(BuyingController): pr_qty = flt(d.qty) * flt(d.conversion_factor) if pr_qty: + val_rate_db_precision = 6 if cint(self.precision("valuation_rate")) <= 6 else 9 sl_entries.append(self.get_sl_entries(d, { "actual_qty": flt(pr_qty), "serial_no": cstr(d.serial_no).strip(), - "incoming_rate": d.valuation_rate + "incoming_rate": flt(d.valuation_rate, val_rate_db_precision) })) if flt(d.rejected_qty) > 0: @@ -288,14 +289,16 @@ class PurchaseReceipt(BuyingController): if d.item_code in stock_items and flt(d.valuation_rate) and flt(d.qty): if warehouse_account.get(d.warehouse): + val_rate_db_precision = 6 if cint(self.precision("valuation_rate")) <= 6 else 9 + # warehouse account gl_entries.append(self.get_gl_dict({ "account": warehouse_account[d.warehouse], "against": stock_rbnb, "cost_center": d.cost_center, "remarks": self.get("remarks") or _("Accounting Entry for Stock"), - "debit": flt(flt(d.valuation_rate) * flt(d.qty) * flt(d.conversion_factor), - self.precision("valuation_rate", d)) + "debit": flt(flt(d.valuation_rate, val_rate_db_precision) * flt(d.qty) * flt(d.conversion_factor), + self.precision("base_amount", d)) })) # stock received but not billed @@ -329,6 +332,24 @@ class PurchaseReceipt(BuyingController): "credit": flt(d.rm_supp_cost) })) + # divisional loss adjustment + if not self.get("other_charges"): + sle_valuation_amount = flt(flt(d.valuation_rate, val_rate_db_precision) * flt(d.qty) * flt(d.conversion_factor), + self.precision("base_amount", d)) + + distributed_amount = flt(flt(d.base_amount, self.precision("base_amount", d))) + \ + flt(d.landed_cost_voucher_amount) + flt(d.rm_supp_cost) + + divisional_loss = flt(distributed_amount - sle_valuation_amount, self.precision("base_amount", d)) + if divisional_loss: + gl_entries.append(self.get_gl_dict({ + "account": stock_rbnb, + "against": warehouse_account[d.warehouse], + "cost_center": d.cost_center, + "remarks": self.get("remarks") or _("Accounting Entry for Stock"), + "debit": divisional_loss + })) + elif d.warehouse not in warehouse_with_no_account or \ d.rejected_warehouse not in warehouse_with_no_account: warehouse_with_no_account.append(d.warehouse) From 43f627a83ab78acd42e02e28ef6046145efacbfd Mon Sep 17 00:00:00 2001 From: Pratik Vyas Date: Thu, 5 Feb 2015 16:14:06 +0600 Subject: [PATCH 3/3] bumped to version 4.21.1 --- erpnext/__version__.py | 2 +- erpnext/hooks.py | 2 +- setup.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/__version__.py b/erpnext/__version__.py index a6040f0cd74..823132d7572 100644 --- a/erpnext/__version__.py +++ b/erpnext/__version__.py @@ -1 +1 @@ -__version__ = '4.21.0' +__version__ = '4.21.1' diff --git a/erpnext/hooks.py b/erpnext/hooks.py index 99aaff095a1..80135293c9c 100644 --- a/erpnext/hooks.py +++ b/erpnext/hooks.py @@ -4,7 +4,7 @@ app_publisher = "Web Notes Technologies Pvt. Ltd. and Contributors" app_description = "Open Source Enterprise Resource Planning for Small and Midsized Organizations" app_icon = "icon-th" app_color = "#e74c3c" -app_version = "4.21.0" +app_version = "4.21.1" error_report_email = "support@erpnext.com" diff --git a/setup.py b/setup.py index aa408de53f8..d87fb6257e7 100644 --- a/setup.py +++ b/setup.py @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import os -version = "4.21.0" +version = "4.21.1" with open("requirements.txt", "r") as f: install_requires = f.readlines()