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 |
Chillar Anand | 915b343 | 2021-09-02 16:44:59 +0530 | [diff] [blame] | 9 | |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 10 | from erpnext.assets.doctype.asset.asset import make_sales_invoice |
Kanchan Chauhan | e58a41a | 2017-10-17 15:17:24 +0530 | [diff] [blame] | 11 | from erpnext.assets.doctype.asset.depreciation import post_depreciation_entries, scrap_asset |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 12 | |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 13 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 14 | def work(): |
| 15 | frappe.set_user(frappe.db.get_global('demo_accounts_user')) |
| 16 | |
Nabin Hait | 117be7d | 2017-04-18 14:02:07 +0530 | [diff] [blame] | 17 | # Enable booking asset depreciation entry automatically |
| 18 | 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] | 19 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 20 | # post depreciation entries as on today |
| 21 | post_depreciation_entries() |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 22 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 23 | # scrap a random asset |
| 24 | 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] | 25 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 26 | asset = get_random_asset() |
| 27 | scrap_asset(asset.name) |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 28 | |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 29 | # Sell a random asset |
| 30 | sell_an_asset() |
| 31 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 32 | |
| 33 | def sell_an_asset(): |
| 34 | asset = get_random_asset() |
| 35 | si = make_sales_invoice(asset.name, asset.item_code, "Wind Power LLC") |
| 36 | si.customer = get_random("Customer") |
| 37 | si.get("items")[0].rate = asset.value_after_depreciation * 0.8 \ |
| 38 | if asset.value_after_depreciation else asset.gross_purchase_amount * 0.9 |
| 39 | si.save() |
| 40 | si.submit() |
Chinmay D. Pai | 8663621 | 2020-03-11 16:20:07 +0530 | [diff] [blame] | 41 | |
| 42 | |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 43 | def get_random_asset(): |
| 44 | 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] | 45 | from `tabAsset` |
Nabin Hait | 3edefb1 | 2016-07-20 16:13:18 +0530 | [diff] [blame] | 46 | where docstatus=1 and status not in ("Scrapped", "Sold") order by rand() limit 1""", as_dict=1)[0] |