跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. [求助]弱弱的问题,一个很小的开发。

[求助]弱弱的问题,一个很小的开发。

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

    我想在仓库产品列表里添加一个行项目subtotal 计算real shtok 和list pirce 的乘积!
    [attach]401[/attach]
    在view里添加了相应的视图!
    在对象product_product添加了price_subtotal
    然后尝试用
    def _amount_line(self, cr, uid, ids, prop, unknow_none,unknow_dict):
    res = {}
    cur_obj=self.pool.get('res.currency')
    for line in self.browse(cr, uid, ids):
    cur = line.order_id.pricelist_id.currency_id
    res[line.id] = cur_obj.round(cr, uid, cur, line.[color=#800080]qty_available[/color] * line.[color=#800080]lst_price[/color] )
    return res

    来取这个数!但是程序报错! 有哪位大侠可以解释下 cur = line.order_id.pricelist_id.currency_id, 我理解是从表order的ID,读出Pricelist_id,然后根据currency_id 读出currency!

    不知道是不是这样的?
    谢谢了!
    还有,我将这些操作放在 model 里product 里对么?因为这个是仓库管理模块的显示!
    [attach]402[/attach][attach]403[/attach]

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

      cur = line.order_id.pricelist_id.currency_id # 这个是取当前价格表中的货币类型.. 默认情况下应该是CNY

              res[line.id] = cur_obj.round(cr, uid, cur, line.qty_available * line.lst_price )
      

      我觉得 应该写成

              res[line.id]['price_subtotal'] = cur_obj.round(cr, uid, cur, line.qty_available *line.lst_price )
      

      你试一下...

      1 条回复 最后回复
      0
      • digitalsatoriD 离线
        digitalsatoriD 离线
        digitalsatori 管理员
        写于 最后由 编辑
        #3

        你大概是从销售模块中拷贝来的代码。
        既然是product_product类上的方法,怎么会有line.order_id?
        如果是在Product列表中显示金额,就不需要考虑币种的问题,不需要做汇率的换算,直接:

        res[line.id] = line.qty_available * line.standard_price
        

        另外,你是否设置了对应的函数字段。请贴出完整的代码。

        建议把它作成一个模块。

        【上海先安科技】(tony AT openerp.cn)

        1 条回复 最后回复
        0
        • L 离线
          L 离线
          lygping
          写于 最后由 编辑
          #4

          谢谢 digtalsatori,
          我想我现在明白了!我现在再重新做一下,试试1!

          [[i] 本帖最后由 lygping 于 2010-3-14 11:17 编辑 [/i]]

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

            def _amount_line(self, cr, uid, ids, prop, unknow_none,unknow_dict):
            res = {}
            for line in self.browse(cr, uid, ids):
            res[line.id] = (line.qty_available * line.standard_price)
            return res
            经过楼上的各位大侠的指导,我终于搞定了!
            谢谢啊!

            1 条回复 最后回复
            0
            • digitalsatoriD 离线
              digitalsatoriD 离线
              digitalsatori 管理员
              写于 最后由 编辑
              #6

              其实这个小改进还是挺实用的。
              如果可以的话,请将它做成模块并上传到我们的 code.google.com/p/openerp-community-addons/ svn库

              请告知你的google account, 我会将你添加到贡献者团队中,谢谢。

              【上海先安科技】(tony AT openerp.cn)

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

                抱歉啊,我现在还在初始阶段,
                只是在现有的模块上进行了简单的修改!
                如果上传了,也只是原有的模块
                您是需要我做成单独的模块么?
                我恐怕还不具备那个能力!呵呵

                1 条回复 最后回复
                0

                • 登录

                • 没有帐号? 注册

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