osbzr/gooderp_addons

View on GitHub
warehouse/view/warehouse_view.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <!-- 商品的净重管理 -->
        <record id="warehouse_goods_form" model="ir.ui.view">
            <field name="name">warehouse.goods.form</field>
            <field name="model">goods</field>
            <field name="inherit_id" ref="goods.goods_form"/>
            <field name="arch" type="xml">
                <field name="barcode" position="after">
                    <field name='current_qty'/>
                    <field name='max_stock_qty'/>
                    <field name='net_weight' groups="warehouse.manager_net_weight_group"/>
                </field>
                <field name="cost" position="after">
                    <field name="min_stock_qty"/>
                </field>
            </field>
        </record>
        <record id="warehouse_goods_tree" model="ir.ui.view">
            <field name="name">warehouse.goods.tree</field>
            <field name="model">goods</field>
            <field name="inherit_id" ref="goods.goods_tree"/>
            <field name="arch" type="xml">
                <field name="goods_class_id" position="after">
                    <field name='current_qty'/>
                    <field name='max_stock_qty'/>
                    <field name="min_stock_qty"/>
                </field>
                <tree position="attributes">
                    <attribute name="colors">blue:(current_qty &gt; max_stock_qty) and (max_stock_qty &gt; 0);red:current_qty &lt; min_stock_qty</attribute>
                </tree>
            </field>
        </record>
        <!-- 仓库 -->
        <record id='warehouse_tree' model='ir.ui.view'>
            <field name='name'>warehouse.tree</field>
            <field name='model'>warehouse</field>
            <field name='arch' type='xml'>
                <tree string='仓库' editable='bottom'>
                    <field name='code' required='1' />
                    <field name='name' required='1' />
                    <field name='user_ids' widget="many2many_tags"/>
                    <field name='active'  invisible='1'/>
                </tree>
            </field>
        </record>

        <!-- 仓库 -->
        <record id='warehouse_form' model='ir.ui.view'>
            <field name='name'>warehouse.form</field>
            <field name='model'>warehouse</field>
            <field name='arch' type='xml'>
                <form string='仓库' >
                    <group>
                        <group>
                            <field name='code' required='1' />
                        </group>
                        <group>
                            <field name='name' required='1' />
                        </group>
                    </group>
                </form>
            </field>
        </record>

        <!-- 仓库 -->
        <record id="warehouse_search" model="ir.ui.view">
            <field name="name">warehouse.search</field>
            <field name="model">warehouse</field>
            <field name="arch" type="xml">
                <search string="仓库">
                    <field name="name"/>
                    <field name="code"/>
                </search>
            </field>
        </record>

        <!-- 商品的库位设置 -->
        <record model="ir.ui.view" id="gooderp_location_tree">
            <field name="name">库位设置</field>
            <field name="model">location</field>
            <field name="arch" type="xml">
                <tree editable='top'>
                    <field name="name"/>
                    <field name="warehouse_id"/>
                    <field name="goods_id" readonly='1'/>
                    <field name="attribute_id" readonly='1'/>
                    <field name="current_qty"/>
                    <button name="change_location" type="object" string='转存'/>
                </tree>
            </field>
        </record>
        <record model="ir.actions.act_window" id="gooderp_location_action">
            <field name="name">库位设置</field>
            <field name="res_model">location</field>
            <field name="view_mode">tree</field>
            <field name="help" type="html">
                <p class="oe_view_nocontent_create">点击创建一个库位</p>
            </field>
        </record>

        <!-- 转移库位 -->
        <record model="ir.ui.view" id="change_location_form">
            <field name="name">转移库位</field>
            <field name="model">change.location</field>
            <field name="arch" type="xml">
                <form editable='top'>
                    <sheet>
                        <group>
                            <group>
                                <field name="from_location" readonly='1'/>
                                <field name="change_qty"/>
                            </group>
                            <group>
                                <field name="to_location"/>
                            </group>
                        </group>
                        <footer>
                            <button name="confirm_change"  string="确认转移" type="object" class="oe_highlight"/>
                             或者
                            <button string="取消" class="oe_link" special="cancel"/>
                        </footer>
                    </sheet>
                </form>
            </field>
        </record>

        <!-- 库存调拨 -->
        <record id='wh_move_line_tree' model='ir.ui.view'>
            <field name='name'>wh.move.line.tree</field>
            <field name='model'>wh.move.line</field>
            <field name='priority'>1</field>
            <field name='arch' type='xml'>
                <tree string='库存调拨' create='0' edit='0' delete="0">
                    <field name='date' />
                    <field name='move_id' string='单据编号' />
                    <field name='goods_id' />
                    <field name='attribute_id' groups='goods.multi_attrs_groups' />
                    <field name='lot' groups='goods.batch_groups' />
                    <field name='goods_qty' sum='1' />
                    <field name='uom_id' />
                    <field name='goods_uos_qty' sum='1' groups='goods.auxiliary_unit_groups' />
                    <field name='uos_id' groups='goods.auxiliary_unit_groups' />
                    <field name='warehouse_id' groups='warehouse.multi_warehouse_groups' />
                    <field name='warehouse_dest_id' groups='warehouse.multi_warehouse_groups' />
                    <field name='qty_remaining' />
                    <field name='uos_qty_remaining' groups='goods.auxiliary_unit_groups' />
                    <field name='cost_unit' groups='goods.view_cost_groups' />
                    <field name='line_net_weight' sum="净重合计" groups="warehouse.manager_net_weight_group"/>
                    <field name='cost' sum='1' groups='goods.view_cost_groups' />
                    <field name='expiration_date' groups='warehouse.group_expiration_date' />
                    <field name='type' />
                    <field name='state' />
                    <field name='note' />
                </tree>
            </field>
        </record>

        <!-- 库存调拨 -->
        <record id='wh_move_line_search' model='ir.ui.view'>
            <field name='name'>wh.move.line.search</field>
            <field name='model'>wh.move.line</field>
            <field name='arch' type='xml'>
                <search string='库存调拨'>
                    <field name='move_id' filter_domain="['|', '|', ('move_id', 'ilike', self),('goods_id', 'ilike', self),('lot', 'ilike', self)]"/>
                    <field name='goods_id'/>
                    <field name='lot'/>
                    <field name='warehouse_id'/>
                    <field name='warehouse_dest_id'/>
                    <filter name='draft' string='草稿' domain="[('state', '=', 'draft')]"/>
                    <filter name='done' string='已完成' domain="[('state', '=', 'done')]"/>
                    <separator/>
                    <filter name='out' string='出库' domain="[('type', '=', 'out')]"/>
                    <filter name='in' string='入库' domain="[('type', '=', 'in')]"/>
                    <group expand="0" string="分组">
                        <filter string="商品" domain="[]" context="{'group_by':'goods_id'}"/>
                        <filter string="调出仓库" domain="[]" context="{'group_by':'warehouse_id'}"/>
                        <filter string="调入仓库" domain="[]" context="{'group_by':'warehouse_dest_id'}"/>
                        <filter string="单据日期" domain="[]" context="{'group_by':'date:day'}"/>
                    </group>
                </search>
            </field>
        </record>

        <!-- 其他出库单明细 -->
        <record id='wh_move_line_out_tree' model='ir.ui.view'>
            <field name='name'>wh.move.line.out.tree</field>
            <field name='model'>wh.move.line</field>
            <field name='arch' type='xml'>
                <tree string='库存调拨' editable='bottom'>
                    <field name='goods_id' required='1' />
                    <field name='attribute_id'
                        domain="[('goods_id', '=', goods_id)]"
                        attrs="{'required': [('using_attribute', '=', True)], 'readonly': [('using_attribute', '=', False)]}"
                        groups='goods.multi_attrs_groups'/>
                    <field name='lot_id'
                        groups='goods.batch_groups'
                        attrs="{'readonly': [('using_batch', '=', False)], 'required': [('using_batch', '=', True)]}"
                        domain="[('goods_id', '=', goods_id), ('state', '=', 'done'), ('lot', '!=', False), ('qty_remaining', '>', 0), ('warehouse_dest_id', '=', parent.warehouse_id)]"
                        context="{'lot': True}"
                        options="{'no_open': True, 'no_create': True}" />
                    <field name='goods_uos_qty' sum='1'
                        groups='goods.auxiliary_unit_groups'/>
                    <field name='uos_id' groups='goods.auxiliary_unit_groups' />
                    <field name='goods_qty' sum='1'
                        attrs="{'readonly': [('force_batch_one', '=', True)]}" />
                    <field name='uom_id' required='1' />
                    <field name='cost_unit' string='出库单位成本' readonly='1' />
                    <field name='cost' string='出库成本' readonly='1' sum='1' />
                    <field name='expiration_date'
                           readonly='1'
                           groups='warehouse.group_expiration_date' />
                    <field name='line_net_weight' sum="净重合计" groups="warehouse.manager_net_weight_group"/>
                    <field name='note' string='备注' />
                    <field name='using_attribute' invisible='1' />
                    <field name='using_batch' invisible='1' />
                    <field name='force_batch_one' invisible='1' />
                    <field name='lot_qty' invisible='1' />
                    <field name='lot_uos_qty' invisible='1' />
                    <field name='lot' invisible='1'/>
                    <field name='type' invisible='1'/>
                </tree>
            </field>
        </record>

        <!-- 其他入库单明细 -->
        <record id='wh_move_line_in_tree' model='ir.ui.view'>
            <field name='name'>wh.move.line.in.tree</field>
            <field name='model'>wh.move.line</field>
            <field name='arch' type='xml'>
                <tree string='库存调拨' editable='bottom'>
                    <field name='goods_id' required='1' />
                    <field name='attribute_id' domain="[('goods_id', '=', goods_id)]"
                        attrs="{'required': [('using_attribute', '=', True)], 'readonly': [('using_attribute', '=', False)]}"
                        groups='goods.multi_attrs_groups'/>
                    <field name='lot'
                        groups='goods.batch_groups'
                        attrs="{'readonly': [('using_batch', '=', False)], 'required': [('using_batch', '=', True)]}" />
                    <field name='location_id' groups="warehouse.multi_location_groups" options="{'no_open': True, 'no_create': True}"/>
                    <field name='goods_uos_qty' sum='1'
                        groups='goods.auxiliary_unit_groups'/>
                    <field name='uos_id' groups='goods.auxiliary_unit_groups' />
                    <field name='goods_qty'
                        attrs="{'readonly': [('force_batch_one', '=', True)]}" sum='1' />
                    <field name='uom_id' required='1' />
                    <field name='cost_unit' string='入库单价' />
                    <field name='cost' string='入库金额' sum='1' readonly='1' />
                    <field name='expiration_date' groups='warehouse.group_expiration_date' />
                    <field name='line_net_weight' sum="净重合计" groups="warehouse.manager_net_weight_group"/>
                    <field name='note' string='备注' />
                    <field name='using_attribute' invisible='1' />
                    <field name='using_batch' invisible='1' />
                    <field name='force_batch_one' invisible='1' />
                </tree>
            </field>
        </record>

        <!-- 内部调拨明细 -->
        <record id='wh_move_line_internal_tree' model='ir.ui.view'>
            <field name='name'>wh.move.line.internal.tree</field>
            <field name='model'>wh.move.line</field>
            <field name='arch' type='xml'>
                <tree string='库存调拨' editable='bottom'>
                    <field name='goods_id' required='1' />
                    <field name='attribute_id'
                        domain="[('goods_id', '=', goods_id)]"
                        attrs="{'required': [('using_attribute', '=', True)], 'readonly': [('using_attribute', '=', False)]}" 
                        groups='goods.multi_attrs_groups'/>
                    <field name='lot_id'
                        groups='goods.batch_groups'
                        attrs="{'readonly': [('using_batch', '=', False)], 'required': [('using_batch', '=', True)]}"
                        domain="[('goods_id', '=', goods_id), ('state', '=', 'done'), ('lot', '!=', False), ('qty_remaining', '>', 0), ('warehouse_dest_id', '=', parent.warehouse_id)]"
                        context="{'lot': True}"
                        options="{'no_open': True, 'no_create': True}" />
                    <field name='goods_uos_qty' sum='1'
                        groups='goods.auxiliary_unit_groups'
                        />
                    <field name='uos_id' groups='goods.auxiliary_unit_groups' />
                    <field name='goods_qty' sum='1'
                        attrs="{'readonly': [('force_batch_one', '=', True)]}" />
                    <field name='uom_id' required='1' />
                    <field name='expiration_date' groups='warehouse.group_expiration_date' />
                    <field name='line_net_weight' sum="净重合计" groups="warehouse.manager_net_weight_group"/>
                    <field name='note' string='备注' />
                    <field name='using_attribute' invisible='1' />
                    <field name='using_batch' invisible='1' />
                    <field name='force_batch_one' invisible='1' />
                    <field name='lot_qty' invisible='1' />
                    <field name='lot_uos_qty' invisible='1' />
                    <field name='lot' invisible='1' /> <!-- 能否去掉? 不能, lot的值是 onchange 带过来的-->
                    <field name='type' invisible='1'/>
                    <field name='location_id' domain="[('warehouse_id', '=', parent.warehouse_dest_id)]" options="{'no_open': True, 'no_create': True}"/>
                </tree>
            </field>
        </record>

        <!-- 其他出库单 -->
        <record id='wh_out_form' model='ir.ui.view'>
            <field name='name'>wh.out.form</field>
            <field name='model'>wh.out</field>
            <field name='arch' type='xml'>
                <form string='其他出库单'>
                    <header>
                        <button name='approve_order' type='object' string='出库' class='oe_highlight' states='draft'
                                                                    groups='warehouse.other_out_picking_groups'/>
                        <button name='cancel_approved_order' type='object' string='撤销出库' states='done' />
                        <button name="action_cancel" states="draft" string="作废" type="object"/>
                        <field name='state' widget='statusbar' readonly='1' />
                    </header>
                    <sheet>
                        <div class="oe_title" style="width:100%">
                            <label string="扫描条码"/>
                            <input type='text' class="ge_scan_barcode" autofocus="true"/>
                         </div>
                        <group>
                            <group>
                                <field name='partner_id' attrs="{'readonly': [('state', '!=', 'draft')]}"
                                    domain="[('c_category_id', '!=', False)]"
                                    options="{'no_open': True, 'no_create': True}"/>
                                <field name='date' required='1' attrs="{'readonly': [('state', '!=', 'draft')]}" />
                                <field name='user_id'
                                       options="{'no_open': True, 'no_create': True}"/>
                            </group>
                            <group>
                                <field name='type' required='1' attrs="{'readonly': [('state', '!=', 'draft')]}" />
                                <field name='finance_category_id'
                                       attrs="{'invisible': [('type', '!=', 'others')],'required': [('type', '=', 'others')]}"/>
                                <field name='warehouse_id'/>
                                <field name='voucher_id'/>
                                <field name='warehouse_dest_id' invisible='1'/>
                            </group>
                        </group>

                        <group string='出库明细'>
                            <field nolabel='1' name='line_out_ids' context="{
                                'lot': True,
                                'type': 'out',
                                'default_warehouse_id': warehouse_id,
                            }" attrs="{'readonly': [('state', '!=', 'draft')]}" >
                                <tree string='库存调拨' editable='bottom'>
                                    <field name='goods_id' required='1' />
                                    <field name='attribute_id'
                                        domain="[('goods_id', '=', goods_id)]"
                                        attrs="{'required': [('using_attribute', '=', True)], 'readonly': [('using_attribute', '=', False)]}"
                                        groups='goods.multi_attrs_groups'/>
                                    <field name='lot_id'
                                        groups='goods.batch_groups'
                                        attrs="{'readonly': [('using_batch', '=', False)], 'required': [('using_batch', '=', True)]}"
                                        domain="[('goods_id', '=', goods_id), ('state', '=', 'done'), ('lot', '!=', False), ('qty_remaining', '>', 0), ('warehouse_dest_id', '=', parent.warehouse_id)]"
                                        context="{'lot': True}"
                                        options="{'no_open': True, 'no_create': True}" />
                                    <field name="location_id"
                                           options="{'no_open':True,'no_create':True}"
                                           groups="warehouse.multi_location_groups"
                                           domain="[('warehouse_id','=',parent.warehouse_id),('goods_id', '=', goods_id)]"/>
                                    <field name='goods_uos_qty' sum='1'
                                        groups='goods.auxiliary_unit_groups'/>
                                    <field name='uos_id' groups='goods.auxiliary_unit_groups' />
                                    <field name='goods_qty' sum='1'
                                        attrs="{'readonly': [('force_batch_one', '=', True)]}" />
                                    <field name='uom_id' required='1' />
                                    <field name='cost_unit' string='出库单位成本' readonly='1' />
                                    <field name='cost' string='出库成本' readonly='1' sum='1' />
                                    <field name='expiration_date'
                                           readonly='1'
                                           groups='warehouse.group_expiration_date' />
                                    <field name='line_net_weight' sum="净重合计" groups="warehouse.manager_net_weight_group"/>
                                    <field name='note' string='备注' />
                                    <field name='using_attribute' invisible='1' />
                                    <field name='using_batch' invisible='1' />
                                    <field name='force_batch_one' invisible='1' />
                                    <field name='lot_qty' invisible='1' />
                                    <field name='lot_uos_qty' invisible='1' />
                                    <field name='lot' invisible='1'/>
                                    <field name='type' invisible='1'/>
                                </tree>
                            </field>
                        </group>

                        <group>
                            <field name='note' nolabel='1' placeholder='备注...' />
                        </group>
                        <group>
                            <field name='qc_result' widget='pdf_viewer'
                                   attrs="{'readonly': [('state', '!=', 'draft')]}"
                                   groups='warehouse.group_qc'
                            />
                        </group>

                        <group col='6'>
                            <group colspan='2'>
                                <field name='create_uid' string='制单人' readonly='1' />
                                <field name='create_date' string='录单时间' readonly='1' />
                            </group>
                            <group colspan='2'>
                                <field name='write_uid' string='最后修改人' readonly='1' />
                                <field name='write_date' string='最后修改时间' readonly='1' />
                            </group>
                            <group colspan='2'>
                                <field name='approve_uid' readonly='1' />
                                <field name='approve_date' readonly='1' />
                            </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>

        <record id='wh_out_tree' model='ir.ui.view'>
            <field name='name'>wh.out.tree</field>
            <field name='model'>wh.out</field>
            <field name='arch' type='xml'>
                <tree string='其他出库单' colors='blue:state == "draft";lightgray:state == "cancel"'>
                    <field name='name' />
                    <field name='date' />
                    <field name='type' />
                    <field name='warehouse_id'/>
                    <field name='amount_total' />
                    <field name='note' />
                    <field name='state' />
                    <field name="_approve_state"/>
                </tree>
            </field>
        </record>

        <record id='wh_out_search' model='ir.ui.view'>
            <field name='name'>wh.out.search</field>
            <field name='model'>wh.out</field>
            <field name='arch' type='xml'>
                <search string='其他出库单'>
                    <field name='name'/>
                    <field name='warehouse_id'/>
                    <field name='partner_id' string='客户' options="{'no_open': True, 'no_create': True}"/>
                    <field name='create_uid' string='制单人'/>
                    <field name='approve_uid'/>
                    <field name='amount_total'/>
                    <field name='state'/>
                    <filter name='draft' string='草稿' domain="[('state', '=', 'draft')]"/>
                    <filter name='done' string='已完成' domain="[('state', '=', 'done')]"/>
                    <filter name='others' string='其他出库' domain="[('type', '=', 'others')]"/>
                    <filter name='inventory' string='盘亏' domain="[('type', '=', 'inventory')]"/>
                    <group expand="0" string="分组">
                        <filter string="调出仓库" domain="[]" context="{'group_by':'warehouse_id'}"/>
                        <filter string="客户" domain="[]" context="{'group_by':'partner_id'}"/>
                        <filter string="单据日期" domain="[]" context="{'group_by':'date:day'}"/>
                    </group>
                </search>
            </field>
        </record>

        <!-- 其他入库单 -->
        <record id='wh_in_form' model='ir.ui.view'>
            <field name='name'>wh.in.form</field>
            <field name='model'>wh.in</field>
            <field name='arch' type='xml'>
                <form string='其他入库单'>
                    <header>
                        <button name='approve_order' type='object' string='入库' class='oe_highlight' states='draft' />
                        <button name='cancel_approved_order' type='object' string='撤销入库' states='done' />
                        <button name="action_cancel" states="draft" string="作废" type="object"/>
                        <field name='state' widget='statusbar' readonly='1' />                    </header>
                    <sheet>
                        <div>
                            <label string="扫描条码"/>
                            <input type='text' class="ge_scan_barcode" autofocus="true"/>
                        </div>
                        <group>
                            <group>
                                <field name='partner_id' attrs="{'readonly': [('state', '!=', 'draft')]}"
                                    domain="[('s_category_id', '!=', False)]"
                                    options="{'no_open': True, 'no_create': True}"/>
                                <field name='date' required='1' attrs="{'readonly': [('state', '!=', 'draft')]}" />
                                <field name='user_id'
                                       options="{'no_open': True, 'no_create': True}"/>
                                <field name='is_init' attrs="{'readonly': [('state', '!=', 'draft')]}"/>
                            </group>
                            <group>
                                <field name='type' required='1' attrs="{'readonly': [('state', '!=', 'draft')]}" />
                                <field name='finance_category_id'
                                       attrs="{'invisible': [('type', '!=', 'others')],'required': [('type', '=', 'others')]}"/>
                                <field name='warehouse_dest_id'/>
                                <field name='voucher_id'/>
                                <field name='warehouse_id' invisible='1'/>
                            </group>
                        </group>

                        <group string='入库明细'>
                            <field nolabel='1' name='line_in_ids' context="{
                                'tree_view_ref': 'warehouse.wh_move_line_in_tree',
                                'type': 'in',
                            }" attrs="{'readonly': [('state', '!=', 'draft')]}" />
                        </group>

                        <group>
                            <field name='note' nolabel='1' placeholder='备注...' />
                        </group>
                        <group>
                            <field name='qc_result' widget='pdf_viewer'
                                   attrs="{'readonly': [('state', '!=', 'draft')]}"
                                   groups='warehouse.group_qc'
                            />
                        </group>

                        <group col='6'>
                            <group colspan='2'>
                                <field name='create_uid' string='制单人' readonly='1' />
                                <field name='create_date' string='录单时间' readonly='1' />
                            </group>
                            <group colspan='2'>
                                <field name='write_uid' string='最后修改人' readonly='1' />
                                <field name='write_date' string='最后修改时间' readonly='1' />
                            </group>
                            <group colspan='2'>
                                <field name='approve_uid' readonly='1' />
                                <field name='approve_date' readonly='1' />
                            </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>

        <record id='wh_in_tree' model='ir.ui.view'>
            <field name='name'>wh.in.tree</field>
            <field name='model'>wh.in</field>
            <field name='arch' type='xml'>
                <tree string='其他入库单' colors='blue:state == "draft";lightgray:state == "cancel"'>
                    <field name='name' />
                    <field name='date' />
                    <field name='warehouse_dest_id'/>
                    <field name='type' />
                    <field name='amount_total' />
                    <field name='state' />
                    <field name="_approve_state"/>
                    <field name='note' />
                </tree>
            </field>
        </record>

        <record id='wh_in_search' model='ir.ui.view'>
            <field name='name'>wh.in.search</field>
            <field name='model'>wh.in</field>
            <field name='arch' type='xml'>
                <search string='其他入库单'>
                    <field name='name'/>
                    <field name='warehouse_dest_id'/>
                    <field name='partner_id' string='供应商' options="{'no_open': True, 'no_create': True}"/>
                    <field name='create_uid' string='制单人'/>
                    <field name='approve_uid'/>
                    <field name='amount_total'/>
                    <field name='state'/>
                    <filter name='draft' string='草稿' domain="[('state', '=', 'draft')]"/>
                    <filter name='done' string='已完成' domain="[('state', '=', 'done')]"/>
                    <filter name='others' string='其他入库' domain="[('type', '=', 'others')]"/>
                    <filter name='inventory' string='盘盈' domain="[('type', '=', 'inventory')]"/>
                    <group expand="0" string="分组">
                        <filter string="调入仓库" domain="[]" context="{'group_by':'warehouse_dest_id'}"/>
                        <filter string="供应商" domain="[]" context="{'group_by':'partner_id'}"/>
                        <filter string="单据日期" domain="[]" context="{'group_by':'date:day'}"/>
                    </group>
                </search>
            </field>
        </record>

        <!-- 内部调拨 -->
        <record id='wh_internal_form' model='ir.ui.view'>
            <field name='name'>wh.internal.form</field>
            <field name='model'>wh.internal</field>
            <field name='arch' type='xml'>
                <form string='调拨单'>
                    <header>
                        <button name='approve_order' type='object' string='入库' class='oe_highlight' states='draft' />
                        <button name='cancel_approved_order' type='object' string='撤销入库' states='done' />
                        <button name="action_cancel" states="draft" string="作废"
                        type="object"/>
                        <field name='state' widget='statusbar' readonly='1' />                    </header>
                    <sheet>
                        <div class="oe_title">
                            <label string="扫描条码"/>
                            <input type='text' class="ge_scan_barcode" autofocus="true"/>
                        </div>
                        <group>
                            <group>
                                <field name='user_id'
                                    options="{'no_open': True, 'no_create': True}"/>
                                <field name='warehouse_id'/>
                            </group>
                            <group>
                                <field name='date' required='1' attrs="{'readonly': [('state', '!=', 'draft')]}" />
                                <field name='warehouse_dest_id'/>
                            </group>
                        </group>

                        <group string='移库明细'>
                            <field nolabel='1' name='line_out_ids' context="{
                                'tree_view_ref': 'warehouse.wh_move_line_internal_tree',
                                'lot': True,
                                'type': 'internal',
                                'default_warehouse_id': warehouse_id,
                                }"
                                attrs="{'readonly': [('state', '!=', 'draft')]}" />
                        </group>

                        <group>
                            <field name='note' nolabel='1' placeholder='备注...' />
                        </group>
                        <group>
                            <field name='qc_result' widget='pdf_viewer'
                                   attrs="{'readonly': [('state', '!=', 'draft')]}"
                                   groups='warehouse.group_qc'
                            />
                        </group>

                        <group col='6'>
                            <group colspan='2'>
                                <field name='create_uid' string='制单人' readonly='1' />
                                <field name='create_date' string='录单时间' readonly='1' />
                            </group>
                            <group colspan='2'>
                                <field name='write_uid' string='最后修改人' readonly='1' />
                                <field name='write_date' string='最后修改时间' readonly='1' />
                            </group>
                            <group colspan='2'>
                                <field name='approve_uid' readonly='1' />
                                <field name='approve_date' readonly='1' />
                            </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>

        <record id='wh_internal_tree' model='ir.ui.view'>
            <field name='name'>wh.internal.tree</field>
            <field name='model'>wh.internal</field>
            <field name='arch' type='xml'>
                <tree string='调拨单' colors='blue:state == "draft";lightgray:state == "cancel"'>
                    <field name='name' />
                    <field name='date' />
                    <field name='warehouse_id'/>
                    <field name='warehouse_dest_id'/>
                    <field name='total_qty'/>
                    <field name='amount_total' />
                    <field name='state' />
                    <field name="_approve_state"/>
                    <field name='note' />
                </tree>
            </field>
        </record>

        <record id='wh_internal_search' model='ir.ui.view'>
            <field name='name'>wh.internal.search</field>
            <field name='model'>wh.internal</field>
            <field name='arch' type='xml'>
                <search string='调拨单'>
                    <field name='name'/>
                    <field name='warehouse_id'/>
                    <field name='warehouse_dest_id'/>
                    <field name='total_qty'/>
                    <field name='amount_total'/>
                    <field name='create_uid' string='制单人' />
                    <field name='approve_uid'/>
                    <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':'warehouse_id'}"/>
                        <filter string="调入仓库" domain="[]" context="{'group_by':'warehouse_dest_id'}"/>
                        <filter string="单据日期" domain="[]" context="{'group_by':'date:day'}"/>
                    </group>
                </search>
            </field>
        </record>

        <record id='wh_move_matching_tree' model='ir.ui.view'>
            <field name='name'>wh.move.matching.tree</field>
            <field name='model'>wh.move.matching</field>
            <field name='arch' type='xml'>
                <tree string='匹配记录' create="false" delete="false">
                    <field name='line_in_id' />
                    <field name='line_out_id' />
                    <field name='qty' />
                    <field name='uos_qty' groups='goods.auxiliary_unit_groups' />
                </tree>
            </field>
        </record>

    </data>
</openerp>