57 lines
2.1 KiB
Python
57 lines
2.1 KiB
Python
import sys
|
|
|
|
def fix_company_journals(env):
|
|
company_name = 'Kedai Kipas 58 Tenggilis'
|
|
company = env['res.company'].search([('name', 'ilike', company_name)], limit=1)
|
|
|
|
if not company:
|
|
print(f"Company {company_name} not found.")
|
|
return
|
|
|
|
print(f"Fixing journals for company: {company.name} (ID: {company.id})")
|
|
|
|
# We look for the equivalent journals in Tenggilis
|
|
# 1. Cash Basis Taxes (Usually code CABA or name 'Cash Basis Taxes')
|
|
cash_basis_journal = env['account.journal'].search([
|
|
('company_id', '=', company.id),
|
|
('code', '=', 'CABA') # Assuming code is CABA. If not, try by name.
|
|
], limit=1)
|
|
|
|
if not cash_basis_journal:
|
|
cash_basis_journal = env['account.journal'].search([
|
|
('company_id', '=', company.id),
|
|
('name', 'ilike', 'Cash Basis')
|
|
], limit=1)
|
|
|
|
vals = {}
|
|
if cash_basis_journal:
|
|
print(f"Setting Cash Basis Journal to: {cash_basis_journal.name} (ID: {cash_basis_journal.id})")
|
|
vals['tax_cash_basis_journal_id'] = cash_basis_journal.id
|
|
else:
|
|
print("Could not find a Cash Basis journal for Tenggilis to set. You may need to clear it or create one.")
|
|
vals['tax_cash_basis_journal_id'] = False # Temporary clear if not found to allow saving
|
|
|
|
# 2. account_tax_periodicity_journal_id
|
|
tax_journal = env['account.journal'].search([
|
|
('company_id', '=', company.id),
|
|
('name', 'ilike', 'Kas Kecil Operasional Tenggilis')
|
|
], limit=1)
|
|
|
|
if tax_journal:
|
|
print(f"Setting Tax Periodicity Journal to: {tax_journal.name} (ID: {tax_journal.id})")
|
|
vals['account_tax_periodicity_journal_id'] = tax_journal.id
|
|
else:
|
|
print("Could not find matching Tax Periodicity journal for Tenggilis. Clearing it to allow saving.")
|
|
vals['account_tax_periodicity_journal_id'] = False
|
|
|
|
company.write(vals)
|
|
print(f"Fixed {len(vals)} company settings.")
|
|
env.cr.commit()
|
|
print("Done!")
|
|
|
|
if __name__ == '__main__':
|
|
try:
|
|
fix_company_journals(env)
|
|
except NameError:
|
|
print("Run via odoo shell")
|