Workflow không hoạt động

Thảo luận trong 'Hỏi - Đáp' bắt đầu bởi Lưu Quốc Anh, 17/5/13.

  1. Lưu Quốc Anh New Member

    Mọi người ơi giúp mình với.Mình tạo 1 cái workflow đơn giản mình tạo 1 bảng tên : khoa_khoa có column state.
    state có 2 trạng thái new và confirm. Nếu là new thì mình cho confirm và kết thúc. mình tạo workflow như bên dưới nhưng mình click vào button thì nó không link
    được tới workflow mình tạo.

    <!-- 4.Create workflow-->
    <record model="workflow" id="workflow_id_khoa">
    <field name="name">khoa.wkf</field>
    <field name="osv">khoa.khoa</field>
    <field name="on_create">True</field>
    </record>

    <!-- Activity -->
    <record id="act_new_khoa" model="workflow.activity">
    <field name="wkf_id" ref="workflow_id_khoa"/>
    <field name="flow_start">True</field>
    <field name="name">new</field>
    <field name="kind">function</field>
    <field name="action">mykhoa_new()</field>
    </record>

    <record id="act_assigned_khoa" model="workflow.activity">
    <field name="wkf_id" ref="workflow_id_khoa"/>
    <field name="name">assigned</field>
    <field name="kind">function</field>
    <field name="action">mykhoa_confirm()</field>
    </record>

    <!-- transition -->
    <record id="t1" model="workflow.transition">
    <field name="act_from" ref="act_new_khoa"/>
    <field name="act_to" ref="act_assigned_khoa"/>
    <field name="signal">mykhoa_confirm</field>
    </record>

    <button name="mykhoa_confirm" string="confirm" states="new" icon="gtk-apply"/>
  2. mrkhuongcc Member

    Chào bạn.
    bạn đã viết phương thức mykhoa_confirm() chua. phương thức này sẽ chuyển trạng thái của đối tượng khoa.khoa thành confirm.
    Bạn cũng xem thử đã khởi tạo trạng thái khoa.khoa là new chưa
  3. Lưu Quốc Anh New Member

    mình đã viết phương thức mykhoa_confirm() ở class khoa.py rồi và mình cũng đã override lại method create để khi tạo mới thì state luôn là new.
    Mình đã thử nếu ở tag Button mình thêm type="object" để button chỉ xử lý hàm mà không thông qua workflow thì xử lý vẫn OK. Khi mình bỏ type của button để cho button xử lý theo workflow thì không thấy button xử lý nữa
  4. mrkhuongcc Member

    chào bạn,
    1. trong workflow mà bạn thiết kế ở trên: bạn phải viết 2 hàm: mykhoa_new và mykhoa_confirm không biết bạn đã viết chưa?
    2. không biết bạn đã khai báo workflow trong file __openerp__.py chưa?

    còn type trong button thì có 3 dạng:
    1. object: là gọi hàm trong đối tượng
    2. workflow: là kiểu mặc định, không khai báo cũng được. dùng để gọi 1 hàm của workflow
    3. action: để gọi một action ( name="%(actionname)d"): thường dùng để gọi report or wizard
    bạn kiểm tra lại xem sao nhé. :)
  5. Lưu Quốc Anh New Member

    Mình đã kiểm tra kỹ rồi :

    1.mykhoa_new & mykhoa_confirm mình đã viết trong file .py
    2. File xml về workflow mình đã khai báo trong __openerp__.py

    => bây giờ chỉ còn nội dung của File XML như trên không biết mình có sai gì không thôi?
  6. mrkhuongcc Member

    hj, zậy thì bó tay rùi bạn ơi, nhờ các bậc tiền bối nhiều kinh nghiệm hơn thui.
    :)
  7. Lưu Quốc Anh New Member

    OK. Cám ơn bạn nhiều nhé.
  8. anlh Member

    Hi Quốc Anh.

    Đây có phải là toan bộ workflow của bạn không?

    Thứ 1: Khi workflow start không cần hàm mykhoa_new(). Không biết trong hàm này có nội dung là gì? Bạn có thể đưa lên cho mọi người tham khảo góp ý.

    Thứ 2: Sao mình không thấy bạn stop wf o đâu hết vậy? Bạn hãy đưa toàn bộ code wf của bạn lên để mình góp ý.

    Chúc vui!

Chia sẻ trang này