4
<record model="workflow" id="wkf_sale">
5
<field name="name">sale.order.basic</field>
6
<field name="osv">sale.order</field>
7
<field name="on_create">True</field>
10
#----------------------------------------------
12
#----------------------------------------------
13
<record model="workflow.activity" id="act_draft">
14
<field name="wkf_id" ref="wkf_sale"/>
15
<field name="flow_start">True</field>
16
<field name="name">draft</field>
18
<record model="workflow.activity" id="act_router">
19
<field name="wkf_id" ref="wkf_sale"/>
20
<field name="name">router</field>
21
<field name="kind">function</field>
22
<field name="action">action_wait()</field>
23
<field name="split_mode">OR</field>
25
<record model="workflow.activity" id="act_wait_invoice">
26
<field name="wkf_id" ref="wkf_sale"/>
27
<field name="name">wait_invoice</field>
29
<record model="workflow.activity" id="act_wait_ship">
30
<field name="wkf_id" ref="wkf_sale"/>
31
<field name="name">wait_ship</field>
34
<record model="workflow.activity" id="act_done">
35
<field name="wkf_id" ref="wkf_sale"/>
36
<field name="name">done</field>
37
<field name="flow_stop">True</field>
38
<field name="kind">function</field>
39
<field name="action">write({'state':'done'})</field>
40
<field name="join_mode">AND</field>
42
<record model="workflow.activity" id="act_cancel">
43
<field name="wkf_id" ref="wkf_sale"/>
44
<field name="name">cancel</field>
45
<field name="flow_stop">True</field>
46
<field name="kind">stopall</field>
47
<field name="action">action_cancel()</field>
49
<record model="workflow.activity" id="act_cancel2">
50
<field name="wkf_id" ref="wkf_sale"/>
51
<field name="name">cancel2</field>
52
<field name="flow_stop">True</field>
53
<field name="kind">stopall</field>
54
<field name="action">action_cancel()</field>
56
<record model="workflow.activity" id="act_cancel3">
57
<field name="wkf_id" ref="wkf_sale"/>
58
<field name="name">cancel3</field>
59
<field name="flow_stop">True</field>
60
<field name="kind">stopall</field>
61
<field name="action">action_cancel()</field>
64
<record model="workflow.activity" id="act_invoice">
65
<field name="wkf_id" ref="wkf_sale"/>
66
<field name="name">invoice</field>
67
<field name="kind">subflow</field>
68
<field name="subflow_id" search="[('name','=','account.invoice.basic')]"/>
69
<field name="action">action_invoice_create()</field>
71
<record model="workflow.activity" id="act_invoice_except">
72
<field name="wkf_id" ref="wkf_sale"/>
73
<field name="name">invoice_except</field>
74
<field name="kind">function</field>
75
<field name="action">write({'state':'invoice_except', 'invoice_id':False})</field>
77
<record model="workflow.activity" id="act_invoice_end">
78
<field name="wkf_id" ref="wkf_sale"/>
79
<field name="name">invoice_end</field>
80
<field name="kind">function</field>
81
<field name="action">write({'invoiced':1})</field>
83
<record model="workflow.activity" id="act_invoice_cancel">
84
<field name="wkf_id" ref="wkf_sale"/>
85
<field name="name">invoice_cancel</field>
86
<field name="flow_stop">True</field>
87
<field name="kind">stopall</field>
88
<field name="action">action_cancel()</field>
91
<record model="workflow.activity" id="act_ship">
92
<field name="wkf_id" ref="wkf_sale"/>
93
<field name="name">ship</field>
94
<field name="kind">function</field>
96
<field name="kind">subflow</field>
97
<field name="subflow_id" search="[('osv','=','stock.picking')]"/>
99
<field name="action">action_ship_create()</field>
101
<record model="workflow.activity" id="act_ship_except">
102
<field name="wkf_id" ref="wkf_sale"/>
103
<field name="name">ship_except</field>
104
<field name="kind">function</field>
105
<field name="action">write({'state':'shipping_except'})</field>
107
<record model="workflow.activity" id="act_ship_end">
108
<field name="wkf_id" ref="wkf_sale"/>
109
<field name="name">ship_end</field>
110
<field name="kind">function</field>
111
<field name="action">action_ship_end()</field>
113
<record model="workflow.activity" id="act_ship_cancel">
114
<field name="wkf_id" ref="wkf_sale"/>
115
<field name="name">ship_cancel</field>
116
<field name="flow_stop">True</field>
117
<field name="kind">stopall</field>
118
<field name="action">action_cancel()</field>
121
#----------------------------------------------
123
#----------------------------------------------
125
<record model="workflow.transition" id="trans_invoice_end_done">
126
<field name="act_from" ref="act_invoice_end"/>
127
<field name="act_to" ref="act_done"/>
130
<record model="workflow.transition" id="trans_draft_router">
131
<field name="act_from" ref="act_draft"/>
132
<field name="act_to" ref="act_router"/>
133
<field name="signal">order_confirm</field>
136
<record model="workflow.transition" id="trans_draft_cancel">
137
<field name="act_from" ref="act_draft"/>
138
<field name="act_to" ref="act_cancel"/>
139
<field name="signal">cancel</field>
142
<record model="workflow.transition" id="trans_router_wait_invoice_shipping">
143
<field name="act_from" ref="act_wait_invoice"/>
144
<field name="act_to" ref="act_invoice_end"/>
145
<field name="condition">(order_policy=='picking')</field>
149
<record model="workflow.transition" id="trans_router_wait_invoice">
150
<field name="act_from" ref="act_router"/>
151
<field name="act_to" ref="act_wait_invoice"/>
154
<record model="workflow.transition" id="trans_router_wait_ship">
155
<field name="act_from" ref="act_router"/>
156
<field name="act_to" ref="act_wait_ship"/>
159
<record model="workflow.transition" id="trans_wait_invoice_cancel2">
160
<field name="act_from" ref="act_wait_invoice"/>
161
<field name="act_to" ref="act_cancel2"/>
162
<field name="signal">cancel</field>
165
<record model="workflow.transition" id="trans_wait_ship_cancel3">
166
<field name="act_from" ref="act_wait_ship"/>
167
<field name="act_to" ref="act_cancel3"/>
168
<field name="signal">cancel</field>
171
<record model="workflow.transition" id="trans_wait_ship_ship">
172
<field name="act_from" ref="act_wait_ship"/>
173
<field name="act_to" ref="act_ship"/>
174
<field name="condition">(order_policy!='prepaid') or invoiced</field>
177
<record model="workflow.transition" id="trans_wait_invoice_invoice">
178
<field name="act_from" ref="act_wait_invoice"/>
179
<field name="act_to" ref="act_invoice"/>
180
<field name="condition">(order_policy=='prepaid') or ((order_policy=='postpaid') and shipped)</field>
183
<record model="workflow.transition" id="trans_wait_invoice_invoice_manual">
184
<field name="act_from" ref="act_wait_invoice"/>
185
<field name="act_to" ref="act_invoice"/>
186
<field name="signal">manual_invoice</field>
189
<record model="workflow.transition" id="trans_invoice_invoice_end">
190
<field name="act_from" ref="act_invoice"/>
191
<field name="act_to" ref="act_invoice_end"/>
192
<field name="signal">subflow.paid</field>
194
<record model="workflow.transition" id="trans_invoice_invoice_except">
195
<field name="act_from" ref="act_invoice"/>
196
<field name="act_to" ref="act_invoice_except"/>
197
<field name="signal">subflow.cancel</field>
199
<record model="workflow.transition" id="trans_invoice_except_invoice">
200
<field name="act_from" ref="act_invoice_except"/>
201
<field name="act_to" ref="act_invoice"/>
202
<field name="signal">invoice_recreate</field>
204
<record model="workflow.transition" id="trans_invoice_except_invoice_end">
205
<field name="act_from" ref="act_invoice_except"/>
206
<field name="act_to" ref="act_invoice_end"/>
207
<field name="signal">invoice_corrected</field>
209
<record model="workflow.transition" id="trans_invoice_except_invoice_cancel">
210
<field name="act_from" ref="act_invoice_except"/>
211
<field name="act_to" ref="act_invoice_cancel"/>
212
<field name="signal">invoice_cancel</field>
214
<record model="workflow.transition" id="trans_ship_end_done">
215
<field name="act_from" ref="act_ship_end"/>
216
<field name="act_to" ref="act_done"/>
219
<record model="workflow.transition" id="trans_ship_ship_end">
220
<field name="act_from" ref="act_ship"/>
221
<field name="act_to" ref="act_ship_end"/>
222
<field name="trigger_model">mrp.procurement</field>
223
<field name="trigger_expr_id">procurement_lines_get()</field>
224
<field name="condition">test_state('finished')</field>
226
<record model="workflow.transition" id="trans_ship_ship_except">
227
<field name="act_from" ref="act_ship"/>
228
<field name="act_to" ref="act_ship_except"/>
230
<field name="trigger_model">mrp.procurement</field>
231
<field name="trigger_expr_id">procurement_lines_get()</field>
233
<field name="condition">test_state('canceled')</field>
235
<record model="workflow.transition" id="trans_ship_except_ship">
236
<field name="act_from" ref="act_ship_except"/>
237
<field name="act_to" ref="act_ship"/>
238
<field name="signal">ship_recreate</field>
240
<record model="workflow.transition" id="trans_ship_except_ship_end">
241
<field name="act_from" ref="act_ship_except"/>
242
<field name="act_to" ref="act_ship_end"/>
243
<field name="signal">ship_corrected</field>
245
<record model="workflow.transition" id="trans_ship_except_ship_cancel">
246
<field name="act_from" ref="act_ship_except"/>
247
<field name="act_to" ref="act_ship_cancel"/>
248
<field name="signal">ship_cancel</field>