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

18684036

@18684036
关于
帖子
40
主题
10
群组
0
粉丝
0
关注
0

帖子

最新 最佳 有争议的

  • Oecn_base_fonts在可安装模块里不能找到
    1 18684036

    楼主采用的是deb安装吧,发现不了是因为你投放oecn的目标不对


  • 关于订单取消后,计划运行仍然计算物料的问题
    1 18684036

    效果图如下:[attachimg=1]


  • 关于订单取消后,计划运行仍然计算物料的问题
    1 18684036

    今天在测试生产时,订单因输入不合格,所以取消了一下,发现了以下情况
    操作:录入订单-----》确认订单
    然后我想取消掉它,于是我去出货单中删除掉出货单
    回到订单中点击 取消订单

    发现在 需求异常中  订单的状态 仍是已确认
    此时我再建一个订单,进行MRP计算,则MRP就会计算错误,会计算出两个订单的物料 ,含我刚才取消的订单的物料

    鉴于该种情况,我向总监大神请教了是否是我这边的问题
    经确认非本人的问题

    于是我就将sale.py中的cancel_order函数修改了一下,修改如下:


  • OPENERP demo 测试数据分析及源码分析
    1 18684036

    这个,非常不错,我现在也在看这个的代码


  • 如何点击一个按钮,更改某个字段的值
    1 18684036

    今天在做采购单中,想加入一个功能,就是 采购员在递交 采购申请单给 领导签时,领导会想了解一下,这款材料,以往买是多少价钱
    于是我便将采购单进行更改,
    1.在notes下面加入了一个按钮
     为了效果更好看些,我模仿了Total  (update)的做法,即编辑可见,其他状态不可见
    2。按钮事件中,直接返回一个测试数据,如:最近三次报表分别为:80.00  98.67
     代码如下:
      return
      {values:{'notes':'最近三次报表分别为:80.00  98.67'}}
     发现该写法不起效果
    假如是在onchange下,该种写法是可以正常执行的

    于是请教了上海-Joshua 大神
    经大神指导,OE不能直接返回一个value值,需要Write进数据库

    故改成
        def buyprice_scrap(self, cr, uid, ids, context=None):
            vals={}
            vals['notes']='最近三次报表分别为:80.00  98.67'
            return super(purchase_order, self).write(cr, uid, ids,vals, context=context)
    测试成功





  • 生产订单添加物料目标库位改为生产
    1 18684036

    实在不行,就添加一个按钮,点击批量更改 从表的物料库位,
    我之前也想过设置生成的采购单对准 进料区 库位
    但发现测试了N次后,做法是行不通的,
    生成的时候就对准 库位,
    仓库计算MRP时是判断stock库位,导致不停的生成新的采购单


  • CentOS6.4下源代码安装以及nginx配置
    1 18684036

    写得灰常不错,攒一个


  • 如何控制many2one多对一的字段下拉框显示自己所想要的数据问题
    1 18684036

    我其实是想用context传值的,但水平有限,于是我在模块用使用了全局变量
    惭愧啊


  • 如何控制many2one多对一的字段下拉框显示自己所想要的数据问题
    1 18684036

    具体代码如下
        def fields_get(self,cr,uid,fields=None,context=None):
            res=super(bom_supplierinfo,self).fields_get(cr,uid,fields,context)
            global conset_product_id
            global supplier_bom_ids 
            if 'name' in res:
                res['name']['domain']=[('id','in',supplier_bom_ids)]     
            return res
        def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
            self.fields_get(cr,uid,'name',context=context)
            res = super(bom_supplierinfo,self).fields_view_get(cr, uid, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
            if view_type!='form':
                return res
            if context is None:
                context = {}
            fields=res.get('fields',{})
            if fields:
                if fields.get('name'):
                    results=self.pool.get('res.partner').read(cr,uid,supplier_bom_ids,['name'],context)
                    print 'show the Name value'
                    for r in results:
                        print r['id']
                    #res['name']=results
                    self.fields_get(cr,uid,'name',context=context)
                    res['name']=results
                   
                    #res['fields']=self.fields_get(cr,uid,'name',context=context)
            return res 


  • 如何控制many2one多对一的字段下拉框显示自己所想要的数据问题
    1 18684036

    最终答案测试出来了,
    1:fields_view_get 中判断相应的view_type=你想要控制的view,比如tree or form
        判断fields中是否含有你想要控制的字段,如我上面所说的name字段
        调用 fields_get 函数,更改该字段的domain值 
      注:被控制下拉的字段,在xml中的视图中,不能含有 widget="selection" 否则不生效
      我测试是这样的,具体是什么原因不知道,实在很抱歉
      
      我用的是该方法,并测试成功
    2:最简单的就是many2one加上related  (jeff 提示,我有做过,方法可行)
    3:用selection类型 再用method 填充  (jeff 提示,我没有测试过)

    在此,再次感谢jeff ,步科,ccods,海飞众人的帮助


  • 如何控制many2one多对一的字段下拉框显示自己所想要的数据问题
    1 18684036

    问题点:
    在实际的开发过程中,有碰到这样的一个问题
    customer and supplier and user 都是在res.partner表中
    产品也有一个product.supplierinfo 表用来装载该产品的供应商
    而我定义了一个字段
            'name' : fields.many2one('res.partner', 'supplier',                      domain=[('supplier','=',True)],
                                    ondelete='cascade',required=True,  help="Supplier of this product"), 
    想显示 product.supplierinfo 中的供应商

    解决办法:
    1.我想通过domain来完成,于是使用了 domain=[('supplier','in',func)]
      但是测试时一直没通过
     经jeff 与步科,ccods,海飞等众多大神们,佛祖们指导,最终得出的解决办法是,该写法不符合规范,
     正确写法应该为:domain=my_domain()

      然后再定义一个函数
      def my_domain()
      return "[('id','in',["+','.join(map(str,ids))+"])]"  #假如ids=[1,2,3]
      该函数的作用是返回一个字符串
     则回到原字段定义中为:
            'name' : fields.many2one('res.partner', 'supplier', domain=[color=limegreen]"[('supplier','in',[1,2,3])]"[/color],
                                    ondelete='cascade',required=True,  help="Supplier of this product"),
      对此我进行了domain="[]" 与 domain=[] 测试
     发现只有 domain=[
    ] 才起作用,对此疑问我向jeff咨询中得出答案:该两种都是一样的效果,
     海飞兄说,官方写法为:domain=[
    ] ,
     同时我自己测试了,并找了ccods与东莞-老马 进行帮忙测试这个“”问题,结果是,ccods的两种写法效果一样,东莞-老马的跟我的一样,只有domain=[
    ****] 才起作用
     
     对此疑问只能归为版本问题,进行保留处理
     
     2:因为my_domain()返回的是字符串,所以导致了虽然字段的domain=“可变值” 但却起不到作用
     对此我又进行进一步的测试
     海飞兄提示说:domain实际是一个list,所以不应该用字符串,应该用数组
     我也有跟踪仔细观察过,domain=[('supplier','in',[1,2,3])] 
      在此,进行一下数组及元组的解析,
     数组=[]
     元组=()
     于是我猜测,domian=[元组1,元组2,元组3] 这种写法
     于是我将my_domain()函数改成:
         def my_domain():
       ids=[1,2,3,4]    #为方便测试我直接给它设置了一个固定数组
            reval=[]
            reval=['id','in']
            reval.append(supplier_bom_ids)
           
            stuple=tuple(reval)
           
            returlist=[]
            returlist.append(stuple)
            #reval="domain=[('id','in',["+','.join(map(str,ids))+"])]"
            #reval="[('id','in',["+','.join(map(str,ids))+"])]"
            print conset_product_id
            print "以下是reval的值"
            print returlist 
            return returlist

      则返回的是一个带元组的数组,此时,测试成功,该my_domain()返回的结果  起作用了,
      于是我想将ids转成一个可变值,但此时就不成功了
      我再进行跟踪观察,发现_columns在初使化时就已经运行了,此时context或者全局参数根据还没能产生
     
      所以使用domain=my_domain() 方法宣告失败

    方法2:
      fields_view_get –> fields_get –> read
      该方法我测试过,但因为能力有限,这些函数的原理我也没搞得怎么明白,不敢发表评论,
      fields_view_get 在模块show之前,会进行加载
      fields_get 可以更改_columns里的值,但是即使更改后,也不见起作用,所以我估计在运行fields_get时,该many2one已经加载完数据了
      
     
    最终结果:问题还是没解决得,实在辜负了群里众位大神们的帮助


  • Name 'method' is not defined 的错误提示检查结果
    1 18684036

    是的,如果定义一个方法即可,只是我用不上,所以就删除掉了


  • 学习OE 如何定义视图的类型
    1 18684036

    除开这个方法,我还是依然认为 def view_header_get() 这个函数可以 根据用户的uid 来指向 某个view_id
    虽然我还没做得出来,但我相信这个方法肯定行


  • MRP_BOM 的主从定义
    1 18684036

    测试结果,合计14天,失败


  • 如何实现下拉列表onchange的时候对另一个控件清零设为只读
    1 18684036

    不错不错


  • Name 'method' is not defined 的错误提示检查结果
    1 18684036

    本来是想在文档中,图文并貌的,结果没弄得出来,对不起jeff,对不起总监的期望啊,还有上海-Joshua(470534800) 0:01:13 的指导


  • MRP_BOM 的主从定义
    1 18684036

    我现在还在研究这个,还没跑得顺,昨天晚上多亏jeff解答了Name 方法错误的问题,现在继续仿Mrp做一个模块,主从表放同一个表中,希望能尽快解决


  • Name 'method' is not defined 的错误提示检查结果
    1 18684036

    问题点这里[attachimg=1]


  • Name 'method' is not defined 的错误提示检查结果
    1 18684036

    今天在测试向导时,发现保存时总是出问题
    于是为了测试向导的字段没有问题,于是我用该向导的字段及view来创建一个新模块

    在测试保存时都正常,但回到tree视图时,就提示如下:
    [attachimg=2]
    OpenERP Client error
    Uncaught Error: QWeb2 - template['ListView.rows']: Runtime Error: Error: QWeb2 - template['ListView.row']: Runtime Error: Error: NameError: name 'method' is not defined<br / [检测到链接无效,已移除] br />
    解决流程(个人尝试方法,仅供参考,避免别人走相同的路线):
    1.由于该错误是数据库表存在数据才会出错,于是我认为是数据不完整导致,我将数据库中的字段缺省的全部手工填写上
    [img2][attachimg=2][/img2]
    检查字段是否定义错误,如图
    [attach=3][attachimg=3]
    再检查数据库表
    [attach=3][attachimg=3]
    结果:失败
    2:经与大神讨论,认为OE 7版本中,有几个版本是存在这个错误,于是我将本机的2013-03-30号的版本删除,替换成2013-05-11版
    结果:失败
    3:Ccdos提议:可能是字段中必须有 Name 字段
    结果:失败
    4:海飞大神提议:追加_rec_name="字段"
    结果:失败
    5:后经Jeff大神检查
    流程:
    5.1:先检查search_view 视图是否有问题
    5.2:检查tree_view视图,发现在视图中多了一个Color方法
    结果:成功


    在此,十分感谢群里各位大神们的帮助与支持,谢谢
    [attach=3][attachimg=3]


  • Openerp 中的 readonly
    1 18684036

    我觉得最大的可能性就是 readonly字段,OE不写入vals中,而在onchange中,又不能控制vals,所以导致了这个字段无法保存

  • 登录

  • 没有帐号? 注册

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