跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 新手求助
  4. 【已解决】button所执行的方法(弹出一个窗口)

【已解决】button所执行的方法(弹出一个窗口)

已定时 已固定 已锁定 已移动 Odoo 新手求助
15 帖子 3 发布者 10.8k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • O 离线
    O 离线
    oldrev
    写于 最后由 编辑
    #4

    参考 tiny_purchase

    1 条回复 最后回复
    0
    • mrshellyM 离线
      mrshellyM 离线
      mrshelly
      写于 最后由 编辑
      #5

      好象理论上,只需要 在 class 里设置 与 button name 一致的 function 然后 return True 就行了吧?

      没有测试.你可以把你的代码贴出来大家看看.

      1 条回复 最后回复
      0
      • P 离线
        P 离线
        popkar77
        写于 最后由 编辑
        #6

        谢谢oldrev ,参考了tiny_purchase了,但是我发现他的button是调用为wrokflow的
        我这里用的应该是action
        但是就是不知道应该怎么写..

        1 条回复 最后回复
        0
        • P 离线
          P 离线
          popkar77
          写于 最后由 编辑
          #7

          谢谢大家:handshake

          [[i] 本帖最后由 popkar77 于 2009-9-16 14:26 编辑 [/i]]

          1 条回复 最后回复
          0
          • mrshellyM 离线
            mrshellyM 离线
            mrshelly
            写于 最后由 编辑
            #8

            嗯. 我发现你就把我当空气而已.....

            1 条回复 最后回复
            0
            • P 离线
              P 离线
              popkar77
              写于 最后由 编辑
              #9

              ...水,你说的方法我试过啦....忘记谢撒...:lol
              我发现里面好像只要在某个界面添加一个button方法,就要先把该界面的应定要填的都填了....
              现在问题成了,点击一个button,弹出一个窗口...

              [[i] 本帖最后由 popkar77 于 2009-9-16 14:30 编辑 [/i]]

              1 条回复 最后回复
              0
              • O 离线
                O 离线
                oldrev
                写于 最后由 编辑
                #10

                弹出窗口是 OpenERP 控制的,这是 MVC 模式的分布式程序,不是事件驱动的桌面程序

                1 条回复 最后回复
                0
                • P 离线
                  P 离线
                  popkar77
                  写于 最后由 编辑
                  #11

                  解决了。
                  关于弹出窗口可以看module 的project里面的例子比较简单
                  具体就是这句[code]
                  <button name="%(action_config_compute_remaining)d" string="Review" type="action" colspan="1" target="new" states="open,pending"/>
                  [/code]而="%(action_config_compute_remaining)d"这个写法官方论坛上也得出答案
                  [quote]
                  It will search for id of that action in ir_model_data and replace it with integer value.
                  you can check the view from Administration/Customization/User Interface/Views
                  You will get id of that action in views

                  [/quote]
                  结果如下:
                  [attach]220[/attach]

                  [[i] 本帖最后由 popkar77 于 2009-9-21 16:37 编辑 [/i]]

                  1 条回复 最后回复
                  0
                  • mrshellyM 离线
                    mrshellyM 离线
                    mrshelly
                    写于 最后由 编辑
                    #12

                    这个 %(....)d 是指向的一个什么ID呢? 一个 view 的ID???

                    1 条回复 最后回复
                    0
                    • P 离线
                      P 离线
                      popkar77
                      写于 最后由 编辑
                      #13

                      view ID
                      我举个例子,例如:project这个moudule
                      project_view.xml
                      里面的[code]
                      <record id="view_config_compute_remaining" model="ir.ui.view">
                      <field name="name">Compute Remaining Hours </field>
                      <field name="model">config.compute.remaining</field>
                      <field name="type">form</field>
                      <field name="arch" type="xml">
                      <form string="Remaining Hours">
                      <separator colspan="4" string="Change Remaining Hours"/>
                      <newline/>
                      <field name="remaining_hours" widget="float_time"/>
                      <group col="4" colspan="4">
                      <button icon="gtk-cancel" special="cancel" string="Cancel"/>
                      <button icon="gtk-ok" name="compute_hours" string="Update" type="object"/>
                      </group>
                      </form>
                      </field>
                      </record>

                      <record id="action_config_compute_remaining" model="ir.actions.act_window">
                      <field name="name">Compute Remaining Hours</field>
                      <field name="type">ir.actions.act_window</field>
                      <field name="res_model">config.compute.remaining</field>
                      <field name="view_type">form</field>
                      <field name="view_mode">form</field>
                      <field name="target">new</field>
                      </record>
                      [/code][code]
                      <button name="%(action_config_compute_remaining)d" string="Review" type="action" colspan="1" target="new" states="open,pending"/>
                      [/code]action_config_compute_remaining就是一个view的id,
                      最上面的view_config_compute_remaining就是要弹出窗口的详细内容。
                      view_config_compute_remaining和action_config_compute_remaining的连接方法就是field name
                      [code]
                      <field name="name">Compute Remaining Hours </field>
                      [/code]

                      1 条回复 最后回复
                      0
                      • mrshellyM 离线
                        mrshellyM 离线
                        mrshelly
                        写于 最后由 编辑
                        #14

                        哇哩....可不可以在按钮上是动态文字.

                        如 string="查看订单(%d)详情" % (sale_order.id)

                        1 条回复 最后回复
                        0
                        • P 离线
                          P 离线
                          popkar77
                          写于 最后由 编辑
                          #15
                          :lol 你试试看吧
                          1 条回复 最后回复
                          0

                          • 登录

                          • 没有帐号? 注册

                          • 登录或注册以进行搜索。
                          • 第一个帖子
                            最后一个帖子
                          0
                          • 版块
                          • 标签
                          • 热门
                          • 用户
                          • 群组