Cara Mengubah Pemisah Ribuan dan Desimal di Odoo 17

Odoo 17 menggunakan format angka bawaan yang mengikuti standar lokal, tetapi terkadang Anda perlu mengubah pemisah ribuan (thousands separator) dan desimal agar sesuai dengan kebutuhan bisnis Anda. Misalnya:

  • Format default di Indonesia: 1.000.000,50 (menggunakan titik untuk ribuan dan koma untuk desimal)
  • Format default di Amerika Serikat: 1,000,000.50 (menggunakan koma untuk ribuan dan titik untuk desimal)

format ribuan dan desimal odoo 17

Jika format angka di Odoo tidak sesuai dengan standar yang Anda inginkan, Anda bisa mengubahnya dengan beberapa metode berikut.

1. Mengubah Pemisah Ribuan dan Desimal dari UI Odoo

Metode ini paling mudah dan tidak memerlukan pengkodean.

Langkah-langkah:

  1. Masuk ke Odoo sebagai admin.
  2. Pergi ke SettingsTranslationsLanguages.
  3. Pilih bahasa yang ingin Anda ubah (misalnya, "Bahasa Indonesia" atau "English").
  4. Cari kolom Decimal Separator dan Thousands Separator.
  5. Ubah sesuai keinginan:
    • Decimal Separator: "," (koma) atau "." (titik)
    • Thousands Separator: "." (titik) atau "," (koma)
  6. Klik Save dan refresh halaman untuk melihat perubahan.

2. Mengubah Format Angka di Python (Backend)

Jika Anda ingin mengubah format angka dalam perhitungan atau tampilan data secara langsung di model Python, gunakan locale atau format.

Contoh dalam Model Odoo

pythonSalinEditimport locale
from odoo import models, fields, api

class CustomModel(models.Model):
    _name = 'custom.model'
    _description = 'Custom Model'

    amount = fields.Float(string="Amount")

    @api.depends('amount')
    def format_amount(self):
        locale.setlocale(locale.LC_NUMERIC, 'id_ID.UTF-8')  # Ubah ke Indonesia
        for record in self:
            record.formatted_amount = "{:n}".format(record.amount)  # Pemisah otomatis sesuai lokal

Penjelasan:

  • locale.setlocale(locale.LC_NUMERIC, 'id_ID.UTF-8') memastikan format angka sesuai dengan Indonesia.
  • "{:n}".format(record.amount) akan menyesuaikan pemisah ribuan dan desimal sesuai lokal.

3. Mengubah Format di QWeb Report (Laporan PDF)

Jika Anda ingin mengubah format angka dalam laporan PDF atau tampilan cetak, Anda bisa memodifikasi template QWeb.

Contoh dalam QWeb Template:

xmlSalinEdit<t t-esc="'{:,.2f}'.format(record.amount).replace(',', 'X').replace('.', ',').replace('X', '.')"/>

Penjelasan:

  • '{:,.2f}'.format(record.amount) → Menghasilkan angka dalam format ribuan dan desimal standar.
  • replace(',', 'X').replace('.', ',').replace('X', '.') → Mengubah format ke Indonesia.

Contoh hasil:

  • Jika angka adalah 1000000.50, maka akan tampil sebagai 1.000.000,50.

4. Mengubah Format di JavaScript (Frontend)

Jika Anda ingin mengubah tampilan angka dalam formulir atau daftar tampilan di UI Odoo, gunakan JavaScript.

Contoh di JavaScript:

javascriptSalinEditodoo.define('custom_module.format_number', function (require) {
    "use strict";

    var fieldRegistry = require('web.field_registry');
    var basicFields = require('web.basic_fields');

    var CustomNumberField = basicFields.FieldFloat.extend({
        _formatValue: function (value) {
            return value.toLocaleString('id-ID', { minimumFractionDigits: 2 });
        },
    });

    fieldRegistry.add('custom_number', CustomNumberField);
});

Penjelasan:

  • Menggunakan toLocaleString('id-ID') untuk mengubah format angka ke Indonesia.
  • minimumFractionDigits: 2 memastikan angka selalu memiliki dua desimal.

Kesimpulan

Mengubah pemisah ribuan dan desimal di Odoo 17 bisa dilakukan dengan beberapa cara:

  1. Melalui UI dengan mengedit pengaturan bahasa.
  2. Melalui Python untuk mengubah format angka dalam model dan database.
  3. Melalui QWeb Report untuk menyesuaikan tampilan angka dalam laporan PDF.
  4. Melalui JavaScript untuk mengubah tampilan angka di UI Odoo.

Metode yang dipilih tergantung pada kebutuhan Anda. Jika hanya ingin mengubah tampilan tanpa pengkodean, gunakan metode UI. Namun, jika ingin kontrol lebih lanjut, gunakan Python atau JavaScript.

Semoga bermanfaat! 🚀

di dalam Read
Cara Mengubah Format Tanggal di Odoo 17