デフォルトでは、Odoo のレポートを PDF または HTML としてエクスポートできます。また、いくつかのアドオンの助けを借りて、XLS、ODT などにエクスポートすることも可能のようです。しかし、必要なのは XML 形式です。Odooでどうにかできますか?
Odoo の実装を確認したところ、コントローラー タイプのレポートとコントローラー用の Python コードを使用して XML としてエクスポートできるのではないかと考えました。それで、それについてあなたの洞察は何ですか?
これには、lxml を使用するか、大きな出力の場合は xml.sax.saxutils を使用して、カスタム コードを作成する方がよいことがわかりました。
ここでも、ファイルの要件とサイズに応じて、ウィザードでファイルを返すか、ディスクの場所に書き込み、ユーザーに電子メールを送信します。
何かを XML 形式でダウンロードする場合は、コントローラーを作成し、それをボタンにリンクする必要があります。ここで私が書いたファイルダウンローダーを見てください:
https://github.com/odoo-chile/l10n_cl_dte/blob/8.0/controllers/downloader.py
ビューで、ボタンをどのように解決したかを確認することもできます。
<button string="Download XML" type="object" name="get_xml_file"
class="oe_highlight" attrs="{
'invisible':[('state', 'in', ['draft'])]}"/>
.. そして models/invoice.py で定義されたメソッド:
def get_xml_file(self):
return {
'type' : 'ir.actions.act_url',
'url': '/web/binary/download_document?model=account.invoice&field=sii_xml_request&id=%s&filename=demoxml.xml' % (self.id),
'target': 'self',
}