From 27af6b377fb77bcf869714dac50d81677998d54c Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 8 Feb 2019 16:52:13 +0530 Subject: [PATCH 1/5] fix: defered accounting fixes --- erpnext/accounts/deferred_revenue.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/erpnext/accounts/deferred_revenue.py b/erpnext/accounts/deferred_revenue.py index 9ff8b04281..13c57fe326 100644 --- a/erpnext/accounts/deferred_revenue.py +++ b/erpnext/accounts/deferred_revenue.py @@ -128,9 +128,13 @@ def book_deferred_income_or_expense(doc, start_date=None, end_date=None): # book the expense/income on the last day, but it will be trigger on the 1st of month at 12:00 AM # start_date: 1st of the last month or the start date # end_date: end_date or today-1 + enable_check = "enable_deferred_revenue" \ + if doc.doctype=="Sales Invoice" else "enable_deferred_expense" gl_entries = [] for item in doc.get('items'): + if not item.get(enable_check): continue + skip = False last_gl_entry, booking_start_date, booking_end_date, skip = \ get_booking_dates(doc, item, start_date, end_date) From e3b0f4f9f639579fd58f928cc8d2d280a77c0bfd Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 8 Feb 2019 16:53:02 +0530 Subject: [PATCH 2/5] fix: removed account type filter on employee advance account --- erpnext/accounts/doctype/payment_entry/payment_entry.py | 4 ++-- erpnext/hr/doctype/employee_advance/employee_advance.js | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py index 7f1f55005c..f303301a33 100644 --- a/erpnext/accounts/doctype/payment_entry/payment_entry.py +++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py @@ -171,7 +171,7 @@ class PaymentEntry(AccountsController): if not frappe.db.exists(self.party_type, self.party): frappe.throw(_("Invalid {0}: {1}").format(self.party_type, self.party)) - if self.party_account: + if self.party_account and self.party_type in ("Customer", "Supplier"): self.validate_account_type(self.party_account, [erpnext.get_party_account_type(self.party_type)]) @@ -689,7 +689,7 @@ def get_party_details(company, party_type, party, date, cost_center=None): account_currency = get_account_currency(party_account) account_balance = get_balance_on(party_account, date, cost_center=cost_center) - _party_name = "title" if party_type == "Student" else party_type.lower() + "_name" + _party_name = "title" if party_type in ("Student", "Shareholder") else party_type.lower() + "_name" party_name = frappe.db.get_value(party_type, party, _party_name) party_balance = get_balance_on(party_type=party_type, party=party, cost_center=cost_center) if party_type in ["Customer", "Supplier"]: diff --git a/erpnext/hr/doctype/employee_advance/employee_advance.js b/erpnext/hr/doctype/employee_advance/employee_advance.js index c73df624e2..f4285a2ca2 100644 --- a/erpnext/hr/doctype/employee_advance/employee_advance.js +++ b/erpnext/hr/doctype/employee_advance/employee_advance.js @@ -19,7 +19,6 @@ frappe.ui.form.on('Employee Advance', { filters: { "root_type": "Asset", "is_group": 0, - "account_type": "Payable", "company": frm.doc.company } }; From 450fe309d681d8d30c34359e2bfdc1e92de57816 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 8 Feb 2019 16:54:56 +0530 Subject: [PATCH 3/5] fix: allow updating title of material request --- erpnext/stock/doctype/material_request/material_request.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py index f3e3abfde2..47d61f847f 100644 --- a/erpnext/stock/doctype/material_request/material_request.py +++ b/erpnext/stock/doctype/material_request/material_request.py @@ -81,9 +81,9 @@ class MaterialRequest(BuyingController): def set_title(self): '''Set title as comma separated list of items''' - items = ', '.join([d.item_name for d in self.items][:4]) - - self.title = _('{0} for {1}'.format(self.material_request_type, items))[:100] + if not self.title: + items = ', '.join([d.item_name for d in self.items][:3]) + self.title = _('{0} Request for {1}').format(self.material_request_type, items)[:100] def on_submit(self): # frappe.db.set(self, 'status', 'Submitted') From 8d4bb3e327b6bb0d0dbde62c2c191ed05199c33c Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 8 Feb 2019 16:55:46 +0530 Subject: [PATCH 4/5] fix: backflush only if transferred item is present in work order --- erpnext/stock/doctype/stock_entry/stock_entry.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py index 5d3c6c4adc..358d4e93be 100644 --- a/erpnext/stock/doctype/stock_entry/stock_entry.py +++ b/erpnext/stock/doctype/stock_entry/stock_entry.py @@ -914,6 +914,11 @@ class StockEntry(StockController): filters={'parent': self.work_order, 'item_code': item_code}, fields=["required_qty", "consumed_qty"] ) + if not req_items: + frappe.msgprint(_("Did not found transfered item {0} in Work Order {1}, the item not added in Stock Entry") + .format(item_code, self.work_order)) + continue + req_qty = flt(req_items[0].required_qty) req_qty_each = flt(req_qty / manufacturing_qty) consumed_qty = flt(req_items[0].consumed_qty) From 17e0513270b7fe04bc4d2d47860ec1721e1b2b7d Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Fri, 8 Feb 2019 16:56:11 +0530 Subject: [PATCH 5/5] fix: message if stock reco is enqueued --- .../stock/doctype/stock_reconciliation/stock_reconciliation.py | 1 + 1 file changed, 1 insertion(+) diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py index eb60ce56e9..a00d279f97 100644 --- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py +++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py @@ -259,6 +259,7 @@ class StockReconciliation(StockController): def submit(self): if len(self.items) > 100: + msgprint(_("The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage")) self.queue_action('submit') else: self._submit()