0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

(下書き)OdooのXMLデータファイルをExcelファイルで管理する

Posted at

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>]

  1. "model="で始める
  2. <model>をモデルに置き換える
  3. 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値
<任意の文字列> //<任意の文字列> コメント 任意の値  コメントや元データ
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?