9b6664daf209828136a22c6fa7cfc922f716374a
[odoo/odoo.git] / addons / sale / sale_view.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <openerp>
3     <data>
4         <menuitem icon="terp-partner" id="base.menu_base_partner" name="Sales" sequence="0"
5             groups="base.group_sale_salesman,base.group_sale_manager"/>
6
7         <menuitem id="base.menu_sales" name="Sales" parent="base.menu_base_partner" sequence="1"/>
8
9         <menuitem id="base.menu_product" name="Products" parent="base.menu_base_partner" sequence="9"/>
10         <menuitem action="product.product_normal_action" id="product.menu_products" parent="base.menu_product" sequence="1"/>
11
12         <record id="view_shop_form" model="ir.ui.view">
13             <field name="name">sale.shop</field>
14             <field name="model">sale.shop</field>
15             <field name="type">form</field>
16             <field name="arch" type="xml">
17                 <form string="Sales Shop">
18                     <field name="name" select="1"/>
19                     <field name="warehouse_id" required="1" select="1" widget="selection"/>
20                     <field name="company_id" widget='selection' groups="base.group_multi_company"/>
21                     <separator colspan="4" string="Accounting"/>
22                     <field name="payment_default_id"/>
23                     <field domain="[('type','=','sale')]" name="pricelist_id" select="1"/>
24                     <field name="project_id" select="1" groups="analytic.group_analytic_accounting"/>
25                 </form>
26             </field>
27         </record>
28         <record id="view_shop_tree" model="ir.ui.view">
29             <field name="name">sale.shop</field>
30             <field name="model">sale.shop</field>
31             <field name="type">tree</field>
32             <field name="arch" type="xml">
33                 <tree string="Sales Shop">
34                     <field name="name"/>
35                     <field name="warehouse_id"/>
36                     <field name="pricelist_id"/>
37                     <field name="project_id" groups="analytic.group_analytic_accounting"/>
38                 </tree>
39             </field>
40         </record>
41
42         <record id="action_shop_form" model="ir.actions.act_window">
43             <field name="name">Shop</field>
44             <field name="type">ir.actions.act_window</field>
45             <field name="res_model">sale.shop</field>
46             <field name="view_type">form</field>
47             <field name="view_mode">tree,form</field>
48             <field name="view_id" ref="view_shop_tree"/>
49             <field name="help">If you have more than one shop reselling your company products, you can create and manage that from here. Whenever you will record a new quotation or sales order, it has to be linked to a shop. The shop also defines the warehouse from which the products will be delivered for each particular sales.</field>
50         </record>
51
52         <menuitem action="action_shop_form" id="menu_action_shop_form"
53             parent="base.menu_sale_config_sales" sequence="0" />
54
55         <record id="view_sale_order_calendar" model="ir.ui.view">
56             <field name="name">sale.order.calendar</field>
57             <field name="model">sale.order</field>
58             <field name="type">calendar</field>
59             <field name="arch" type="xml">
60                 <calendar string="Sales Orders" color="state" date_start="date_order">
61                     <field name="partner_id"/>
62                     <field name="amount_total"/>
63                 </calendar>
64             </field>
65         </record>
66         <record model="ir.ui.view" id="view_sale_order_graph">
67             <field name="name">sale.order.graph</field>
68             <field name="model">sale.order</field>
69             <field name="type">graph</field>
70             <field name="arch" type="xml">
71                 <graph string="Sales Orders" type="bar">
72                     <field name="partner_id"/>
73                     <field name="amount_total" operator="+"/>
74                 </graph>
75             </field>
76         </record>
77
78         <record id="view_order_tree" model="ir.ui.view">
79             <field name="name">sale.order.tree</field>
80             <field name="model">sale.order</field>
81             <field name="type">tree</field>
82             <field name="priority">2</field>
83             <field name="arch" type="xml">
84                 <tree string="Sales Orders" colors="grey:state=='cancel';blue:state in ('waiting_date','manual');red:state in ('invoice_except','shipping_except')">
85                     <field name="name"/>
86                     <field name="date_order"/>
87                     <field name="client_order_ref" groups="base.group_extended"/>
88                     <field name="partner_id"/>
89                     <field name="user_id" />
90                     <field name="picked_rate" widget="progressbar"/>
91                     <field name="invoiced_rate" widget="progressbar"/>
92                     <field name="amount_untaxed" sum="Total Tax Excluded"/>
93                     <field name="amount_total" sum="Total Tax Included"/>
94                     <field name="state"/>
95                 </tree>
96             </field>
97         </record>
98
99         <record id="view_order_form" model="ir.ui.view">
100             <field name="name">sale.order.form</field>
101             <field name="model">sale.order</field>
102             <field name="type">form</field>
103             <field name="arch" type="xml">
104                 <form string="Sales Order">
105                     <group col="6" colspan="4">
106                         <field name="name"/>
107                         <field name="date_order"/>
108                         <field name="invoiced"/>
109                         <field name="shop_id" on_change="onchange_shop_id(shop_id)" widget="selection"/>
110                         <field name="client_order_ref"/>
111                         <field name="shipped"/>
112                     </group>
113                     <notebook colspan="5">
114                         <page string="Sales Order">
115                             <field name="partner_id" on_change="onchange_partner_id(partner_id)" domain="[('customer','=',True)]" context="{'search_default_customer':1}" required="1"/>
116                             <field domain="[('partner_id','=',partner_id)]" name="partner_order_id"/>
117                             <field domain="[('partner_id','=',partner_id)]" name="partner_invoice_id" groups="base.group_extended"/>
118                             <field domain="[('partner_id','=',partner_id)]" name="partner_shipping_id" groups="base.group_extended"/>
119                             <field domain="[('type','=','sale')]" name="pricelist_id" groups="base.group_extended"/>
120                             <field name="project_id"
121                                 context="{'partner_id':partner_id, 'contact_id':partner_order_id, 'pricelist_id':pricelist_id, 'default_name':name}"
122                                 groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]" />
123                             <newline/>
124                             <field colspan="4" mode="tree,form,graph" name="order_line" nolabel="1" widget="one2many_list">
125                                 <form string="Sales Order Lines">
126                                     <notebook>
127                                         <page string="Order Line">
128                                             <field colspan="4"
129                                                 context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
130                                                 name="product_id"
131                                                 on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], True, parent.date_order, product_packaging, parent.fiscal_position, False)"
132                                                 />
133                                             <field
134                                                 context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
135                                                 name="product_uom_qty"
136                                                 on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position, True)"
137                                                 />
138                                             <field name="product_uom"
139                                                 on_change="product_uom_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order)"/>
140                                             <field groups="product.group_uos" name="product_uos_qty"/>
141                                             <field groups="product.group_uos" name="product_uos"/>
142                                             <field
143                                                 name="product_packaging"
144                                                 context="partner_id=parent.partner_id,quantity=product_uom_qty,pricelist=parent.pricelist_id,shop=parent.shop_id,uom=product_uom"
145                                                 on_change="product_id_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, 'lang' in context and context['lang'], False, parent.date_order, product_packaging, parent.fiscal_position, False)"
146                                                 domain="[('product_id','=',product_id)]"
147                                                 groups="base.group_extended"/>
148
149                                             <field colspan="4" name="name"/>
150                                             <field name="price_unit"/>
151                                             <field name="discount"/>
152                                             <field name="type" groups="base.group_extended"/>
153                                             <field name="delay" groups="base.group_extended"/>
154                                             <newline/>
155                                             <separator colspan="5" string="Taxes"/>
156                                             <field colspan="4" name="tax_id" nolabel="1" domain="[('parent_id','=',False),('type_tax_use','&lt;&gt;','purchase')]"/>
157                                             <group colspan="4" col="5" groups="base.group_extended">
158                                                 <separator colspan="5" string="States"/>
159                                                 <field name="state"/>
160                                                 <field name="invoiced"/>
161                                                 <group attrs="{'invisible':[('invoiced','=',True)]}">
162                                                 <button colspan="1"
163                                                     name="%(action_view_sale_order_line_make_invoice)d"
164                                                     states="confirmed"
165                                                     string="Make Invoices"
166                                                     type="action"
167                                                     icon="terp-document-new" />
168                                                  </group>
169                                             </group>
170                                         </page>
171                                         <page groups="base.group_extended" string="Extra Info">
172                                             <field name="th_weight"/>
173                                             <field name="address_allotment_id"/>
174                                             <field name="property_ids" colspan="4"/>
175                                         </page>
176                                         <page string="Notes">
177                                             <field colspan="4" name="notes" nolabel="1"/>
178                                         </page>
179                                         <page string="History" groups="base.group_extended">
180                                             <separator colspan="4" string="Invoice Lines"/>
181                                             <field colspan="4" name="invoice_lines" nolabel="1"/>
182                                             <separator colspan="4" string="Stock Moves"/>
183                                             <field colspan="4" name="move_ids" nolabel="1" widget="many2many"/>
184                                         </page>
185                                     </notebook>
186                                 </form>
187                                 <tree string="Sales Order Lines">
188                                     <field colspan="4" name="name"/>
189                                     <field name="product_uom_qty" string="Qty"/>
190                                     <field name="product_uom" string="UoM"/>
191                                     <field name="discount"/>
192                                     <field name="price_unit"/>
193                                     <field name="price_subtotal"/>
194                                 </tree>
195                             </field>
196                             <newline/>
197                             <group col="13" colspan="10">
198                                 <field name="amount_untaxed" sum="Untaxed amount"/>
199                                 <field name="amount_tax"/>
200                                 <field name="amount_total"/>
201                                 <button name="button_dummy" states="draft" string="Compute" type="object" icon="gtk-execute"/>
202                                 <button name="%(action_view_sale_advance_payment_inv)d" string="Advance Invoice"
203                                     type="action" icon="gtk-execute" states="draft,manual" groups="base.group_extended"/>
204                             </group>
205                             <group col="13" colspan="4">
206                                 <field name="state"/>
207                                 <button name="invoice_recreate" states="invoice_except" string="Recreate Invoice" icon="gtk-go-forward"/>
208                                 <button name="invoice_corrected" states="invoice_except" string="Ignore Exception" icon="gtk-apply"/>
209                                 <button name="ship_recreate" states="shipping_except" string="Recreate Packing" icon="gtk-ok"/>
210                                 <button name="ship_corrected" states="shipping_except" string="Ignore Exception" icon="gtk-apply"/>
211                                 <button name="action_cancel" states="manual,progress" string="Cancel Order" type="object" icon="gtk-cancel"/>
212                                 <button name="manual_invoice" states="manual" string="Create Final Invoice" icon="gtk-go-forward" type="object"/>
213                                 <button name="ship_cancel" states="shipping_except" string="Cancel Order" icon="gtk-cancel"/>
214                                 <button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="gtk-convert"/>
215                                 <button name="cancel" states="draft" string="Cancel Order" icon="gtk-cancel"/>
216                                 <button name="invoice_cancel" states="invoice_except" string="Cancel Order" icon="gtk-cancel"/>
217                                 <button name="order_confirm" states="draft" string="Confirm Order" icon="gtk-apply"/>
218                             </group>
219                         </page>
220                         <page string="Other Information">
221                             <group colspan="2" col="2" groups="base.group_extended" name="logistics">
222                                 <separator string="Logistic" colspan="2"/>
223                                 <field name="incoterm" widget="selection"/>
224                                 <field name="picking_policy" required="True"/>
225                                 <field name="order_policy" on_change="shipping_policy_change(order_policy)"/>
226                                 <field name="invoice_quantity" attrs="{'readonly':[('order_policy','in',('prepaid','picking'))]}"/>
227                             </group>
228                             <group colspan="2" col="2">
229                                 <separator string="References" colspan="2"/>
230                                 <field name="user_id"/>
231                                 <field groups="base.group_extended" name="origin"/>
232                             </group>
233                             <group colspan="2" col="2" groups="base.group_extended">
234                                 <separator string="Conditions" colspan="2"/>
235                                 <field name="payment_term" widget="selection"/>
236                                 <field name="fiscal_position" widget="selection"/>
237                                 <field name="company_id" widget="selection" groups="base.group_multi_company"/>
238                             </group>
239                             <group colspan="2" col="2" groups="base.group_extended">
240                                 <separator string="Dates" colspan="2"/>
241                                 <field name="create_date" widget="datetime"/>
242                                 <field name="date_confirm"/>
243                             </group>
244                             <separator colspan="4" string="Notes"/>
245                             <field colspan="4" name="note" nolabel="1"/>
246                         </page>
247                         <page string="History" groups="base.group_extended">
248                             <separator colspan="4" string="Invoices"/>
249                             <field colspan="4" name="invoice_ids" nolabel="1" context="{'form_view_ref':'account.invoice_form'}"/>
250                             <separator colspan="4" string="Packings"/>
251                             <field colspan="4" name="picking_ids" nolabel="1"/>
252                         </page>
253                     </notebook>
254                 </form>
255             </field>
256         </record>
257
258         <record id="view_sales_order_filter" model="ir.ui.view">
259             <field name="name">sale.order.list.select</field>
260             <field name="model">sale.order</field>
261             <field name="type">search</field>
262             <field name="arch" type="xml">
263                 <search string="Search Sales Order">
264                     <filter icon="terp-document-new" string="Quotations" domain="[('state','=','draft')]" help="Sales Order that haven't yet been confirmed"/>
265                     <filter icon="terp-check" string="Sales" domain="[('state','in',('manual','progress'))]"/>
266                     <separator orientation="vertical"/>
267                     <filter icon="terp-dolar_ok!" string="To Invoice" domain="[('state','=','manual')]" help="Sales Order ready to be invoiced"/>
268                     <separator orientation="vertical"/>
269                     <field name="name" select="1"/>
270                     <field name="date_order" select="1" string="Order date" />
271                     <field name="partner_id" select="1"/>
272                     <field name="user_id" select="1">
273                         <filter domain="[('user_id','=',uid)]" help="My Sale Orders" icon="terp-personal"/>
274                     </field>
275                     <newline/>
276                     <group expand="0" string="Group By..." colspan="11" col="11" groups="base.group_extended">
277                         <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
278                         <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
279                         <separator orientation="vertical"/>
280                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
281                         <separator orientation="vertical"/>
282                         <filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_order'}"/>
283                     </group>
284                </search>
285             </field>
286         </record>
287
288         <record id="action_order_form" model="ir.actions.act_window">
289             <field name="name">Sales Orders</field>
290             <field name="type">ir.actions.act_window</field>
291             <field name="res_model">sale.order</field>
292             <field name="view_type">form</field>
293             <field name="view_mode">tree,form,calendar,graph</field>
294             <field name="search_view_id" ref="view_sales_order_filter"/>
295             <field name="context">{"search_default_user_id":uid}</field>
296             <field name="help">Sales Orders help you manage quotations and orders from your customers. OpenERP suggests that you start by creating a quotation. Once it is confirmed, the quotation will be converted into a Sales Order. OpenERP can handle several types of products so that a sales order may trigger tasks, delivery orders, manufacturing orders, purchases and so on. Based on the configuration of the sales order, a draft invoice will be generated so that you just have to confirm it when you want to bill your customer.</field>
297         </record>
298         <menuitem action="action_order_form" id="menu_sale_order" parent="base.menu_sales" sequence="3" groups="base.group_sale_salesman,base.group_sale_manager"/>
299
300         <record id="action_order_tree2" model="ir.actions.act_window">
301             <field name="name">Sales in Exception</field>
302             <field name="type">ir.actions.act_window</field>
303             <field name="res_model">sale.order</field>
304             <field name="view_type">form</field>
305             <field name="view_mode">tree,form,calendar,graph</field>
306             <field name="domain">[('state','in',('shipping_except','invoice_except'))]</field>
307             <field name="filter" eval="True"/>
308             <field name="search_view_id" ref="view_sales_order_filter"/>
309         </record>
310
311         <record id="action_order_tree4" model="ir.actions.act_window">
312             <field name="name">Sales Order in Progress</field>
313             <field name="type">ir.actions.act_window</field>
314             <field name="res_model">sale.order</field>
315             <field name="view_type">form</field>
316             <field name="view_mode">tree,form,calendar,graph</field>
317             <field name="domain">[('state','in',('progress','waiting_date','manual'))]</field>
318             <field name="search_view_id" ref="view_sales_order_filter"/>
319         </record>
320
321
322         <record id="action_order_tree5" model="ir.actions.act_window">
323             <field name="name">All Quotations</field>
324             <field name="type">ir.actions.act_window</field>
325             <field name="res_model">sale.order</field>
326             <field name="view_type">form</field>
327             <field name="view_mode">tree,form,calendar,graph</field>
328             <field name="domain">[('state','=','draft')]</field>
329             <field name="search_view_id" ref="view_sales_order_filter"/>
330         </record>
331
332         <record id="action_order_tree" model="ir.actions.act_window">
333             <field name="name">Old Quotations</field>
334             <field name="type">ir.actions.act_window</field>
335             <field name="res_model">sale.order</field>
336             <field name="view_type">form</field>
337             <field name="view_mode">tree,form,calendar,graph</field>
338             <field name="domain">[('state','=','draft'),('date_order','&lt;',time.strftime('%Y-%m-%d %H:%M:%S'))]</field>
339             <field name="filter" eval="True"/>
340             <field name="search_view_id" ref="view_sales_order_filter"/>
341         </record>
342
343         <record id="view_order_line_graph" model="ir.ui.view">
344             <field name="name">sale.order.line.graph</field>
345             <field name="model">sale.order.line</field>
346             <field name="type">graph</field>
347             <field name="arch" type="xml">
348                 <graph string="Sales Order Lines">
349                     <field name="product_id"/>
350                     <field name="price_subtotal" operator="+"/>
351                 </graph>
352             </field>
353         </record>
354
355         <record id="view_order_line_tree" model="ir.ui.view">
356             <field name="name">sale.order.line.tree</field>
357             <field name="model">sale.order.line</field>
358             <field name="type">tree</field>
359             <field name="arch" type="xml">
360                 <tree string="Sales Order Lines">
361                     <field name="order_id"/>
362                     <field name="order_partner_id"/>
363                     <field name="product_id"/>
364                     <field name="product_uom_qty" string="Qty"/>
365                     <field name="product_uom" string="UoM"/>
366                     <field name="salesman_id"/>
367                     <field name="price_subtotal" sum="Total"/>
368                     <field name="state"/>
369                     <field name="invoiced"/>
370                 </tree>
371             </field>
372         </record>
373         <record id="view_order_line_form2" model="ir.ui.view">
374             <field name="name">sale.order.line.form2</field>
375             <field name="model">sale.order.line</field>
376             <field name="type">form</field>
377             <field name="arch" type="xml">
378                 <form string="Sales Order Lines">
379                     <group colspan="4" col="6">
380                         <field name="order_id"/>
381                         <field name="order_partner_id" readonly="1" invisible="1"/>
382                         <field name="invoiced"/>
383
384                         <field name="product_id" readonly="1"/>
385                         <field name="product_uom_qty" readonly="1"/>
386                         <field name="product_uom"/>
387
388                         <field colspan="4" name="name" groups="base.group_extended"/>
389                         <field name="company_id" groups="base.group_multi_company" readonly="1"/>
390                     </group>
391                     <separator colspan="4" string="Price"/>
392                     <group colspan="4" col="6">
393                         <field name="price_unit"/>
394                         <field name="discount"/>
395                         <field name="price_subtotal"/>
396                     </group>
397                     <separator colspan="4" string="Notes"/>
398                     <field colspan="4" name="notes" nolabel="1"/>
399                     <separator colspan="4"/>
400                     <field name="state"/>
401                     <group col="3" colspan="2">
402                         <button name="button_cancel"
403                             string="Cancel" type="object"
404                             icon="gtk-cancel"
405                             states="confirmed,exception"/>
406                         <button colspan="1"
407                             name="%(action_view_sale_order_line_make_invoice)d"
408                             string="Create Invoice"
409                             type="action"
410                             states="done"
411                             icon="gtk-go-forward"
412                             attrs="{'invisible': [('invoiced', '=', 1)]}"/>
413                         <button name="button_done"
414                             string="Done" type="object"
415                             states="confirmed,exception"
416                             icon="gtk-go-forward" />
417                     </group>
418                 </form>
419             </field>
420         </record>
421
422         <record id="view_sales_order_line_filter" model="ir.ui.view">
423             <field name="name">sale.order.line.select</field>
424             <field name="model">sale.order.line</field>
425             <field name="type">search</field>
426             <field name="arch" type="xml">
427                 <search string="Search Sales Order">
428                     <filter icon="terp-dolar_ok!" string="To Invoice" domain="[('invoiced','&lt;&gt;', 1),('state','=','done')]" separator="1" help="Sale Order Lines ready to be invoiced"/>
429                     <separator orientation="vertical"/>
430                     <field name="order_id"/>
431                     <field name="order_partner_id"/>
432                     <field name="product_id"/>
433                     <field name="salesman_id">
434                         <filter icon="terp-personnal" domain="[('salesman_id','=',uid)]" help="Sales Order Lines related to a Sales Order of mine"/>
435                     </field>
436                     <newline/>
437                     <group expand="context.get('report',False)" string="Group By..." colspan="9" col="8">
438                         <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
439                         <filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'order_id'}"/>
440                         <filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'salesman_id'}"/>
441                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
442                     </group>
443                 </search>
444             </field>
445         </record>
446
447         <record id="view_sales_order_uninvoiced_line_filter" model="ir.ui.view">
448             <field name="name">sale.order.uninvoiced.line</field>
449             <field name="model">sale.order.line</field>
450             <field name="type">search</field>
451             <field name="arch" type="xml">
452                 <search string="Search Uninvoiced Lines">
453                     <filter icon="terp-gtk-go-back-rtl" string="To Do"
454                         domain="[('state','=','confirmed')]"
455                         name="sale order"
456                         help="Confirmed sale order lines, not yet delivered"
457                         />
458                     <filter icon="terp-dialog-close" string="Done"
459                         domain="[('state','=','done')]"
460                         name="sale_order_done"
461                         help="Sale order lines done"
462                         />
463                     <separator orientation="vertical"/>
464                     <filter icon="terp-accessories-archiver" string="Shipped"
465                         domain="[('state','=','done')]"
466                         name="unshipped"
467                         help="Sale Order Lines that are in 'done' state"
468                         />
469                     <filter icon="terp-dolar_ok!" string="Uninvoiced" name="uninvoiced"
470                         domain="[('invoiced','&lt;&gt;', 1),('state','&lt;&gt;','draft'),('state','&lt;&gt;','cancel')]"
471                         help="Sale Order Lines that are confirmed, done or in exception state and haven't yet been invoiced"
472                         />
473                     <separator orientation="vertical"/>
474                     <field name="order_id"/>
475                     <field name="order_partner_id"/>
476                     <field name="product_id"/>
477                     <field name="salesman_id">
478                         <filter icon="terp-personal" domain="[('salesman_id','=',uid)]" help="My Sales Order Lines"/>
479                     </field>
480                     <newline />
481                     <group expand="0" string="Group By..." colspan="9" col="8">
482                         <filter string="Order" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'order_id'}" help="Order reference"/>
483                         <filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
484                         <separator orientation="vertical"/>
485                         <filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
486                     </group>
487                 </search>
488             </field>
489         </record>
490
491         <record id="action_order_line_tree2" model="ir.actions.act_window">
492             <field name="name">Lines to Invoice</field>
493             <field name="type">ir.actions.act_window</field>
494             <field name="res_model">sale.order.line</field>
495             <field name="view_type">form</field>
496             <field name="view_mode">tree,form,graph</field>
497             <field name="search_view_id" ref="view_sales_order_uninvoiced_line_filter" />
498             <field name="context">{"search_default_uninvoiced":1}</field>
499             <field name="filter" eval="True"/>
500             <field name="help">Here is a list of each sales order line to be invoiced. You can invoice sales orders partially, by lines of sales order. You do not need this list if you invoice from the delivery orders or if you invoice sales totally.</field>
501         </record>
502
503         <record id="action_order_line_tree3" model="ir.actions.act_window">
504             <field name="name">Uninvoiced and Delivered Lines</field>
505             <field name="type">ir.actions.act_window</field>
506             <field name="res_model">sale.order.line</field>
507             <field name="view_type">form</field>
508             <field name="view_mode">tree,form,graph</field>
509             <field name="domain">[('invoiced','&lt;&gt;', 1),('state','=','done')]</field>
510             <field name="filter" eval="True"/>
511         </record>
512
513         <act_window
514         context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
515         id="act_res_partner_2_sale_order"
516         name="Sales"
517         groups="base.group_sale_salesman"
518         res_model="sale.order"
519         src_model="res.partner"/>
520
521         <act_window
522         context="{'search_default_product_id': [active_id], 'default_product_id': active_id}"
523         id="action_order_line_product_tree"
524         name="Product sales"
525         res_model="sale.order.line"
526         src_model="product.product"
527         groups="base.group_sale_salesman"/>
528
529         <menuitem id="menu_invoiced" name="Invoicing" parent="base.menu_base_partner" sequence="5"
530             groups="base.group_extended"/>
531         <menuitem action="action_order_line_tree2" id="menu_invoicing_sales_order_lines" parent="menu_invoiced" sequence="2" groups="base.group_sale_salesman,base.group_sale_manager"/>
532         <!-- configartion view -->
533
534         <record id="view_config_picking_policy" model="ir.ui.view">
535             <field name="name">Configure Picking Policy for Sales Order </field>
536             <field name="model">sale.config.picking_policy</field>
537             <field name="type">form</field>
538             <field name="inherit_id" ref="base.res_config_view_base"/>
539             <field name="arch" type="xml">
540               <data>
541                 <form position="attributes">
542                   <attribute name="string">Sales Application Configuration</attribute>
543                 </form>
544                 <separator string="title" position="attributes">
545                 <attribute name="string">Configure Sales Order Logistics</attribute>
546                   </separator>
547                   <xpath expr="//label[@string='description']" position="attributes">
548                     <attribute name="string">Setup your sales workflow and default values.</attribute>
549                   </xpath>
550                 <xpath expr='//separator[@string="vsep"]' position='attributes'>
551                       <attribute name='rowspan'>15</attribute>
552                       <attribute name='string'></attribute>
553                   </xpath>
554                 <group string="res_config_contents" position="replace">
555                   <field name="picking_policy" groups="base.group_extended"/>
556                   <newline/>
557                   <field name="order_policy"/>
558                   <newline/>
559                   <field name="step"/>
560                 </group>
561                 <xpath expr='//button[@name="action_skip"]' position='replace'/>
562               </data>
563             </field>
564         </record>
565
566         <record id="action_config_picking_policy" model="ir.actions.act_window">
567             <field name="name">Configure Picking Policy for Sales Order</field>
568             <field name="type">ir.actions.act_window</field>
569             <field name="res_model">sale.config.picking_policy</field>
570             <field name="view_id" ref="view_config_picking_policy"/>
571             <field name="view_type">form</field>
572             <field name="view_mode">form</field>
573             <field name="target">new</field>
574         </record>
575
576         <!-- register configuration wizard -->
577         <record id="config_wizard_step_sale_picking_policy" model="ir.actions.todo">
578             <field name="action_id" ref="action_config_picking_policy"/>
579             <field name="restart">always</field>
580             <field name="groups_id" eval="[(6,0,[ref('base.group_extended')])]"/>
581         </record>
582
583     </data>
584 </openerp>