Lewati ke isi

Konvensi & Coding Standards

Aturan penamaan, guideline field, dan spesifikasi Odoo 19 yang harus diikuti.

Naming

Jenis Pattern Contoh
Model edig.expense.xxx edig.expense.zona.rate
Table edig_expense_xxx auto from model
XML ID edig_expense.xxx edig_expense.view_form
Security group group_expense_xxx group_expense_finance
Sequence edig.expense.xxx edig.expense.advance

Field Guidelines

  • tracking=True untuk field penting (state, amount, employee)
  • Computed field: store=True jika perlu search/filter
  • Monetary: selalu sertakan currency_field
  • Related: store=True jika perlu indexing

Workflow Rules

  • Self-approval tidak boleh - validasi di action_approve_atasan()
  • Reject wajib alasan - rejection_reason required
  • Cancel tidak boleh jika state = done
  • Draft hanya dari rejected/cancelled

Journal Entry Rules

  • Selalu auto-post dan auto-reconcile UM account
  • Partner pada journal line = employee.work_contact_id
  • _get_um_config() untuk resolve akun UM (BPD vs Operasional)
  • _get_payment_journal() untuk resolve journal (Bank vs Cash)

Odoo 19 Specifics

Breaking Changes dari Odoo 18

Perhatikan perubahan berikut saat develop di Odoo 19.

  • XML: <list> bukan <tree>
  • Security: privilege_id bukan category_id pada res.groups
  • Constraints: models.Constraint bukan _sql_constraints tuple
  • Settings: target='main' bukan target='inline'
  • Search: tidak ada expand attribute pada filter groups

Kembali ke: Developer Guide