Skip to main content

Import data records using XML files

Project description

License: AGPL-3

Base Import XML

Tujuan Modul

Modul ini menyediakan fitur Import data melalui file XML pada Odoo 14. Sebuah tombol Import XML ditambahkan pada control panel di setiap list view. Saat diklik, sebuah dialog wizard akan muncul di mana pengguna dapat mengunggah file .xml untuk mengimpor data secara massal ke model yang sedang dibuka.

Mekanisme XML ID (Upsert)

Mekanisme import ini secara otomatis mengelola XML ID untuk setiap record yang diimpor:

  • Setiap <record> dalam file XML wajib memiliki atribut id.

  • XML ID yang disimpan ke database menggunakan prefix __export__, sehingga menjadi __export__.<id_dari_file>. Contoh: id="contact_alice" → XML ID = __export__.contact_alice.

  • Jika record dengan XML ID yang sama belum ada di database, record baru akan dibuat (insert).

  • Jika record dengan XML ID yang sama sudah ada di database, record tersebut akan diperbarui (update). Tidak ada duplikasi data.

Perilaku ini memungkinkan file XML yang sama dapat dijalankan ulang kapan pun untuk memperbarui data tanpa membuat record duplikat.

Format File XML

File XML harus mengikuti format data standar Odoo:

<?xml version="1.0" encoding="utf-8"?>
<odoo>
    <data>
        <record id="contact_alice" model="res.partner">
            <field name="name">Alice</field>
            <field name="email">alice@example.com</field>
            <field name="is_company" eval="False"/>
        </record>
        <record id="contact_bob" model="res.partner">
            <field name="name">Bob</field>
            <field name="email">bob@example.com</field>
            <field name="country_id" ref="base.id_ID"/>
        </record>
    </data>
</odoo>

Atribut <record> yang didukung:

  • id (wajib) — identifier unik record; digunakan sebagai basis XML ID dengan prefix __export__.

  • model (wajib) — technical name model Odoo target. Record dengan model yang tidak cocok dengan model yang sedang dibuka akan dilewati.

Atribut <field> yang didukung:

  • name (wajib) — nama field pada model target. Field yang tidak dikenal akan diabaikan.

  • (isi teks) — nilai biasa; otomatis di-cast ke int/float/boolean untuk field numerik dan boolean.

  • eval — ekspresi Python yang dievaluasi sebagai nilai field (contoh: eval="True", eval="42").

  • ref — XML ID dari record terkait; database id-nya digunakan sebagai nilai (berguna untuk field Many2one).

Instalasi

  1. Clone branch 14.0 dari repository https://github.com/open-synergy/opnsynid-server-tools

  2. Tambahkan path repository ke konfigurasi (addons-path)

  3. Update daftar modul

  4. Buka menu Apps → Apps → Main Apps

  5. Cari Base Import XML

  6. Install modul

Cara Penggunaan

  1. Buka tampilan list view manapun (contoh: Contacts → Contacts).

  2. Klik tombol Import XML yang muncul di control panel (baris atas).

  3. Pada dialog yang muncul, klik Upload a file dan pilih file .xml.

  4. Klik Import.

  5. Area Messages akan menampilkan jumlah record yang berhasil diimpor beserta detail error jika ada.

Bug Tracker

Bugs dilacak di GitHub Issues. Jika menemukan masalah, periksa terlebih dahulu apakah issue tersebut sudah dilaporkan di sana.

Credits

Authors

  • PT. Simetri Sinergi Indonesia

  • OpenSynergy Indonesia

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file odoo14_addon_ssi_base_import_xml-14.0.1.0.1.dev3-py3-none-any.whl.

File metadata

File hashes

Hashes for odoo14_addon_ssi_base_import_xml-14.0.1.0.1.dev3-py3-none-any.whl
Algorithm Hash digest
SHA256 c59ed37d99974aa9c103f0576c94cecbb22de53071db783848af739dc50252ee
MD5 ff45a0cf5aed50f4d17dadc592985b6e
BLAKE2b-256 45a00b5e762036a3a2fef25aec93622157e7c33f817a09980debe631cee7f1e3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page