Odooのデータファイル
Odooのデータファイルには、XML形式とCSV形式とがあり、デモデータやマスタデータとして利用できます。
本記事では、デモデータやマスタデータをExcelファイルで管理し、それをXMLデータファイルとして出力できるようにします。
XMLデータファイルの構造
odooのXMLデータファイルの構造は、次の各ページで確認できます。
1. チュートリアル
2. リファレンス
3. スキーマ
XMLデータファイルのルート要素
XMLデータファイルのルート要素は、<odoo/>
です。その子要素に<operation/>
(後述)もしくは<data/>
で構成されます。
通常、<data noupdate="1" />
と記述し、モジュールのインストール時にのみ、その子要素の<operation/>
が実行(更新)され、モジュールのアップグレード時には、実行(更新)されません。
<odoo>
<data noupdate="1">
<!-- Only loaded when installing the module (odoo-bin -i module) -->
<operation/>
</data>
<!-- (Re)Loaded at install and update (odoo-bin -i/-u) -->
<operation/>
</odoo>
XMLデータファイルの<operation />
実際には、<operation/>
という要素はなく、次の要素を指しています(ただし、<field />
を除く)。
要素 | 説明 | 対象 |
---|---|---|
<odoo_openerp_data /> |
<odoo /> (<openerp /> )もしくは<data />
|
〇 |
<record /> |
レコードの追加・更新 | 〇 |
( <field /> ) |
追加・更新するレコードの項目とその値 | 〇 |
<delete /> |
レコードの削除 | 〇 |
<function /> |
関数の呼び出し | 〇 |
<menuitem /> |
メニュー項目 | |
<template /> |
文書化のテンプレート | |
<act_window /> |
アクション | |
<report /> |
帳票定義 |
対象が"〇"の要素をXMLデータファイルとして出力できるようにします。
Excelファイルの設計
XMLデータファイルの作成順序
次の作成順序でXMLデータファイルに出力します
# | 作成順序 |
---|---|
1 | Excelシートの並び順 |
2 | 各シートの行順 |
Excelシートの名前
XMLデータファイルに出力するExcelシートの名前を次のように命名します。
model=<model>[#<tag>]
- "model="で始める
-
<model>
をモデルに置き換える - 1つのモデルのデータを複数シートに分ける場合は、
#<tag>
で区別する
(<tag>
は、任意の文字列)
※ model=
で始まらないシートは、出力対象から除外します。
Excelシートのレイアウト
各列の定義は、次の表に従い、1行目を見出し行、2行目を属性行として、3行目からデータを入力します。
列 | 見出し行 | 属性行 | 説明 | 入力値 | 備考 |
---|---|---|---|---|---|
A列 | # | (なし) | 番号 | 任意の番号 | 必須入力 |
B列 | 有効化時のみ | (なし) | noupdate="1" | 1、またはそれ以外 | |
C列 | 操作 | (なし) | 追加・更新, 削除 | record, delete, その他(操作しない) | |
D列 | 外部ID | (なし) | レコードの外部ID | 任意の文字列 | |
E列以降 | <項目名> | search, ref, eval, <type> | field要素 | 各属性や項目の値 | |
<関数名> | func[:<連番>] | function要素 | 関数呼び出しのeval値 | ||
<任意の文字列> | //<任意の文字列> | コメント | 任意の値 | コメントや元データ |