@@ -14,6 +14,8 @@
|
||||
'security/ir.model.access.csv',
|
||||
'views/yuthon_none_views.xml',
|
||||
'views/hr_menus.xml',
|
||||
# 应收账单按「应收类型」拆分的子菜单(必须排在 hr_menus.xml 之后,父菜单在 hr_menus.xml 中定义)
|
||||
'views/receivable_type_menus.xml',
|
||||
'views/purchase_menus.xml',
|
||||
'views/executive_manage.xml',
|
||||
'views/stock_menus.xml',
|
||||
|
||||
@@ -0,0 +1,355 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<odoo>
|
||||
<!--
|
||||
应收账单 - 按「应收类型」拆分的子菜单
|
||||
模型统一使用 property.accounts.receivable
|
||||
视图统一使用应收账单原有列表视图 yuthon_property.view_property_accounts_receivable_tree
|
||||
每个菜单只通过 domain 过滤 management_type_id(应收类型)的 name
|
||||
父菜单:yuthon_work_brand.yuthon_accounts_receivable_menu(物业财务管理 - 应收账单)
|
||||
-->
|
||||
|
||||
<!--
|
||||
应收类型子菜单专用的搜索视图
|
||||
作用:完整沿用「应收账单」原搜索视图 view_property_accounts_receivable_search 的内容,
|
||||
额外挂上左侧搜索面板(片区管理员 + 状态,均为多选)
|
||||
说明:这里做成独立的新搜索视图(而不是继承原视图),
|
||||
目的是只让下面这 16 个「应收类型」子菜单出现搜索面板,
|
||||
不影响「应收账单」主菜单原本的界面
|
||||
-->
|
||||
<record id="view_receivable_type_search" model="ir.ui.view">
|
||||
<field name="name">property.accounts.receivable.search.receivable.type</field>
|
||||
<field name="model">property.accounts.receivable</field>
|
||||
<field name="arch" type="xml">
|
||||
<search>
|
||||
<field name="property_ids"
|
||||
string="综合搜索"
|
||||
filter_domain="['|', '|', '|', ('property_ids.name', 'ilike', self), ('lessee_id.name', 'ilike', self), ('contract_id.contract_code', 'ilike', self), ('company_id.name', 'ilike', self)]"/>
|
||||
<field name="property_ids"/>
|
||||
<field name="lessee_id"/>
|
||||
<field name="contract_id" string="合同"/>
|
||||
<field name="company_id"/>
|
||||
<field name="original_amount"/>
|
||||
<field name="deposit_state"/>
|
||||
<group expand="0" string="group_by">
|
||||
<filter name="group_company_id" string="公司" context="{'group_by':'company_id'}"/>
|
||||
<filter name="group_is_reconciliation" string="对账" context="{'group_by':'is_reconciliation'}"/>
|
||||
<filter name="group_property_ids" string="物业" context="{'group_by':'property_ids'}"/>
|
||||
<filter name="group_lessee_id" string="承租方" context="{'group_by':'lessee_id'}"/>
|
||||
<filter name='group_by_contract_id' string="合同" context="{'group_by':'contract_id'}"/>
|
||||
<filter name="contract_sort" string="资产类型" context="{'group_by':'contract_sort'}"/>
|
||||
<filter name="group_management_type_id" string="应收类型" context="{'group_by':'management_type_id'}"/>
|
||||
<filter name="group_tenure_type" string="权属类型" context="{'group_by':'tenure_type'}"/>
|
||||
<filter name="group_precinct_id" string="片区管理员" context="{'group_by':'precinct_id'}"/>
|
||||
<filter name="group_due_date" string="应收开始" context="{'group_by':'due_date'}"/>
|
||||
</group>
|
||||
<header_search class="header-search-inline">
|
||||
<quick_filter string="应收状态">
|
||||
<filter string="红冲" name="is_red" domain="[('is_red', '=', True)]"/>
|
||||
<filter string="对账" name="is_reconciliation" domain="[('is_reconciliation', '=', True)]"/>
|
||||
<filter string="未对账" name="not_reconciliation" domain="[('is_reconciliation', '=', False)]"/>
|
||||
<filter string="作废" name="is_invalid" domain="[('is_invalid', '=', True)]"/>
|
||||
</quick_filter>
|
||||
<field name="year_id" placeholder="年" options="{'no_label': True}"/>
|
||||
<field name="month_id" placeholder="月" options="{'no_label': True}"/>
|
||||
<field name="company_id" placeholder="公司" options="{'no_label': True}"/>
|
||||
<field name="tenure_type" options="{'no_label': True}"/>
|
||||
<field name="precinct_id" placeholder="片区管理员" options="{'no_label': True}"/>
|
||||
</header_search>
|
||||
<!-- 左侧搜索面板:片区管理员 + 状态,均为单选分类(不写 select="multi") -->
|
||||
<searchpanel>
|
||||
<field name="precinct_id" string="片区管理员"/>
|
||||
<field name="deposit_state" string="状态"/>
|
||||
</searchpanel>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- ========== 1. 租金 ========== -->
|
||||
<record id="action_receivable_type_rent" model="ir.actions.act_window">
|
||||
<field name="name">租金</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=租金的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '租金')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_rent"
|
||||
name="租金"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_rent"
|
||||
sequence="1"/>
|
||||
|
||||
<!-- ========== 2. 管理费 ========== -->
|
||||
<record id="action_receivable_type_management_fee" model="ir.actions.act_window">
|
||||
<field name="name">管理费</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=管理费的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '管理费')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_management_fee"
|
||||
name="管理费"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_management_fee"
|
||||
sequence="2"/>
|
||||
|
||||
<!-- ========== 3. 水费 ========== -->
|
||||
<record id="action_receivable_type_water_fee" model="ir.actions.act_window">
|
||||
<field name="name">水费</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=水费的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '水费')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_water_fee"
|
||||
name="水费"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_water_fee"
|
||||
sequence="3"/>
|
||||
|
||||
<!-- ========== 4. 电费 ========== -->
|
||||
<record id="action_receivable_type_electricity_fee" model="ir.actions.act_window">
|
||||
<field name="name">电费</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=电费的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '电费')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_electricity_fee"
|
||||
name="电费"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_electricity_fee"
|
||||
sequence="4"/>
|
||||
|
||||
<!-- ========== 5. 违约金 ========== -->
|
||||
<record id="action_receivable_type_penalty" model="ir.actions.act_window">
|
||||
<field name="name">违约金</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=违约金的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '违约金')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_penalty"
|
||||
name="违约金"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_penalty"
|
||||
sequence="5"/>
|
||||
|
||||
<!-- ========== 6. 押金 ========== -->
|
||||
<record id="action_receivable_type_deposit" model="ir.actions.act_window">
|
||||
<field name="name">押金</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=押金的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '押金')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_deposit"
|
||||
name="押金"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_deposit"
|
||||
sequence="6"/>
|
||||
|
||||
<!-- ========== 7. 有偿服务收入 ========== -->
|
||||
<record id="action_receivable_type_service_income" model="ir.actions.act_window">
|
||||
<field name="name">有偿服务收入</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=有偿服务收入的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '有偿服务收入')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_service_income"
|
||||
name="有偿服务收入"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_service_income"
|
||||
sequence="7"/>
|
||||
|
||||
<!-- ========== 8. 广告灯箱费 ========== -->
|
||||
<record id="action_receivable_type_advertising_lightbox_fee" model="ir.actions.act_window">
|
||||
<field name="name">广告灯箱费</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=广告灯箱费的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '广告灯箱费')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_advertising_lightbox_fee"
|
||||
name="广告灯箱费"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_advertising_lightbox_fee"
|
||||
sequence="8"/>
|
||||
|
||||
<!-- ========== 9. 停车费 ========== -->
|
||||
<record id="action_receivable_type_parking_fee" model="ir.actions.act_window">
|
||||
<field name="name">停车费</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=停车费的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '停车费')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_parking_fee"
|
||||
name="停车费"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_parking_fee"
|
||||
sequence="9"/>
|
||||
|
||||
<!-- ========== 10. 灯箱 ========== -->
|
||||
<record id="action_receivable_type_lightbox" model="ir.actions.act_window">
|
||||
<field name="name">灯箱</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=灯箱的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '灯箱')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_lightbox"
|
||||
name="灯箱"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_lightbox"
|
||||
sequence="10"/>
|
||||
|
||||
<!-- ========== 11. 管子间 ========== -->
|
||||
<record id="action_receivable_type_pipe_room" model="ir.actions.act_window">
|
||||
<field name="name">管子间</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=管子间的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '管子间')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_pipe_room"
|
||||
name="管子间"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_pipe_room"
|
||||
sequence="11"/>
|
||||
|
||||
<!-- ========== 12. 更名费 ========== -->
|
||||
<record id="action_receivable_type_rename_fee" model="ir.actions.act_window">
|
||||
<field name="name">更名费</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=更名费的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '更名费')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_rename_fee"
|
||||
name="更名费"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_rename_fee"
|
||||
sequence="12"/>
|
||||
|
||||
<!-- ========== 13. 维修费 ========== -->
|
||||
<record id="action_receivable_type_repair_fee" model="ir.actions.act_window">
|
||||
<field name="name">维修费</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=维修费的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '维修费')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_repair_fee"
|
||||
name="维修费"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_repair_fee"
|
||||
sequence="13"/>
|
||||
|
||||
<!-- ========== 14. 其他费用 ========== -->
|
||||
<record id="action_receivable_type_other_fee" model="ir.actions.act_window">
|
||||
<field name="name">其他费用</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=其他费用的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '其他费用')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_other_fee"
|
||||
name="其他费用"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_other_fee"
|
||||
sequence="14"/>
|
||||
|
||||
<!-- ========== 15. 评估费 ========== -->
|
||||
<record id="action_receivable_type_appraisal_fee" model="ir.actions.act_window">
|
||||
<field name="name">评估费</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=评估费的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '评估费')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_appraisal_fee"
|
||||
name="评估费"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_appraisal_fee"
|
||||
sequence="15"/>
|
||||
|
||||
<!-- ========== 16. 保险费 ========== -->
|
||||
<record id="action_receivable_type_insurance_fee" model="ir.actions.act_window">
|
||||
<field name="name">保险费</field>
|
||||
<field name="res_model">property.accounts.receivable</field>
|
||||
<field name="view_mode">tree</field>
|
||||
<!-- 只显示应收类型=保险费的记录 -->
|
||||
<field name="domain">[('management_type_id.name', '=', '保险费')]</field>
|
||||
<!-- 沿用应收账单菜单的分组/排序上下文;searchpanel_default_deposit_state=未收 让左侧面板默认选中「未收」 -->
|
||||
<field name="context">{'search_default_group_company_id': True, 'group_by': ['company_id', 'due_date:year', 'due_date:month'], 'orderedBy': [{'name': 'due_date', 'asc': False}], 'searchpanel_default_deposit_state': 'unpaid'}</field>
|
||||
<field name="search_view_id" ref="yuthon_work_brand.view_receivable_type_search"/>
|
||||
<field name="view_id" ref="yuthon_property.view_property_accounts_receivable_tree"/>
|
||||
</record>
|
||||
<menuitem id="menu_receivable_type_insurance_fee"
|
||||
name="保险费"
|
||||
parent="yuthon_accounts_receivable_menu"
|
||||
action="action_receivable_type_insurance_fee"
|
||||
sequence="16"/>
|
||||
|
||||
</odoo>
|
||||
Reference in New Issue
Block a user