Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 1 | |
| 2 | # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors |
| 3 | # License: GNU General Public License v3. See license.txt |
| 4 | |
| 5 | from __future__ import unicode_literals |
| 6 | |
| 7 | import frappe |
| 8 | from frappe.utils.make_random import get_random |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 9 | from erpnext.assets.doctype.asset.asset import make_sales_invoice |
Kanchan Chauhan | e58a41a | 2017-10-17 15:17:24 +0530 | [diff] [blame] | 10 | from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries, scrap_asset |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 11 | |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 12 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 13 | def work(): |
| 14 | frappe.set_user(frappe.db.get_global('demo_accounts_user')) |
| 15 | |
Nabin Hait | 117be7d | 2017-04-18 14:02:07 +0530 | [diff] [blame] | 16 | # Enable booking asset depreciation entry automatically |
| 17 | frappe.db.set_value("Accounts Settings", None, "book_asset_depreciation_entry_automatically", 1) |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 18 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 19 | # post depreciation entries as on today |
| 20 | post_depreciation_entries() |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 21 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 22 | # scrap a random asset |
| 23 | frappe.db.set_value("Company", "Wind Power LLC", "disposal_account", "Gain/Loss on Asset Disposal - WPL") |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 24 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 25 | asset = get_random_asset() |
| 26 | scrap_asset(asset.name) |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 27 | |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 28 | # Sell a random asset |
| 29 | sell_an_asset() |
| 30 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 31 | |
| 32 | def sell_an_asset(): |
| 33 | asset = get_random_asset() |
| 34 | si = make_sales_invoice(asset.name, asset.item_code, "Wind Power LLC") |
| 35 | si.customer = get_random("Customer") |
| 36 | si.get("items")[0].rate = asset.value_after_depreciation * 0.8 \ |
| 37 | if asset.value_after_depreciation else asset.gross_purchase_amount * 0.9 |
| 38 | si.save() |
| 39 | si.submit() |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 40 | |
| 41 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 42 | def get_random_asset(): |
| 43 | return frappe.db.sql(""" select name, item_code, value_after_depreciation, gross_purchase_amount |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 44 | from `tabAsset` |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 45 | where docstatus=1 and status not in ("Scrapped", "Sold") order by rand() limit 1""", as_dict=1)[0] |