buy/views/buy_receipt_view.xml
<?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="['&',('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>