osbzr/gooderp_addons

View on GitHub
money/views/money_order_view.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0"?>
<openerp>
    <data>
        <!-- 根菜单 -->
        <menuitem id="menu_money_root" name="资金" groups='group_cashier'  web_icon="money,static/description/icon.png"/>
        <menuitem id="menu_money_manage" name="资金" parent="menu_money_root" sequence="1"/>
        
        <menuitem id="menu_money_setting" name="设置" parent="menu_money_root" sequence="3"/>
        <menuitem id='bank_account_menu' name='账户' action='core.bank_account_action'
            parent='menu_money_setting' sequence='1'/>
        <menuitem id='service_menu' name='收支项' action='core.service_action'
            parent='menu_money_setting' groups='core.service_groups' sequence='2'/>
        <menuitem id='settle_mode_menu' name='结算方式' action='core.settle_mode_action'
            parent='menu_money_setting' groups='core.settle_mode_groups' sequence='3'/>

        <menuitem id='customer_menu' action='core.customer_action' name="客户" 
            parent='menu_money_setting' sequence='4'/>
        <menuitem id='vendor_menu' action='core.vendor_action' name="供应商" 
            parent='menu_money_setting' sequence='5'/>

        <!--收/付款单tree-->
        <record id="money_order_tree" model="ir.ui.view">
            <field name="name">money.order.tree</field>
            <field name="model">money.order</field>
            <field name="arch" type="xml">
                <tree string="收付款单" colors='blue:state == "draft";lightgray:state == "cancel"'>
                    <field name="name" string="单据编号"/>
                    <field name="date"/>
                    <field name="partner_id"/>
                    <field name="amount" sum="合计"/>
                    <field name="state"/>
                    <field name="_approve_state"/>
                    <field name="to_reconcile" sum="未核销总额"/>
                </tree>
            </field>
        </record>

        <!--收/付款单form-->
        <record id="money_order_form" model="ir.ui.view">
            <field name="name">money.order.form</field>
            <field name="model">money.order</field>
            <field name="arch" type="xml">
                <form string="收付款单">
                <header>
                    <button name="money_order_done" states="draft" string="确认" 
                        type="object" class="oe_highlight" groups='money.group_money_manager'/>
                    <button name="money_order_draft" states="done" string="撤销确认" 
                        type="object" groups='money.group_money_manager'/>
                    <button name="action_cancel" states="draft" string="作废"
                        type="object"/>
                    <field name="state" widget="statusbar"/>
                </header>
                <sheet>
                    <div class="oe_title">
                        <h1>
                            <field name="name" class="oe_inline" readonly="1"/>
                        </h1>
                    </div>
                    <group>
                        <group>
                            <field name="date"/>
                            <field name="partner_id"
                                options="{'no_open': True, 'no_create': True}"/>
                            <field name="bank_name"
                                invisible="context.get('default_get', 0)"
                                required="context.get('default_pay', 0)"/>
                            <field name="bank_num"
                                invisible="context.get('default_get', 0)"
                                required="context.get('default_pay', 0)"/>
                            <field name="currency_id"
                                 groups='finance.group_multi_currency'/>
                        </group>
                       <group>
                            <field name="line_ids" nolabel="1" colspan='2'>
                                <tree string="Money Order Lines" editable="bottom">
                                    <field name="bank_id"/>
                                    <field name="amount" sum="合计"/>
                                    <field name="currency_id"
                                        groups='finance.group_multi_currency'/>
                                    <field name="mode_id" groups='core.settle_mode_groups'/>
                                    <field name="number" groups='core.settle_mode_groups'/>
                                    <field name="note"/>
                            </tree>
                            </field>
                        </group>
                    </group>
                    <button name="write_off_reset" states="draft" string="核销行金额清零" type="object" class="oe_right"/>
                    <field name="source_ids" groups='money.reconcile_groups'>
                        <tree string="Source Order Lines" create="false" editable="bottom">
                            <field name="name" readonly='1'/>
                            <field name="category_id" readonly='1'/>
                            <field name="date" readonly='1'/>
                            <field name="date_due" readonly='1'/>
                            <field name="amount" readonly='1' sum="合计"/>
                            <field name="reconciled" readonly='1' sum="合计"/>
                            <field name="to_reconcile" readonly='1' sum="合计"/>
                            <field name="this_reconcile" sum="合计"/>
                       </tree>
                    </field>
                    <field name="note"  placeholder="备注信息……"/>
                    <group>
                        <group>
                            <field name="discount_amount" groups="money.reconcile_groups"/>
                            <field name="discount_account_id" attrs="{'required': [('discount_amount', '!=', 0)]}"
                                   options="{'no_open': True, 'no_create': True}"
                                   groups="money.reconcile_groups"/>
                        </group>
                        <group>    
                            <field name="advance_payment" groups="money.reconcile_groups"/>
                            <field name="voucher_id"/>
                        </group>
                     </group>
                </sheet>
                    <div class="oe_chatter">
                        <field name="message_follower_ids" widget="mail_followers"/>
                        <field name="_to_approver_ids" widget="goodprocess" readonly="1"/>
                        <field name="message_ids" widget="mail_thread"/>
                    </div>
                </form>
            </field>
        </record>

        <!--收/付款单 search 视图-->
        <record id="money_order_search" model="ir.ui.view">
            <field name="name">money.order.search</field>
            <field name="model">money.order</field>
            <field name="arch" type="xml">
                <search string="收/付款单">
                    <field name="name"/>
                    <field name="partner_id"/>
                    <field name="amount"/>
                    <field name="state"/>
                    <filter name="draft" string="草稿" domain="[('state','=','draft')]"/>
                    <filter name="done" string="已确认" domain="[('state','=','done')]"/>
                    <group expand="0" string="分组">
                        <filter string="业务伙伴" domain="[]" context="{'group_by':'partner_id'}"/>
                        <filter string="单据日期" domain="[]" context="{'group_by':'date:day'}"/>
                        <filter string="币别" domain="[]" context="{'group_by':'currency_id'}"/>
                    </group>
                </search>
            </field>
        </record>

        <!-- 收款管理 action -->
        <record id="money_receipt_action" model="ir.actions.act_window">
            <field name="name">收款单</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.order</field>
            <field name="view_mode">tree,form</field>
            <field  name='context'>{'type':'get', 'default_get': 1, 'default_pay': 0}</field>
            <field name="domain">[('type','=','get')]</field>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                点击创建收款单
              </p>
            </field>
        </record>
        
        <!-- 付款管理 action -->
        <record id="money_payment_action" model="ir.actions.act_window">
            <field name="name">付款单</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.order</field>
            <field name="view_mode">tree,form</field>
            <field  name='context'>{'type':'pay', 'default_get': 0, 'default_pay': 1}</field>
            <field name="domain">[('type','=','pay')]</field>
            <field name="help" type="html">
              <p class="oe_view_nocontent_create">
                点击创建付款单
              </p>
            </field>
        </record>

        <!--结算单tree-->
        <record id="money_invoice_tree" model="ir.ui.view">
            <field name="name">money.invoice.tree</field>
            <field name="model">money.invoice</field>
            <field name="arch" type="xml">
                <tree string="结算单" editable='top' create="false" delete="false" colors='blue:state == "draft"'>
                    <field name="state" invisible="1"/>
                    <field name="date" readonly="1"/>
                    <field name="name" readonly="1"/>
                    <button name="find_source_order" type="object" string="查看原始单据" icon="fa-search" 
                        class="oe_highlight" attrs="{'invisible': ['|', ('is_init', '=', True), ('name', '=', '.')]}"/>
                    <field name="partner_id" readonly="1" />
                    <field name="category_id" readonly="1"/>
                    <field name="voucher_id" readonly="1"/>
                    <field name="currency_id"
                         groups='finance.group_multi_currency' readonly="1"/>
                    <field name="amount" sum="金额" readonly="1" />
                    <field name="reconciled" sum="已核销金额" readonly="1"/>
                    <field name="to_reconcile" sum="未核销金额" readonly="1"/>
                    <field name="tax_amount" readonly="1"/>
                    <button name="money_invoice_done" states="draft" string="确认" type="object"/>
                    <field name="auxiliary_id"/>
                    <field name="bill_number"/>
                    <field name="date_due"/>
                    <field name="note"/>
                    <field name="overdue_days" readonly="1" />
                    <field name="overdue_amount" sum="逾期金额" readonly="1"/>
                    <field name="is_init" invisible="1"/>
                </tree>
            </field>
        </record>

        <!--结算单 form 视图-->
        <record id="money_invoice_form" model="ir.ui.view">
            <field name="name">money.invoice.form</field>
            <field name="model">money.invoice</field>
            <field name="arch" type="xml">
                <form string="结算单">
                <header>
                     <button name="money_invoice_done" states="draft" string="确认" type="object" class="oe_highlight"/>
                 </header>
                  <sheet>
                    <group>
                     <group>
                    <field name="state" invisible="1"/>
                    <field name="date"/>
                    <field name="partner_id"/>
                    <field name="amount"/>
                    <field name="tax_amount"/>
                    <field name="bill_number"/>
                    </group>
                    <group>
                    <field name="date_due"/>
                    <field name="auxiliary_id"/>
                    <field name="currency_id"
                         groups='finance.group_multi_currency'/>
                    <field name="note"/>
                    </group>
                    </group>
                    </sheet>
                </form>
            </field>
        </record>
        <!--结算单 search 视图-->
        <record id="money_invoice_search" model="ir.ui.view">
            <field name="name">money.invoice.search</field>
            <field name="model">money.invoice</field>
            <field name="arch" type="xml">
                <search string="结算单">
                    <field name="name"/>
                    <field name="partner_id"/>
                    <field name="category_id"/>
                    <field name="amount"/>
                    <filter string="业务伙伴" domain="[]" context="{'group_by':'partner_id'}"/>
                    <filter string="类别" domain="[]" context="{'group_by':'category_id'}"/>
                    <filter string="单据日期" domain="[]" context="{'group_by':'date:month'}"/>
                    <filter string="到期日" domain="[]" context="{'group_by':'date_due:month'}"/>
                </search>
            </field>
        </record>

        <!-- 结算单 action -->
        <record id="money_invoice_action" model="ir.actions.act_window">
            <field name="name">结算单</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.invoice</field>
            <field name="view_mode">tree</field>
        </record>

        <!-- 销售发票 action -->
        <record id="money_invoice_income_action" model="ir.actions.act_window">
            <field name="name">销售发票</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.invoice</field>
            <field name="view_mode">form</field>
            <field name="context">{'type':'income', 'default_name':'.'}</field>
        </record>

        <!-- 采购发票 action -->
        <record id="money_invoice_expense_action" model="ir.actions.act_window">
            <field name="name">采购发票</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">money.invoice</field>
            <field name="view_mode">form</field>
            <field name="context">{'type':'expense', 'default_name':'.'}</field>
        </record>

        <!-- 收款单menu、付款单menu -->
        <menuitem id="menu_money_receipt_action" action="money_receipt_action" parent="menu_money_manage" sequence="1"/>
        <menuitem id="menu_money_payment_action" action="money_payment_action" parent="menu_money_manage" sequence="2"/>
        <!-- 结算单menu -->
        <menuitem id="menu_money_invoice_action" action="money_invoice_action"
            name="结算单" parent="menu_money_manage" sequence="3"
            groups='money.reconcile_groups'/>
    </data>
</openerp>