跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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 帖子 4 发布者 5.4k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • J 离线
    J 离线
    jerry79
    写于 最后由 编辑
    #1

    我在修改sales order模块,遇到了一个问题,这个模板下,每此新建订单,会自动生成一个订单号码,此号码是流水号,依次递增,如SO001,SO002等
    我现在在确认订单函数中增加了一段代码,如下:

    <br />if body_text1[0]&#91;&#039;amount_total&#039;]==0.0:<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise osv.except_osv(_(&#039;错误 !&#039;),<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _(&#039;订单总金额为零,请确认已选择产品或已计算订单总金额&#039;))<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return False<br />
    


    这段代码的意思是,如果订单总金额为零,则不能继续执行,用这段代码控制用户忘记选择产品或者忘记计算总金额。
    现在遇到的问题是,如果用户是忘记选择产品,而直接点击了“订单确认”,那么弹出错误提示后,在重新选择产品时,会提示“订单号已存在”,也就是说刚才的订单已经保存,此时手动修改订单号,可以继续。
    请问这个问题应如何解决呢?
    非常感谢!

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

      兄弟你贴出的代码与 “订单号已存在” 错误没有什么关联,问题应该在你的订单号定制部分的代码。

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

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

        订单确认执行的是工作流 转换

        你这个需求应该在sale_order 的create 中进行

        判断vals的order_line是否是[] 无明细或对其中的记录进行判断来确定

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

          @jjx 终于又看到你的身影了,真是久违了
          要寻找大牛的弟兄们,大牛现身了,别再让他跑了 😉

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

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

            我一般取消  销售单号的 Default . 让销售单号只读. 然后 在create 方法里去给添加订单流水号...

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

              [quote author=digitalsatori link=topic=2800.msg9443#msg9443 date=1331214475]
              @jjx 终于又看到你的身影了,真是久违了
              要寻找大牛的弟兄们,大牛现身了,别再让他跑了 😉
              [/quote]

              绝不敢当啊,比在座各位对openerp的理解差远了,现在正在每天看贴子学习呢

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

                谢谢大家,不过还是有问题需要请教。
                我在create中做判断,在新建订单明细的时候就提示错误了,导致无法添加订单明细,代码如下:

                <br />def create(self, cr, uid, vals, context={}):<br />&nbsp; &nbsp; &nbsp; &nbsp; if not &#039;order_line&#039; in vals or not vals&#91;&#039;order_line&#039;]:&nbsp;  <br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise osv.except_osv(_(&#039;错误 !&#039;),<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _(&#039;订单总金额为零,请确认已选择产品&#039;))<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return False<br />&nbsp; &nbsp; &nbsp; &nbsp; return super(sales_order,self).create(cr, uid, vals, context)<br />
                


                我想这个问题应该是在新建订单明细的时候,就执行了create动作,但是我是希望我点“确认订单”的时候再判断order_line的情况,请问这时我应该如何修改create函数呢?
                暂时有另外一个解决办法,在确认订单时:

                <br />if get_order_line==&#91;]:<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; raise osv.except_osv(_(&#039;错误 !&#039;),<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; _(&#039;订单总金额为零,请确认已选择产品&#039;))<br />&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return False<br />
                


                我之前是判断amount_total,改成判断order_line就没有问题了。

                1 条回复 最后回复
                0

                • 登录

                • 没有帐号? 注册

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