跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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 中文社区

S

separater

@separater
关于
帖子
15
主题
7
群组
0
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • 订单行信息的复制
    S separater

    谢谢斑竹~~问题已经解决。通过调试进入one2many的set函数,我理解了这个方法的含义。

    [quote author=mrshelly link=topic=8056.msg17702#msg17702 date=1374378529]
    [(0,0, 你的订单行数据1), (0,0, 你的订单行数据2) ]
    [/quote]


  • 订单行信息的复制
    S separater

    我现在采用copy_data的方式来做,
        def logistic_order_line_create(self, cr, uid, ids, context=None):
            if context is None:
                context = {}

            create_ids = []
           
            for line in self.browse(cr, uid, ids, context=context):
                vals = self.copy_data(cr, uid, line._id, context)
                if vals:
                    inv_id = self.pool.get('logistic.order.line').create(cr, uid, vals, context=context)
                    create_ids.append(inv_id)
            return create_ids
    再将
                new_lines = logistic_order_line_obj.logistic_order_line_create(cr,uid,lines,context)
                val = {'order_line' : new_lines}

    这样可以实现拷贝。但是如果我修改行上的内容,这个修改会产生如下效果:
    1.新订单上没有这一行
    2.link的订单上多了一行,值为修改后的内容。

    这个问题如何解决?

    [quote author=digitalsatori link=topic=8056.msg17674#msg17674 date=1374224613]
    你将原来的订单行记录指向了新的订单了,旧订单当然就没有订单行数据了。你应该用copy的方法将订单行内容复制过来。
    [/quote]


  • 订单行信息的复制
    S separater

    你说得对。我这样修改了一下:
        def onchange_linked_order(self, cr, uid, ids, order_id, context=None):
            logistic_order_line_obj = self.pool.get('logistic.order.line')
            val = {}
            if order_id:
                order = self.browse(cr,uid,order_id,context)
                lines = [line._id for line in order.order_line]
                new_lines = logistic_order_line_obj.logistic_order_line_create(cr,uid,lines,context)
                val = {'order_line' : new_lines}
            return {'value':val}

    在logistic_order_line_create里我是用了create方法,导致required field,也就是这个
    'order_id': fields.many2one('logistic.order', 'Order Reference', ondelete='cascade', required=True)
    无法填。但是在创建Order的时候,实际上这个order_id还是未知的。

    这个问题如何解决?如果用copy来做的话,如何能够得到新的line的id传给"order_line"?


        def logistic_order_line_create(self, cr, uid, ids, context=None):
            if context is None:
                context = {}

            create_ids = []
           
            for line in self.browse(cr, uid, ids, context=context):
                vals = self.__prepare_logistic_order_line(cr, uid, line, context)
                if vals:
                    inv_id = self.pool.get('logistic.order.line').create(cr, uid, vals, context=context)
                    create_ids.append(inv_id)
            return create_ids


  • 订单行信息的复制
    S separater

    我想把以前建立的一个order_line的内容拷贝到正在创建的一个order_line上,拷贝动作发生在我在form的下拉框中选择了原来的order以后,我想通过on_change方法来实现:
        def onchange_linked_order(self, cr, uid, ids, order_id, context=None):
            logistic_order_obj = self.pool.get('logistic.order')
            val = {}
            if order_id:
                order = logistic_order_obj.browse(cr,uid,order_id,context)
                val = {'order_line' : [line._id for line in order.order_line]}
            return {'value':val}

    其中order_line是logistic.order上的一个字段
    'order_line': fields.one2many('logistic.order.line', 'order_id', 'Order Lines'),

    我这样做以后,我发现结果是在添加新的订单后,原来那张订单的行内容消失了。估计是在数据库里的映射发生了变化。我期望的行为是不影响原来的订单行。

    各位大侠有没有好的办法解决这个问题?


  • JS的调试问题
    S separater

    非常感谢!我也刚刚找到这个点。


  • JS的调试问题
    S separater

    在调试过程中我发现js代码是压缩过的,很难去调。请问一下OpenERP是在什么地方将JS文件压缩的?


  • Many2one字段的显示
    S separater

    我定义了一个column:
    'partner_id': fields.many2one('res.partner', 'Customer', readonly=True, required=True, change_default=True, select=True, track_visibility='always')

    在xml里我想显示这个字段
    <field name="partner_id"/>

    但是运行以后我发现并未出现想象中的下拉列表。


  • 求助:模块无法卸载
    S separater

    跟了代码后发现关键要将ir_module_module中的记录删除
    牵涉到的几张表记录也要删除:
    ir_model_fields,ir_model_data,ir_model


  • 求助:模块无法卸载
    S separater

    我写了一个模块,安装了以后,我重新修改了py和xml,结果我发现对数据库的修改并没有生效。

    我把文件夹从addon目录移走,并且在OE里delete掉这个模块。但是每次我Update 模块列表的时候老的那个模块还在。这个问题如何解决?


  • 是否有OpenERP的官方认证考试?
    S separater

    能否给个地址介绍?


  • 是否有OpenERP的官方认证考试?
    S separater

    如果有,上海有没有考场?


  • 创建数据库失败:OperationalError: Unable to use a closed cursor.
    S separater

    调试发现pytz的版本过老,导致抛出异常。换用最新版本之后,问题解决。

    另,OperationalError: Unable to use a closed cursor.这个错误对OpenERP来讲是一个非常General的错误,并不能说明是数据库的问题。很多地方OpenERP会抛出异常,最后它一旦捕获了该异常后就会关闭cursor,导致最后的这个错误。所以这个错误到底是什么引起的需要case by case。。。sign。。。


  • 创建数据库失败:OperationalError: Unable to use a closed cursor.
    S separater

    我用源码运行7.0还是有这个错误:
    raise psycopg2.OperationalError(msg)
    OperationalError: Unable to use a closed cursor.

    但是我用当天的exe安装版就没有这个问题。。。

    我跟了一下代码,问题出在这个地方,里面涉及到LRU,这个概念我不熟。但是我不知道怎样改。。。
    translated_msg = trans._get_source(cr, uid, self._name, 'constraint', lng, msg)

    各位大师有什么建议吗?


  • OpenERP7.0 源码运行遇到的问题
    S separater

    在ccdos大牛的提醒下,我看了日志,发现是几个包没有安装。安装了以后就好了。

    6.1的时候,如果有依赖包未安装,console里会有错误提示。7.0依赖的新包却没有提示。这点可以做个小小的改进。

    PS:这几个包有:Mock,docutils和unittest2.


  • OpenERP7.0 源码运行遇到的问题
    S separater

    各位大牛好!

    我下载的7.0的最新源码(openerp-7.0-20130323-002356),搭好环境后运行,Eclipse的Console窗口里也正确显示Pydev debugger: starting, 但是我通过浏览器localhost:8069访问不了,我查看运行的服务,也没有看到OpenERP。

    这是因为源码不稳定呢还是我需要做特定的配置?

  • 登录

  • 没有帐号? 注册

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