def make_sales_invoice(name): asset_disposal = frappe.get_doc("Asset Disposal", name) si = frappe.new_doc("Sales Invoice") si.company = asset_disposal.company si.currency = frappe.get_cached_value('Company', asset_disposal.company, "default_currency") disposal_account, depreciation_cost_center = get_disposal_account_and_cost_center( asset_disposal.company) for asset in asset_disposal.table_10: item = frappe.get_doc("Item", asset.item_code) si.append( "items", { "item_code": item.name, "item_name": item.item_name, "description": item.description, "is_fixed_asset": 1, "asset": asset.asset, "income_account": disposal_account, "uom": "Nos", "rate": asset.nbv, "cost_center": depreciation_cost_center, "qty": 1 }) si.set_missing_values() return si
def set_income_account_for_fixed_assets(self): disposal_account = depreciation_cost_center = None for d in self.get("items"): if d.is_fixed_asset: if not disposal_account: disposal_account, depreciation_cost_center = get_disposal_account_and_cost_center(self.company) d.income_account = disposal_account if not d.cost_center: d.cost_center = depreciation_cost_center
def make_sales_invoice(asset, item_code, company): si = frappe.new_doc("Sales Invoice") si.company = company si.currency = frappe.db.get_value("Company", company, "default_currency") disposal_account, depreciation_cost_center = get_disposal_account_and_cost_center(company) si.append("items", { "item_code": item_code, "is_fixed_asset": 1, "asset": asset, "income_account": disposal_account, "cost_center": depreciation_cost_center, "qty": 1 }) si.set_missing_values() return si