如何在Odoo中通过XML为树视图的many2one关联字段加载记录?
为Account Fiscal Position添加税码映射(树视图关联字段)记录
在Odoo中,会计fiscal position的税码映射(即你提到的树视图关联字段)对应account.fiscal.position.tax模型,只需通过XML创建该模型的记录并关联到目标fiscal position即可——只要关联关系正确,树视图会自动加载这些记录,无需额外的“加载逻辑”。
实现步骤:
- 确认需要映射的源税码和目标税码的ID:可以通过Odoo后台查看税码的数据库ID,或者直接引用模块自带的税码XML ID(比如
account模块中的默认税码)。 - 在XML中创建
account.fiscal.position.tax记录,通过position_id字段关联到你已创建的posicion_exportacion。
完整XML代码示例:
<odoo> <!-- 已有的主fiscal position记录 --> <record id="posicion_exportacion" model="account.fiscal.position"> <field name="name">Exportación</field> <field name="auto_apply">True</field> <field name="vat_required">False</field> <field name="country_id">96</field> </record> <!-- 添加第一条税码映射:国内销售增值税 → 出口零税率增值税 --> <record id="tax_map_export_sale_vat" model="account.fiscal.position.tax"> <field name="position_id" ref="posicion_exportacion"/> <!-- 源税码:替换为你实际使用的国内销售税码ID或XML引用 --> <field name="tax_src_id" ref="account.tax_vat_sale"/> <!-- 目标税码:替换为出口适用的零税率/免税税码 --> <field name="tax_dest_id" ref="account.tax_vat_sale_0"/> </record> <!-- 添加第二条税码映射:国内采购增值税 → 出口采购零税率增值税 --> <record id="tax_map_export_purchase_vat" model="account.fiscal.position.tax"> <field name="position_id" ref="posicion_exportacion"/> <field name="tax_src_id" ref="account.tax_vat_purchase"/> <field name="tax_dest_id" ref="account.tax_vat_purchase_0"/> </record> </odoo>
字段说明:
position_id:使用ref属性引用主fiscal position的XML ID,建立关联关系。tax_src_id:设置需要被替换的原始税码(比如国内交易适用的税码)。tax_dest_id:设置替换后的目标税码(比如出口交易适用的零税率/免税税码)。
添加完成后升级模块,打开Exportación这个fiscal position的表单视图,对应的税码映射树视图就会自动显示你添加的这些记录。
内容的提问来源于stack exchange,提问作者damar
相关产品推荐
相关产品推荐

