odoo_utility_scripts/list_asset_models.py
2026-01-21 17:03:32 +07:00

33 lines
1.1 KiB
Python

import sys
import os
PROJECT_ROOT = os.path.abspath(os.path.join(os.path.dirname(__file__), '..'))
ODOO_PATH = os.path.join(PROJECT_ROOT, 'odoo')
CONF_FILE = os.path.join(PROJECT_ROOT, 'odoo.conf')
DB_NAME = 'kipasdbclone5'
if ODOO_PATH not in sys.path:
sys.path.append(ODOO_PATH)
import odoo
from odoo import api, SUPERUSER_ID
def list_models():
try:
odoo.tools.config.parse_config(['-c', CONF_FILE])
registry = odoo.registry(DB_NAME)
except Exception as e:
print(f"Error: {e}")
return
with registry.cursor() as cr:
env = api.Environment(cr, SUPERUSER_ID, {})
models = env['account.asset'].search([('state', '=', 'model')])
print(f"Found {len(models)} Asset Models:")
for m in models:
print(f"- Name: '{m.name}' | Method: {m.method} | Duration: {m.method_number} {m.method_period}")
print(f" Accounts: Asset={m.account_asset_id.code}, Depr={m.account_depreciation_id.code}, Exp={m.account_depreciation_expense_id.code}")
if __name__ == "__main__":
list_models()