跳转至内容

Odoo 开发与实施交流

No decsciption available
2.3k 主题 10.5k 帖子
  • odoo 如何生成流水号,

    2
    0 赞同
    2 帖子
    1k 浏览
    JoshuaJ

    可以使用Odoo的sequence,以purchase为例。

    0_1534987255443_7274581e-8423-43c6-a600-c4a0cefe69d6-image.png
    创建采购单的时候自动获取流水号

    @api.model def create(self, vals): if vals.get('name', 'New') == 'New': vals['name'] = self.env['ir.sequence'].next_by_code('purchase.order') or '/' return super(PurchaseOrder, self).create(vals)
  • ODOO 9.0管理员admin账号密码到期,无法登录了?

    6
    0 赞同
    6 帖子
    1k 浏览
    静静

    🙄 🙄 你们自己二开的功能,我又看得不到代码,我怎么知道在哪里改。。

  • 计算字段重新计算

    1
    0 赞同
    1 帖子
    555 浏览
    尚无回复
  • 0 赞同
    11 帖子
    2k 浏览
    H

    @yeko
    就是在当前form视图这样引入就可以了啊。学到一招。

    <script type="text/javascript" src="/product/static/src/js/xx.js"/>
  • 创建数据库报错:Wrong value for base.language.install.lang: u'en_US'

    1
    0 赞同
    1 帖子
    1k 浏览
    尚无回复
  • [已解决]related 计算后的字段,如何修改

    4
    0 赞同
    4 帖子
    1k 浏览
    H

    @静静
    不行的,原来的是计算字段就是只读的。变成onchange还是只读的

  • [已解决]继承sale.order添加字段,报错KeyError,是不能related吗

    15
    0 赞同
    15 帖子
    2k 浏览
    静静

    :unamused_face: 读数据库多慢。当然是直接读python咯。升级谁,就把他定义的字段属性,写进数据库。
    应该根这种情况有点像http://blog.sina.com.cn/s/blog_bc7dee2d0102xm44.html

  • 甘特视图定义无效! odoo 11是不是不支持gantt

    1
    0 赞同
    1 帖子
    765 浏览
    尚无回复
  • 在odoo中如何渲染本地文件到浏览器

    3
    0 赞同
    3 帖子
    735 浏览
    S

    @hui 在本地存储的文件 ,HTML 或图片文件 ,我想定义一个路由 然后访问这个路由 在浏览器显示出 这个文件

  • odoo 如何接收前端发来的form附件请求

    1
    0 赞同
    1 帖子
    508 浏览
    尚无回复
  • 如何在.py文件中获取js文件的数据?

    1
    0 赞同
    1 帖子
    546 浏览
    尚无回复
  • 2 赞同
    1 帖子
    962 浏览
    尚无回复
  • 怎么才能在<script> 里面加async?

    1
    0 赞同
    1 帖子
    457 浏览
    尚无回复
  • raise ValidationError后修改字段值

    6
    0 赞同
    6 帖子
    1k 浏览
    G

    raise 相当于给出错误信息,error。所有执行的代码全部回滚,也就是全部无效,

  • Many2many字段过滤问题,新人求助

    6
    0 赞同
    6 帖子
    1k 浏览
    H

    @56410725
    这里的name对应的是视图中该字段显示的input框里面的值

  • <span t-esc="round(subtotal, 2)"/> 有哪些类似的内置函数

    1
    0 赞同
    1 帖子
    389 浏览
    尚无回复
  • 权限自动配置

    7
    0 赞同
    7 帖子
    2k 浏览
    H

    @皓羽如风
    我理解的你的意思就是根据一些条件判断出用户具体应该给什么权限。我觉得可以这样。说的比较概括啊。

    你可以在Automation中写一个你给每个用户分配的权限的逻辑处理,前提是你已经有这些用户组,其他的分配可以通过一个一个条件组合实现,然后手动执行就行了。如果是一次性的,关闭自动执行就行。

  • compute 计算出错

    1
    0 赞同
    1 帖子
    474 浏览
    尚无回复
  • self.env.user 为什么总是指向超级用户?

    13
    0 赞同
    13 帖子
    2k 浏览

    @digitalsatori 这个我是了解的,我有在其他地方print输出测试过,所以了解。_can_write函数本身就是针对单例情况的,嗯,我考虑一下,看看怎么改合适。

  • [已解决]inverse 方法没作用

    4
    0 赞同
    4 帖子
    710 浏览
    H

    @digitalsatori
    我找到了明显的错误,字段的属性写错了,应该是inverse不是reverse,所以不起作用的。而且inverse对应的方法里面也要修改,代码如下。

    还有个问题就是,感觉inverse有时候起作用,有时候不起作用的。

    其中compute方法是修改了字段立马可以在视图上看见效果的,但是inverse必须保存后才可能看到效果的。

    我改进了inverse对应的方法,让该方法既是inverse的方法,同时也是onchange的方法,让inverse方法修改相关的字段的时候,能里面在视图上看到效果。

    还可以完善的地方就是如果是其他的状态的话,我应该做个限制的。这样就完美了。

    state_sourcing = fields.Selection([ ('noaction', 'No Action'), ('confirmed', 'To Do'), ('progress', 'In Progress'), ('done', 'Done')], string='Sourcing Status', copy=False, default='confirmed', required=True, store=True, compute='_compute_action_count', compute_sudo=True, inverse="_set_state") @api.multi @api.onchange('state_dfs', 'state_sourcing', 'state_planning') def _set_state(self): for rec in self: sourcing = rec.action_ids.filtered(lambda r: r.type == "sourcing") if rec.state_sourcing == 'done': sourcing.write({'state': 'done'}) else: pass @api.multi @api.depends('action_ids', 'action_ids.state') def _compute_action_count(self): for item in self: sourcing = item.action_ids.filtered(lambda r: r.type == "sourcing").mapped('state') if not sourcing: item.state_sourcing = 'noaction' elif 'progress' in sourcing: item.state_sourcing = 'progress' elif 'confirmed' in sourcing: item.state_sourcing = 'confirmed' else: item.state_sourcing = 'done'