2013-05-06 72 views
2

我通過openerp文檔創建工作流程到我的模型。在前三個階段工作正常。 ex:'new','assigned','negotiation' 但是沒有爲'won','lost'水平工作。OpenERP工作流程(版本7)

這裏是我的模型class.i相關的代碼添加狀態欄,這裏還。

class bpl_work_update(osv.osv): 
    def mymod_new(self, cr, uid, ids):#trigger when save work update 
     self.write(cr, uid, ids, {'state': 'new'}) 
     return True 

    def mymod_assigned(self, cr, uid, ids): 
     self.write(cr, uid, ids, {'state': 'assigned'}) 
     return True 

    def mymod_negotiation(self, cr, uid, ids): 
     self.write(cr, uid, ids, {'state': 'negotiation'}) 
     return True 

    def mymod_won(self, cr, uid, ids): 
     self.write(cr, uid, ids, {'state': 'won'}) 
     return True 

    def mymod_lost(self, cr, uid, ids): 
     self.write(cr, uid, ids, {'state': 'lost'}) 
     return True 


    _name = "bpl.work.update" 
    _description = "BPL Work Update" 
    _columns = { 
     'bpl_company_id':fields.many2one('res.company', 'Company', help='Company'), 
     'bpl_estate_id':fields.many2one(
      'bpl.estate.n.registration', 
      'Estate', 
      help='Estate', 
      domain="[('company_id','=',bpl_company_id)]", 
      required=True), 
     'bpl_division_id':fields.many2one(
      'bpl.division.n.registration', 
      'Division', 
      help='Division', 
      domain="[('estate_id','=',bpl_estate_id)]", 
      required=True), 
     'ref_no': fields.char('Reference No', size=10,), 
     'offered_date': fields.date('Offered Date'), 
     'work_offers_id':fields.many2one(
      'bpl.work.offer', 
      'Work Offer', 
      domain="['&',('bpl_company_id','=',bpl_company_id), 
        ('bpl_estate_id','=',bpl_estate_id),'&', 
        ('bpl_division_id','=',bpl_division_id),'|', 
        ('gang_no','=',gang_no),('date_of_offer','=',offered_date)]"), 
     'gang_no': fields.char('Gang No', size=10, required=True), 
     'selected_tea_workers_update_line_ids':fields.one2many(
      'bpl.selected.tea.workers.update.line', 
      'work_id', 
      'Tea Work Offers', 
      ondelete="cascade"), 
     'selected_rubber_workers_update_line_ids':fields.one2many(
      'bpl.selected.rubber.workers.update.line', 
      'work_id', 
      'Rubber Offers', 
      ondelete="cascade"), 
     'selected_sundry_workers_update_line_ids':fields.one2many(
      'bpl.selected.sundry.workers.update.line', 
      'work_id', 
      'Sundry Offers', 
      ondelete="cascade"), 
     'selected_other_workers_update_line_ids':fields.one2many(
      'bpl.selected.other.workers.update.line', 
      'work_id', 
      'Sundry Offers', 
      ondelete="cascade"), 
     'casual_eligible': fields.boolean('Casual Eligible', help="Casual Eligible"), 
     'state': fields.selection([ 
      ('new', 'New'), 
      ('assigned', 'Assigned'), 
      ('negotiation', 'Negotiation'), 
      ('won', 'Approved'), 
      ('lost', 'Refused')], 
      'Workflow', 
      readonly=True), 
    } 
    _defaults = { 
     'bpl_company_id':_default_company, 
     'offered_date':fields.date.context_today, 
     } 

bpl_work_update() 

這裏是我的看法XML的相關部分&似乎這裏是issue.because前3個按鈕可見正確的階段。但贏得/丟失的按鈕不在那裏顯示。

<header> 
<button name="mymod_assigned" string="Assigned" states="new" 
    class="oe_highlight" type="workflow" /> 
<button name="mymod_negotiation" string="In Negotiation" 
    states="assigned" class="oe_highlight" type="workflow" /> 
<button name="mymod_won" string="Approved" states="negotiating" 
    class="oe_highlight" type="workflow" /> 
<button name="mymod_lost" string="Refused" states="negotiating" 
    class="oe_highlight" type="workflow" /> 

<field name="state" widget="statusbar" 
    statusbar_visible="new,assigned,negotiation,won,lost" 
    statusbar_colors='{ 
       "new":"blue", 
       "assigned":"blue", 
       "negotiation":"blue", 
       "won":"red", 
       "lost":"red" 
       }' 
      /> 
</header> 

這裏是我的work_flow xml.i剛剛從OpenERP的文件複製在這裏&粘貼,改變只<field name="osv">bpl.work.update</field>

<?xml version="1.0" encoding="utf-8"?> 
<openerp> 
<data> 

<!-- workflow --> 

<record model="workflow" id="wkf_mymod"> 
    <field name="name">mymod.wkf</field> 
    <field name="osv">bpl.work.update</field> 
    <field name="on_create" eval='True' /> 
</record> 

<!-- workflow activity --> 

<record model="workflow.activity" id="act_new"> 
    <field name="wkf_id" ref="wkf_mymod" /> 
    <field name="flow_start" eval='True' /> 
    <field name="name">new</field> 
    <field name="kind">function</field> 
    <field name="action">mymod_new()</field> 
</record> 

<record model="workflow.activity" id="act_assigned"> 
    <field name="wkf_id" ref="wkf_mymod" /> 
    <field name="name">assigned</field> 
    <field name="kind">function</field> 
    <field name="action">mymod_assigned()</field> 
</record> 

<record model="workflow.activity" id="act_negotiation"> 
    <field name="wkf_id" ref="wkf_mymod" /> 
    <field name="name">negotiation</field> 
    <field name="kind">function</field> 
    <field name="action">mymod_negotiation()</field> 
</record> 

<record model="workflow.activity" id="act_won"> 
    <field name="wkf_id" ref="wkf_mymod" /> 
    <field name="name">won</field> 
    <field name="kind">function</field> 
    <field name="action">mymod_won()</field> 
    <field name="flow_stop" eval='True' /> 
</record> 

<record model="workflow.activity" id="act_lost"> 
    <field name="wkf_id" ref="wkf_mymod" /> 
    <field name="name">lost</field> 
    <field name="kind">function</field> 
    <field name="action">mymod_lost()</field> 
    <field name="flow_stop" eval='True' /> 
</record> 

<!-- workflow transition --> 

<record model="workflow.transition" id="t1"> 
    <field name="act_from" ref="act_new" /> 
    <field name="act_to" ref="act_assigned" /> 
    <field name="signal">mymod_assigned</field> 
    <field name="group_id" ref="group_checkroll_user" /> 
</record> 

<record model="workflow.transition" id="t2"> 
    <field name="act_from" ref="act_assigned" /> 
    <field name="act_to" ref="act_negotiation" /> 
    <field name="signal">mymod_negotiation</field> 
    <field name="group_id" ref="group_checkroll_manager" /> 
</record> 

<record model="workflow.transition" id="t3"> 
    <field name="act_from" ref="act_negotiation" /> 
    <field name="act_to" ref="act_won" /> 
    <field name="signal">mymod_won</field> 
    <field name="group_id" ref="group_checkroll_manager" /> 
</record> 
'won','lost' 
<record model="workflow.transition" id="t4"> 
    <field name="act_from" ref="act_negotiation" /> 
    <field name="act_to" ref="act_lost" /> 
    <field name="signal">mymod_lost</field> 
    <field name="group_id" ref="group_checkroll_manager" /> 
</record> 


</data> 
</openerp> 

請幫我理清這個問題。
感謝

你容易我連着photo here.see,它只是做了3 stages.unable取消或批准(獲&丟失)

+1

你可以把工作流程打印呢? – Parthiv 2013-08-20 10:24:43

+0

我使用openerp幫助工作流對頁面進行了整理 – 2013-08-21 09:44:34

+0

@PriyanRockZ:我面臨同樣的問題....您修復了這個問題嗎? – dirtyhandsphp 2014-08-22 09:52:08

回答

0

我知道......這是一個有點晚了。但我有同樣的問題。

按鈕狀態錯誤。這是「談判」,而不是「談判」:

<button name="mymod_won" string="Approved" states="negotiation" 
    class="oe_highlight" type="workflow" /> 
<button name="mymod_lost" string="Refused" states="negotiation" 
    class="oe_highlight" type="workflow" /> 

問候 英戈