Merge branch 'develop' into fg_based_operating_cost
diff --git a/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py b/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py
index bb50df0..faffd11 100644
--- a/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py
+++ b/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py
@@ -86,6 +86,7 @@
"status",
"department",
"cost_center",
+ "calculate_depreciation",
"purchase_receipt",
"asset_category",
"purchase_date",
@@ -98,11 +99,7 @@
assets_record = frappe.db.get_all("Asset", filters=conditions, fields=fields)
for asset in assets_record:
- asset_value = (
- asset.gross_purchase_amount
- - flt(asset.opening_accumulated_depreciation)
- - flt(depreciation_amount_map.get(asset.name))
- )
+ asset_value = get_asset_value(asset, filters.finance_book)
row = {
"asset_id": asset.asset_id,
"asset_name": asset.asset_name,
@@ -125,6 +122,21 @@
return data
+def get_asset_value(asset, finance_book=None):
+ if not asset.calculate_depreciation:
+ return flt(asset.gross_purchase_amount) - flt(asset.opening_accumulated_depreciation)
+
+ finance_book_filter = ["finance_book", "is", "not set"]
+ if finance_book:
+ finance_book_filter = ["finance_book", "=", finance_book]
+
+ return frappe.db.get_value(
+ doctype="Asset Finance Book",
+ filters=[["parent", "=", asset.asset_id], finance_book_filter],
+ fieldname="value_after_depreciation",
+ )
+
+
def prepare_chart_data(data, filters):
labels_values_map = {}
date_field = frappe.scrub(filters.date_based_on)
diff --git a/erpnext/stock/doctype/pick_list/test_pick_list.py b/erpnext/stock/doctype/pick_list/test_pick_list.py
index 71663e8..43acdf0 100644
--- a/erpnext/stock/doctype/pick_list/test_pick_list.py
+++ b/erpnext/stock/doctype/pick_list/test_pick_list.py
@@ -460,16 +460,7 @@
self.assertEqual(len(pl.locations), 4)
# grouping should halve the number of items
- pl = frappe.get_doc(
- doctype="Pick List",
- group_same_items=True,
- locations=[
- _dict(item_code="A", warehouse="X", qty=5, picked_qty=1),
- _dict(item_code="B", warehouse="Y", qty=4, picked_qty=2),
- _dict(item_code="A", warehouse="X", qty=3, picked_qty=2),
- _dict(item_code="B", warehouse="Y", qty=2, picked_qty=2),
- ],
- )
+ pl.group_same_items = True
pl.before_print()
self.assertEqual(len(pl.locations), 2)