Merge pull request #14130 from rohitwaghchaure/fixed_financial_report
Added finance book in Asset Depreciation Ledger report, fixed asset issue
diff --git a/erpnext/__init__.py b/erpnext/__init__.py
index e388601..786ade1 100644
--- a/erpnext/__init__.py
+++ b/erpnext/__init__.py
@@ -79,6 +79,19 @@
return frappe.local.enable_perpetual_inventory[company]
+def get_default_finance_book(company=None):
+ if not company:
+ company = get_default_company()
+
+ if not hasattr(frappe.local, 'default_finance_book'):
+ frappe.local.default_finance_book = {}
+
+ if not company in frappe.local.default_finance_book:
+ frappe.local.default_finance_book[company] = frappe.db.get_value("Company",
+ company, "default_finance_book")
+
+ return frappe.local.default_finance_book[company]
+
def get_party_account_type(party_type):
if not hasattr(frappe.local, 'party_account_types'):
frappe.local.party_account_types = {}
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
index 8581a25..017771a 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
@@ -2,7 +2,7 @@
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
-import frappe
+import frappe, erpnext
from frappe import _, scrub
from frappe.utils import getdate, nowdate, flt, cint
@@ -333,11 +333,11 @@
values.append(self.filters.company)
if self.filters.finance_book:
- conditions.append("finance_book in (%s, '')")
+ conditions.append("ifnull(finance_book,'') in (%s, '')")
values.append(self.filters.finance_book)
else:
- conditions.append("ifnull(finance_book,'')=%s")
- values.append('')
+ conditions.append("ifnull(finance_book,'') in (%s, '')")
+ values.append(erpnext.get_default_finance_book(self.filters.company))
if self.filters.get(party_type_field):
conditions.append("party=%s")
diff --git a/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.js b/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.js
index 9fa99c7..126cd03 100644
--- a/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.js
+++ b/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.js
@@ -32,6 +32,12 @@
"options": "Asset"
},
{
+ "fieldname":"finance_book",
+ "label": __("Finance Book"),
+ "fieldtype": "Link",
+ "options": "Finance Book"
+ },
+ {
"fieldname":"asset_category",
"label": __("Asset Category"),
"fieldtype": "Link",
diff --git a/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py b/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py
index 5497384..318c590 100644
--- a/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py
+++ b/erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py
@@ -2,7 +2,7 @@
# For license information, please see license.txt
from __future__ import unicode_literals
-import frappe
+import frappe, erpnext
from frappe import _
def execute(filters=None):
@@ -13,7 +13,7 @@
data = frappe.db.sql("""
select
a.name as asset, a.asset_category, a.status,
- a.depreciation_method, a.purchase_date, a.gross_purchase_amount,
+ ds.depreciation_method, a.purchase_date, a.gross_purchase_amount,
ds.schedule_date as depreciation_date, ds.depreciation_amount,
ds.accumulated_depreciation_amount,
(a.gross_purchase_amount - ds.accumulated_depreciation_amount) as amount_after_depreciation,
@@ -30,9 +30,9 @@
order by
a.name asc, ds.schedule_date asc
""".format(conditions=get_filter_conditions(filters)), filters, as_dict=1)
-
+
return data
-
+
def get_filter_conditions(filters):
conditions = ""
@@ -42,6 +42,12 @@
if filters.get("asset_category"):
conditions += " and a.asset_category = %(asset_category)s"
+ if filters.get("finance_book"):
+ conditions += " and ifnull(ds.finance_book, '') in (%(finance_book)s, '') "
+ else:
+ filters['finance_book'] = erpnext.get_default_finance_book(filters.get("company"))
+ conditions += " and ifnull(ds.finance_book, '') in (%(finance_book)s, '') "
+
return conditions
def get_columns():
diff --git a/erpnext/accounts/report/financial_statements.py b/erpnext/accounts/report/financial_statements.py
index ea22bac..f7bde6c 100644
--- a/erpnext/accounts/report/financial_statements.py
+++ b/erpnext/accounts/report/financial_statements.py
@@ -7,7 +7,7 @@
from past.builtins import cmp
import functools
-import frappe
+import frappe, erpnext
from erpnext.accounts.report.utils import get_currency, convert_to_presentation_currency
from erpnext.accounts.utils import get_fiscal_year
from frappe import _
@@ -379,7 +379,8 @@
additional_conditions.append("finance_book in ('%s', '')" %
frappe.db.escape(filters.get("finance_book")))
else:
- additional_conditions.append("ifnull(finance_book, '') = ''")
+ additional_conditions.append("finance_book in ('%s', '')" %
+ frappe.db.escape(erpnext.get_default_finance_book(filters.get("company"))))
return " and {}".format(" and ".join(additional_conditions)) if additional_conditions else ""
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py
index 7134b91..bd4dfb2 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.py
+++ b/erpnext/accounts/report/general_ledger/general_ledger.py
@@ -2,7 +2,7 @@
# License: GNU General Public License v3. See license.txt
from __future__ import unicode_literals
-import frappe
+import frappe, erpnext
from erpnext import get_company_currency, get_default_company
from erpnext.accounts.report.utils import get_currency, convert_to_presentation_currency
from frappe.utils import getdate, cstr, flt, fmt_money
@@ -168,9 +168,10 @@
conditions.append("project=%(project)s")
if filters.get("finance_book"):
- conditions.append("finance_book in (%(finance_book)s, '')")
+ conditions.append("ifnull(finance_book, '') in (%(finance_book)s, '')")
else:
- conditions.append("ifnull(finance_book, '')=''")
+ filters['finance_book'] = erpnext.get_default_finance_book(filters.get("company"))
+ conditions.append("ifnull(finance_book, '') in (%(finance_book)s, '')")
from frappe.desk.reportview import build_match_conditions
match_conditions = build_match_conditions("GL Entry")
diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py
index 1069db6..84094ce 100644
--- a/erpnext/assets/doctype/asset/asset.py
+++ b/erpnext/assets/doctype/asset/asset.py
@@ -140,6 +140,8 @@
if d.depreciation_method in ("Straight Line", "Manual"):
days = date_diff(schedule_date, from_date)
+ if n == 0: days += 1
+
depreciation_amount = days * rate_per_day
from_date = schedule_date
else:
diff --git a/erpnext/setup/doctype/company/company.json b/erpnext/setup/doctype/company/company.json
index e2f6adf..8501dc2 100644
--- a/erpnext/setup/doctype/company/company.json
+++ b/erpnext/setup/doctype/company/company.json
@@ -178,6 +178,38 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
+ "fieldname": "default_finance_book",
+ "fieldtype": "Link",
+ "hidden": 0,
+ "ignore_user_permissions": 0,
+ "ignore_xss_filter": 0,
+ "in_filter": 0,
+ "in_global_search": 0,
+ "in_list_view": 0,
+ "in_standard_filter": 0,
+ "label": "Default Finance Book",
+ "length": 0,
+ "no_copy": 0,
+ "options": "Finance Book",
+ "permlevel": 0,
+ "precision": "",
+ "print_hide": 0,
+ "print_hide_if_no_value": 0,
+ "read_only": 0,
+ "remember_last_selected_value": 0,
+ "report_hide": 0,
+ "reqd": 0,
+ "search_index": 0,
+ "set_only_once": 0,
+ "translatable": 0,
+ "unique": 0
+ },
+ {
+ "allow_bulk_edit": 0,
+ "allow_on_submit": 0,
+ "bold": 0,
+ "collapsible": 0,
+ "columns": 0,
"fieldname": "cb0",
"fieldtype": "Column Break",
"hidden": 0,
@@ -456,26 +488,26 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
- "fieldname": "default_currency",
+ "fieldname": "default_currency",
"fieldtype": "Link",
"hidden": 0,
- "ignore_user_permissions": 1,
+ "ignore_user_permissions": 1,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
- "label": "Default Currency",
+ "label": "Default Currency",
"length": 0,
"no_copy": 0,
- "options": "Currency",
+ "options": "Currency",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
- "reqd": 1,
+ "reqd": 1,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
@@ -487,7 +519,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
- "fieldname": "default_letter_head",
+ "fieldname": "default_letter_head",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -496,10 +528,10 @@
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
- "label": "Default Letter Head",
+ "label": "Default Letter Head",
"length": 0,
"no_copy": 0,
- "options": "Letter Head",
+ "options": "Letter Head",
"permlevel": 0,
"precision": "",
"print_hide": 0,
@@ -519,7 +551,7 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
- "fieldname": "default_holiday_list",
+ "fieldname": "default_holiday_list",
"fieldtype": "Link",
"hidden": 0,
"ignore_user_permissions": 0,
@@ -528,12 +560,12 @@
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
- "label": "Default Holiday List",
+ "label": "Default Holiday List",
"length": 0,
"no_copy": 0,
- "options": "Holiday List",
+ "options": "Holiday List",
"permlevel": 0,
- "precision": "",
+ "precision": "",
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
@@ -551,26 +583,26 @@
"bold": 0,
"collapsible": 0,
"columns": 0,
- "fieldname": "default_terms",
+ "fieldname": "default_terms",
"fieldtype": "Link",
"hidden": 0,
- "ignore_user_permissions": 0,
+ "ignore_user_permissions": 0,
"ignore_xss_filter": 0,
"in_filter": 0,
"in_global_search": 0,
"in_list_view": 0,
"in_standard_filter": 0,
- "label": "Default Terms",
+ "label": "Default Terms",
"length": 0,
"no_copy": 0,
- "options": "Terms and Conditions",
+ "options": "Terms and Conditions",
"permlevel": 0,
"print_hide": 0,
"print_hide_if_no_value": 0,
"read_only": 0,
"remember_last_selected_value": 0,
"report_hide": 0,
- "reqd": 0,
+ "reqd": 0,
"search_index": 0,
"set_only_once": 0,
"translatable": 0,
@@ -2529,7 +2561,7 @@
"istable": 0,
"max_attachments": 0,
"menu_index": 0,
- "modified": "2018-05-14 06:02:22.105952",
+ "modified": "2018-05-17 21:59:33.594245",
"modified_by": "Administrator",
"module": "Setup",
"name": "Company",