Odoo 15中如何显示含指定费用账户及税项的会计分录行?
解决Odoo供应商账单费用分析包含税项分录的问题
需求概述
需要创建菜单展示供应商账单中选定费用账户的会计分录行(account move line),当账单应用税项时,列表需包含所有相关税项分录。当前配置的domain仅能获取不含税的费用分录,需调整以包含税项行。
当前问题代码
现有动作配置的domain仅筛选了费用类账户的分录:
<record id="action_account_move_line" model="ir.actions.act_window"> <field name="name">Expense Analysis</field> <field name="type">ir.actions.act_window</field> <field name="res_model">account.move.line</field> <field name="view_mode">tree,pivot,graph</field> <field name="domain">[('account_id.deprecated', '=', False),('account_id.internal_group', 'in', ['expense']),('exclude_from_invoice_tab','=',False)]</field> <field name="view_id" eval="expense_line_tree_view"/> </record>
解决方案
税项分录的账户internal_group属性值为tax,因此需要修改domain,加入税项账户的筛选条件,同时确保这些税项分录属于包含费用分录的账单。调整后的domain使用Odoo逻辑运算符组合条件:
修改后的完整动作配置
<record id="action_account_move_line" model="ir.actions.act_window"> <field name="name">Expense Analysis</field> <field name="type">ir.actions.act_window</field> <field name="res_model">account.move.line</field> <field name="view_mode">tree,pivot,graph</field> <field name="domain">[ ('account_id.deprecated', '=', False), ('exclude_from_invoice_tab','=',False), '|', ('account_id.internal_group', 'in', ['expense']), '&', ('account_id.internal_group', '=', 'tax'), ('move_id.line_ids.account_id.internal_group', 'in', ['expense']) ]</field> <field name="view_id" eval="expense_line_tree_view"/> </record>
逻辑说明
- 使用
|(逻辑或)实现两个分支条件:- 直接筛选费用类账户的分录行(原有条件);
- 筛选税项类账户的分录行,且该分录所属的账单(
move_id)中存在费用类分录行。
这样配置后,列表会同时展示费用分录以及对应账单中的所有税项分录,满足需求。
内容的提问来源于stack exchange,提问作者Ralph
相关产品推荐
相关产品推荐

