跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. 請教osv_memory wizard中的return值問題

請教osv_memory wizard中的return值問題

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

    小弟上次經mrshelly大指點 採用新的osv_memory wizard 編寫程式
    遇到一個問題 就是執行onchange_product_id Function時 return 值能改變頁面上顯示資料
    但是執行count_inv Function時 return 值卻無法改變頁面上顯示資料

    請問是我哪裡漏失了? 請大大指教 Thanks
    附件為可執行之osv_memory wizard

      def onchange_product_id(self, cr, uid, ids, product_id,IDX):
                if product_id!='False':
                    PT_ID="0"
                    cr.execute("""select product_tmpl_id from product_product where id='"""+str(product_id)+"""'""")
                    resT = cr.fetchall()
                    for rowT in resT:
                        PT_ID=str(rowT[0])

                    list_price="0"
                    standard_price="0"
                    cr.execute('select list_price,standard_price from product_template where id='+PT_ID)
                    resPR = cr.fetchall()
                    for rowPR in resPR:
                        list_price=str(rowPR[0])
                        standard_price=str(rowPR[1])


                    val = {
                    'price_unit_sale'+str(IDX): list_price,
                    'price_unit_purchase'+str(IDX): standard_price
                    }
                    return {'value': val}


        def count_inv(self, cr, uid, ids, context=None):

                    x=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17]
                    record = self.read(cr, uid, ids, [])
                    record = record and record[0]
                    inv_total_qty=0
                    inv_total_amount=0

                    for n in x:
                            product_name=str(record[('product_name'+str(n))])
                            if product_name!='False':
                                product_qty=str(record[('product_qty'+str(n))])
                                price_unit_purchase=str(record[('price_unit_purchase'+str(n))])

                                f_purchase_subamount=float(product_qty)*float(price_unit_purchase)
                                inv_total_qty=inv_total_qty+int(product_qty)
                                inv_total_amount=inv_total_amount+f_purchase_subamount

                    A=inv_total_qty
                    B=inv_total_amount

                    val = {
                    'inv_total_qty1' : inv_total_qty,
                    'inv_total_amount1' : inv_total_amount
                    }
                    return {'value': val}

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

      onchange 事件, 与 按钮点击事件, 是两种事件...

      1 条回复 最后回复
      0
      • K 离线
        K 离线
        kk071700
        写于 最后由 编辑
        #3

        [quote author=mrshelly link=topic=2885.msg9701#msg9701 date=1334237628]
        onchange 事件, 与 按钮点击事件, 是两种事件...
        [/quote]

        感謝mrshelly大解惑

        1 条回复 最后回复
        0

        • 登录

        • 没有帐号? 注册

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