osbzr/gooderp_addons

View on GitHub
buy/views/buy_receipt_view.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0"?>
<openerp>
    <data>
        <!-- 采购入库单视图 -->

        <record id="buy_receipt_tree" model="ir.ui.view">
            <field name="name">buy.receipt.tree</field>
            <field name="model">buy.receipt</field>
            <field name="arch" type="xml">
                <tree string="采购入库单" colors='blue:state == "draft";lightgray:state == "cancel"'>
                    <field name='date'/>
                    <field name='name'/>
                    <field name="order_id" groups='buy.buy_groups'/>
                    <field name="partner_id"/>
                    <field name="user_id"/>
                    <field name="amount" sum="总金额" groups='buy.group_buy'/>
                    <field name='payment' groups='buy.group_buy'/>
                    <field name='date_due'/>
                    <field name='currency_id'
                           groups='finance.group_multi_currency'/>
                    <field name='state'/>
                    <field name="_approve_state"/>
                    <field name='money_state'/>
                </tree>
            </field>
        </record>

        <record id="buy_receipt_form" model="ir.ui.view">
            <field name="name">buy.receipt.form</field>
            <field name="model">buy.receipt</field>
            <field name="arch" type="xml">
                <form string="采购入库单">
                <header>
                    <button name='buy_to_return' type='object' states="done" string='生成退货单' class="oe_highlight"/>
                    <button name="buy_receipt_done" states="draft" string="入库" type="object" class="oe_highlight"/>
                    <button name="buy_receipt_draft" states="done" string="撤销" type="object"/>
                    <button name="action_cancel" states="draft" string="作废" groups='buy.buy_groups' type="object"/>
                    <field name="state" widget="statusbar" statusbar_visible="draft,done" readonly="1"/>
                </header>
                <sheet>
                    <div class="oe_title">
                        <label string="扫描条码 "/>
                        <input type='text' class="ge_scan_barcode" autofocus="true"/>
                    </div>
                    <group>
                        <group>
                            <field name="partner_id" required='1'
                                attrs="{'readonly': [('state','!=','draft')]}"
                                domain="[('s_category_id', '!=', False)]"
                                context="{'form_view_ref': 'core.supplier_address_form'}"/>
                            <field name='user_id'
                                   options="{'no_open': True, 'no_create': True}"/>
                            <field name="date" required="1" attrs="{'readonly': [('state','!=','draft')]}"/>
                            <field name="is_return" readonly="1" invisible="1"/>
                            <field name="warehouse_dest_id"/>
                            <field name="invoice_by_receipt" invisible="1"></field>
                            <field name="finance_category_id" invisible="1"/>
                        </group>
                        <group>
                            <field name="ref"/>
                            <field name="date_due" required="1" attrs="{'readonly': [('state','!=','draft')]}"/>
                            <field name="order_id" readonly="1" groups='buy.buy_groups'/>
                            <field name='invoice_id' readonly='1' groups='base.group_no_one'/>
                            <field name='voucher_id' groups='base.group_no_one'/>
                            <field name="money_state" readonly='1' groups='base.group_no_one'/>
                            <field name='currency_id' readonly='1'
                                   groups='finance.group_multi_currency'/>
                            <field name="modifying" invisible="1"/>
                        </group>
                    </group>
                    <notebook>
                        <page string="入库单行">
                            <field name="line_in_ids" attrs="{'readonly': [('state','!=','draft')]}"
                                context="{
                                'type':'in',
                                }">
                                <tree string="Buy Receipt Lines" editable="bottom">
                                    <field name="goods_id" required='1' domain="[('not_buyable','=',False)]"
                                        context="{'default_partner':parent.partner_id,
                                                   'default_is_return':parent.is_return}"/>
                                    <field name="attribute_id"
                                        domain="[('goods_id', '=', goods_id)]"
                                        groups='goods.multi_attrs_groups'
                                        attrs="{'required': [('using_attribute','=', True)], 'readonly': [('using_attribute','!=', True)],}"/>
                                    <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}"
                                           domain="['&amp;',('warehouse_id', '=', parent.warehouse_dest_id),'|',('goods_id', '=', goods_id),('goods_id', '=', False)]"/>
                                    <field name="goods_uos_qty" sum="合计辅助数量"
                                        groups="goods.auxiliary_unit_groups"/>
                                    <field name='uos_id' groups='goods.auxiliary_unit_groups' />
                                    <field name="goods_qty" sum="合计数量"/>
                                    <field name="uom_id"/>
                                    <field name="price" groups='goods.view_cost_groups'/>
                                    <field name="price_taxed" groups='buy.in_tax_groups'/>
                                    <field name="discount_rate" groups='buy.buy_line_discount_groups'/>
                                    <field name="discount_amount" groups='buy.buy_line_discount_groups' readonly="0" sum="合计折扣额"/>
                                    <field name="amount" string="购货金额" sum="合计金额" groups='goods.view_cost_groups'/>
                                    <field name="tax_rate" groups='buy.in_tax_groups'/>
                                    <field name="tax_amount" sum="合计税额" groups='buy.in_tax_groups'/>
                                    <field name="subtotal" sum="价税合计的合计" groups='buy.in_tax_groups'/>
                                    <field name='expiration_date' groups='warehouse.group_expiration_date' />
                                    <field name='line_net_weight' sum="净重合计" groups="warehouse.manager_net_weight_group"/>
                                    <field name="cost" invisible="1"/>
                                    <field name="cost_unit" invisible="1"/>
                                    <field name="note"/>
                                    <field name="share_cost"/>
                                    <field name="type" invisible="1"/>
                                    <field name='using_attribute' invisible='1'/>
                                    <field name='using_batch' invisible='1'/>
                                    <field name='force_batch_one' invisible='1'/>
                                    <field name='buy_line_id' invisible='1'/>
                                </tree>
                            </field>
                        </page>
                        <page string="采购费用行">
                            <field name="cost_line_ids" attrs="{'readonly': [('state','!=','draft')]}">
                                <tree string="Cost Lines" editable="bottom">
                                    <field name="partner_id"
                                        domain="[('s_category_id', '!=', False)]"
                                        context="{'form_view_ref': 'core.supplier_address_form'}"/>
                                    <field name="category_id" domain="[('type', '=', 'expense')]"/>
                                    <field name="amount"/>
                                    <field name="tax_rate" groups="buy.in_tax_groups"/>
                                    <field name="tax" groups="buy.in_tax_groups"/>
                                    <field name="note"/>
                                </tree>
                            </field>
                            <button name="buy_share_cost" string="分摊" type="object"/>
                        </page>
                    </notebook>
                    <field name="note" placeholder="暂无备注信息" attrs="{'readonly': [('state','!=','draft')]}"/>
                    <group>
                        <field name='qc_result' widget='pdf_viewer'
                               attrs="{'readonly': [('state', '!=', 'draft')]}"
                               groups='warehouse.group_qc'
                        />
                    </group>
                    <group>
                        <group>
                            <field name='delivery_fee'/>
                            <field name="discount_amount" groups='buy.buy_discount_groups'
                            string="抹零"/>
                            <field name="amount" groups='buy.group_buy'/>
                        </group>
                        <group>
                            <field name="payment" attrs="{'readonly': [('state','!=','draft')],
                                                'invisible': [('invoice_by_receipt','=',False)]}"
                                   groups='buy.group_buy'
                            />
                            <field name="bank_account_id" attrs="{'readonly': [('state','!=','draft')],
                                                        'invisible': [('invoice_by_receipt','=',False)]}"
                                   groups='buy.group_buy'
                            />
                            <field name="money_order_id" attrs="{'invisible': [('invoice_by_receipt','=',False)]}"
                                   groups='buy.group_buy'
                            />
                        </group>
                    </group>
                    <group>
                        <group>
                            <field name="create_uid" readonly="1" string="制单人"/>
                            <field name="approve_uid" readonly="1"/>
                        </group>
                        <group>
                            <field name="create_date" readonly="1" string="录单时间"/>
                            <field name="write_date" readonly="1" string="最后修改时间"/>
                        </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="buy_receipt_search" model="ir.ui.view">
            <field name="name">buy.receipt.search</field>
            <field name="model">buy.receipt</field>
            <field name="arch" type="xml">
                <search string="采购入库单">
                    <field name="name"/>
                    <field name="order_id" groups='buy.buy_groups'/>
                    <field name="partner_id"/>
                    <field name="state"/>
                    <field name="money_state"/>
                    <field name="create_uid" string="制单人"/>
                    <field name="approve_uid"/>
                    <filter name="draft" string="草稿" domain="[('state','=','draft')]"/>
                    <filter name="done" string="已完成" domain="[('state','=','done')]"/>
                    <separator/>
                    <filter name="not paid" string="未付款" domain="[('money_state','=',u'未付款')]"/>
                    <filter name="part paid" string="部分付款" domain="[('money_state','=',u'部分付款')]"/>
                    <filter name="all paid" string="全部付款" domain="[('money_state','=',u'全部付款')]"/>
                    <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':'date_due:day'}"/>
                    </group>
                </search>
            </field>
        </record>
        <record id="buy_receipt_calendar" model="ir.ui.view">
            <field name="name">buy.receipt.calendar</field>
            <field name="model">buy.receipt</field>
            <field name="arch" type="xml">
                <calendar color="user_id" date_start="date_due" quick_add="False" string="采购入库单">
                    <field name="name"/>
                    <field name="partner_id"/>
                </calendar>
            </field>
        </record>

        <!-- 采购退货单视图 -->

        <record id="buy_return_tree" model="ir.ui.view">
            <field name="name">buy.return.tree</field>
            <field name="model">buy.receipt</field>
            <field name="arch" type="xml">
                <tree string="采购退货单" colors='blue:state == "draft";lightgray:state == "cancel"'>
                    <field name='date'/>
                    <field name='name'/>
                    <field name="order_id" groups='buy.buy_groups'/>
                    <field name="partner_id"/>
                    <field name="amount" sum="总金额" groups='buy.group_buy'/>
                    <field name='payment' groups='buy.group_buy'/>
                    <field name='date_due'/>
                    <field name="create_uid" string="制单人"/>
                    <field name='currency_id'
                           groups='finance.group_multi_currency'/>
                    <field name='state'/>
                    <field name="_approve_state"/>
                    <field name='return_state'/>
                </tree>
            </field>
        </record>

        <record id="buy_return_form" model="ir.ui.view">
            <field name="name">buy.return.form</field>
            <field name="model">buy.receipt</field>
            <field name="arch" type="xml">
                <form string="采购退货单">
                <header>
                    <button name="buy_receipt_done" states="draft" string="出库" type="object" class="oe_highlight"/>
                    <button name="buy_receipt_draft" states="done" string="撤销" type="object"/>
                     <button name="action_cancel" states="draft" string="作废" groups='buy.buy_groups' type="object"/>
                    <field name="state" widget="statusbar" statusbar_visible="draft,done" readonly="1"/>
                </header>
                <sheet>
                    <div class="oe_title">
                        <label string="扫描条码 "/>
                        <input type='text' class="ge_scan_barcode" autofocus="true"/>
                    </div>
                    <group>
                        <group>
                            <field name="partner_id" required='1'
                                attrs="{'readonly': [('state','!=','draft')]}"
                                domain="[('s_category_id', '!=', False)]"
                                context="{'form_view_ref': 'core.supplier_address_form'}"/>
                            <field name='user_id'
                                   options="{'no_open': True, 'no_create': True}"/>
                            <field name="date" required="1" attrs="{'readonly': [('state','!=','draft')]}"/>
                            <field name="is_return" readonly="1" invisible="1"/>
                            <field name="warehouse_id"/>
                        </group>
                        <group>
                            <field name="date_due" required="1" attrs="{'readonly': [('state','!=','draft')]}"/>
                            <field name="order_id" readonly="1" groups='buy.buy_groups'/>
                            <field name='origin_id' readonly='1'/>
                            <field name='invoice_id' readonly='1'/>
                            <field name='voucher_id'/>
                            <field name="return_state" readonly="1"/>
                            <field name='currency_id' readonly='1'
                                   groups='finance.group_multi_currency'/>
                            <field name="modifying" invisible="1"/>
                        </group>
                    </group>
                    <notebook>
                        <page string="退货单行">
                            <field name="line_out_ids" attrs="{'readonly': [('state','!=','draft')]}"
                                context="{
                                'type':'out',
                                'default_warehouse_id': warehouse_id,
                                }">
                                <tree string="Buy Receipt Lines" editable="bottom">
                                    <field name="goods_id" required='1' domain="[('not_buyable','=',False)]"
                                        context="{'default_partner':parent.partner_id,
                                                   'default_is_return':parent.is_return}"/>
                                    <field name="attribute_id"
                                        domain="[('goods_id', '=', goods_id)]"
                                        groups='goods.multi_attrs_groups'
                                        attrs="{'required': [('using_attribute','=', True)], 'readonly': [('using_attribute','!=', True)]}"/>
                                    <field name='lot_id' 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}"
                                        groups='goods.batch_groups'/>
                                    <field name="location_id"
                                           groups="warehouse.multi_location_groups"
                                           options="{'no_open': True, 'no_create': True}"
                                           domain="[('warehouse_id','=',parent.warehouse_id),('goods_id', '=', goods_id)]"/>
                                    <field name="goods_uos_qty" sum="合计辅助数量"
                                        groups="goods.auxiliary_unit_groups"/>
                                    <field name='uos_id' groups='goods.auxiliary_unit_groups' />
                                    <field name="goods_qty" sum="合计数量"/>
                                    <field name="uom_id"/>
                                    <field name="price" groups='buy.group_buy'/>
                                    <field name="price_taxed" groups='buy.in_tax_groups'/>
                                    <field name="discount_rate" groups='buy.buy_line_discount_groups'/>
                                    <field name="discount_amount" readonly="0" sum="合计折扣额" groups='buy.buy_line_discount_groups'/>
                                    <field name="amount" string="购货金额" sum="合计金额" groups='buy.group_buy'/>
                                    <field name="tax_rate" groups='buy.in_tax_groups'/>
                                    <field name="tax_amount" sum="合计税额" groups='buy.in_tax_groups'/>
                                    <field name="subtotal" sum="价税合计的合计" groups='buy.in_tax_groups'/>
                                    <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"/>
                                    <field name="type" invisible="1"/>
                                    <field name='using_attribute' invisible='1'/>
                                    <field name='using_batch' invisible='1'/>
                                    <field name='lot_qty' invisible='1'/>
                                    <field name='lot' invisible='1'/>
                                </tree>
                            </field>
                        </page>
                        <page string="采购费用行">
                            <field name="cost_line_ids" attrs="{'readonly': [('state','!=','draft')]}">
                                <tree string="Cost Lines" editable="bottom">
                                    <field name="partner_id" domain="[('s_category_id', '!=', False)]"/>
                                    <field name="category_id"/>
                                    <field name="amount"/>
                                    <field name="tax_rate" groups="buy.in_tax_groups"/>
                                    <field name="tax" groups="buy.in_tax_groups"/>
                                    <field name="note"/>
                                </tree>
                            </field>
                        </page>
                    </notebook>
                    <field name="note" placeholder="暂无备注信息" attrs="{'readonly': [('state','!=','draft')]}"/>
                    <group>
                        <field name='qc_result' widget='pdf_viewer'
                               attrs="{'readonly': [('state', '!=', 'draft')]}"
                               groups='warehouse.group_qc'
                        />
                    </group>
                    <group>
                        <group>
                            <field name="discount_amount" groups='buy.buy_discount_groups'/>
                            <field name="amount" groups='buy.group_buy'/>
                        </group>
                        <group>
                            <field name="payment" attrs="{'readonly': [('state','!=','draft')]}"
                                   groups='buy.group_buy'
                            />
                            <field name="bank_account_id" attrs="{'readonly': [('state','!=','draft')]}"
                                   groups='buy.group_buy'
                            />
                            <field name="money_order_id" groups='buy.group_buy'/>
                        </group>
                    </group>
                    <group>
                        <group>
                            <field name="create_uid" readonly="1" string="制单人"/>
                            <field name="approve_uid" readonly="1"/>
                        </group>
                        <group>
                            <field name="create_date" readonly="1" string="录单时间"/>
                            <field name="write_date" readonly="1" string="最后修改时间"/>
                        </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="buy_return_search" model="ir.ui.view">
            <field name="name">buy.return.search</field>
            <field name="model">buy.receipt</field>
            <field name="arch" type="xml">
                <search string="采购退货单">
                    <field name="name"/>
                    <field name="order_id" groups='buy.buy_groups'/>
                    <field name="partner_id"/>
                    <field name="state"/>
                    <field name="return_state"/>
                    <field name="create_uid" string="制单人"/>
                    <field name="approve_uid"/>
                    <filter name="draft" string="草稿" domain="[('state','=','draft')]"/>
                    <filter name="done" string="已完成" domain="[('state','=','done')]"/>
                    <separator/>
                    <filter name="not refund" string="未退款" domain="[('return_state','=',u'未退款')]"/>
                    <filter name="part refund" string="部分退款" domain="[('return_state','=',u'部分退款')]"/>
                    <filter name="all refund" string="全部退款" domain="[('return_state','=',u'全部退款')]"/>
                    <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':'date_due:day'}"/>
                    </group>
                </search>
            </field>
        </record>
    </data>
</openerp>