跳转至内容

Odoo 开发与实施交流

2.3k 主题 10.4k 帖子

No decsciption available

  • odoo js删除确认

    5
    0 赞同
    5 帖子
    2k 浏览
    H
    @siyuan 指了一条明路,我先这的看,谢谢。
  • [已解决]report 打印pdf页眉位置问题

    4
    1
    0 赞同
    4 帖子
    2k 浏览
    H
    首先,如果给report添加纸张格式,下面的record id是report中指定的id,正确的写法应该如下: <record id="report_upi_template" model="ir.actions.report.xml"> <field name="paperformat_id" ref="paperformat_upi" /> </record> 理解:在源码report_paperformat.py中是这样定义的:report_ids = fields.One2many('ir.actions.report.xml', 'paperformat_id', 'Associated reports', help="Explicitly associated reports")。因为是o2m的字段类型,所以应该这样写。 第二,纸张格式中两个参数的说明: margin-top:说的是距离顶部的距离,其中包括页眉在内的。 header_spacing:是正文距离页眉的距离。
  • 通过别的类生成的对象中compute 字段第一次不计算

    1
    1
    0 赞同
    1 帖子
    618 浏览
    H
    通过A对象生成的B对象,B对象中的这些订单行是经过筛选 带过来的,但是total是计算字段,这个第一次不触发的,怎么第一次也也计算? [image: 1531277060839-1338df96-1340-4f14-92b6-de59e1451590-image.png]
  • onchange 出一对多数据不能保存

    1
    0 赞同
    1 帖子
    670 浏览
    H
    前提:我有字段A,B,C。A 和B字段都是m2o的,C字段是o2m的。 做法:现在写了一个onchange的方法,根据A,B查询出C字段的ids,然后想保存。 @api.onchange('owner_dfs', 'robot_type_id') def _onchange_owner_robot_type_id(self): self.ensure_one() if self.owner_dfs and self.robot_type_id: hierarchy_ids = self.env['part.hierarchy.line'].search([('owner_dfs', '=', self.owner_dfs.id), ('robot_type_id', '=', self.robot_type_id.id)]) print('========', hierarchy_ids) print('ids===', hierarchy_ids.ids) self.hierarchy_ids = False if hierarchy_ids: # lines = [{'hierarchy_ids': [(6, 0, hierarchy_ids)]}] self.update({'hierarchy_ids': hierarchy_ids}) self.hierarchy_ids = [(6, 0, hierarchy_ids.ids)] # self.write({'hierarchy_ids': [(6, 0, hierarchy_ids.ids)]}) 问题:现在的问题是可以查询出结果,save的时候C字段保存不了,而且list视图的Action下的Export也没了,什么原因呢?
  • [全职招聘] Odoo开发工程师 -- 上海徐汇区

    1
    0 赞同
    1 帖子
    845 浏览
    C
    我们是一家快速发展的跨境电商公司,本公司在做基于Odoo的进销存ERP系统,特诚招有Odoo开发经验的工程师(1年经验以上),英文可以交流,待遇从优。感兴趣的同学可以发简历到: [email protected] , 谢谢。 岗位职责: 1、负责Odoo开源ERP的开发工作。 2、负责现有产品(基于Odoo开发)的维护工作。 3、配合项目经理提供技术解决方案。 4、有良好的的团队合作意识,能够承担重要任务,学习能力强,有较好的沟通能力,能迅速融入团队。 任职要求: 1、大学本科以上学历,3年以上工作经验其中有1年以上Odoo开发经验,计算机、信息技术等相关专业优先考虑; 2、具备丰富的逻辑编码经验,精通Python编程,掌握Python的高效写法; 3、熟悉Odoo框架,了解Odoo使用的基本Python库,能熟练的对Odoo (OpenERP)进行二次开发的优先; 4、熟悉JavaScript,熟悉Linux操作系统,熟练掌握Shell脚本语言;熟悉使用git等代码管理工具; 5、熟悉PostgreSQL数据库,能熟练编写sql语句; 6、具备大规模高并发访问的服务集群架构设计和开发经验者优先; 7、具备团队合作精神、责任心,具备良好的表达和沟通能力,具备较强的自学能力和技术攻关能力; 8、具备一定的英语水平者优先考虑;
  • Excel导入去重

    15
    0 赞同
    15 帖子
    7k 浏览
    G
    @hui 是的 这个功能是二开的
  • 0 赞同
    3 帖子
    1k 浏览
    G
    调试 看看那个地方卡主了
  • odoo安装自定义webchat报错,求高手指点

    1
    1 赞同
    1 帖子
    769 浏览
    Z
    错误: Odoo Server Error Traceback (most recent call last): File "D:\odoo\odoo\http.py", line 647, in _handle_exception return super(JsonRequest, self)._handle_exception(exception) File "D:\odoo\odoo\http.py", line 307, in _handle_exception raise pycompat.reraise(type(exception), exception, sys.exc_info()[2]) File "D:\odoo\odoo\http.py", line 689, in dispatch result = self._call_function(**self.params) File "D:\odoo\odoo\http.py", line 339, in _call_function return checked_call(self.db, *args, **kwargs) File "D:\odoo\odoo\service\model.py", line 97, in wrapper return f(dbname, *args, **kwargs) File "D:\odoo\odoo\http.py", line 332, in checked_call result = self.endpoint(*a, **kw) File "D:\odoo\odoo\http.py", line 932, in call return self.method(*args, **kw) File "D:\odoo\odoo\http.py", line 512, in response_wrap response = f(*args, **kw) File "D:\odoo\addons\web\controllers\main.py", line 934, in call_button action = self._call_kw(model, method, args, {}) File "D:\odoo\addons\web\controllers\main.py", line 922, in _call_kw return call_kw(request.env[model], method, args, kwargs) File "D:\odoo\odoo\api.py", line 689, in call_kw return call_kw_multi(method, model, args, kwargs) File "D:\odoo\odoo\api.py", line 680, in call_kw_multi result = method(recs, *args, **kwargs) File "", line 2, in button_immediate_install File "D:\odoo\odoo\addons\base\models\ir_module.py", line 71, in check_and_log return method(self, *args, **kwargs) File "D:\odoo\odoo\addons\base\models\ir_module.py", line 440, in button_immediate_install return self._button_immediate_function(type(self).button_install) File "D:\odoo\odoo\addons\base\models\ir_module.py", line 533, in _button_immediate_function modules.registry.Registry.new(self._cr.dbname, update_module=True) File "D:\odoo\odoo\modules\registry.py", line 86, in new odoo.modules.load_modules(registry._db, force_demo, status, update_module) File "D:\odoo\odoo\modules\loading.py", line 340, in load_modules loaded_modules, update_module) File "D:\odoo\odoo\modules\loading.py", line 239, in load_marked_modules loaded, processed = load_module_graph(cr, graph, progressdict, report=report, skip_modules=loaded_modules, perform_checks=perform_checks) File "D:\odoo\odoo\modules\loading.py", line 153, in load_module_graph _load_data(cr, module_name, idref, mode, kind='data') File "D:\odoo\odoo\modules\loading.py", line 91, in _load_data tools.convert_file(cr, module_name, filename, idref, mode, noupdate, kind, report) File "D:\odoo\odoo\tools\convert.py", line 789, in convert_file convert_xml_import(cr, module, fp, idref, mode, noupdate, report) File "D:\odoo\odoo\tools\convert.py", line 850, in convert_xml_import obj.parse(doc.getroot(), mode=mode) File "D:\odoo\odoo\tools\convert.py", line 741, in parse self.parse(rec, mode) File "D:\odoo\odoo\tools\convert.py", line 751, in parse exc_info[2] File "D:\odoo\odoo\tools\convert.py", line 744, in parse self._tags[rec.tag](rec, de, mode=mode) File "D:\odoo\odoo\tools\convert.py", line 654, in _tag_record id = self.env(context=rec_context)['ir.model.data']._update(rec_model, self.module, res, rec_id or False, not self.isnoupdate(data_node), noupdate=self.isnoupdate(data_node), mode=self.mode) File "D:\odoo\odoo\addons\base\models\ir_model.py", line 1495, in _update record = record.create(values) File "D:\odoo\odoo\addons\base\models\ir_ui_view.py", line 398, in create return super(View, self).create(self._compute_defaults(values)) File "D:\odoo\odoo\models.py", line 3269, in create fields[0].determine_inverse(record) File "D:\odoo\odoo\fields.py", line 1091, in determine_inverse getattr(records, self.inverse)() File "D:\odoo\odoo\addons\base\models\ir_ui_view.py", line 266, in _inverse_arch view.write(data) File "D:\odoo\odoo\addons\base\models\ir_ui_view.py", line 414, in write return super(View, self).write(self._compute_defaults(vals)) File "D:\odoo\odoo\models.py", line 3043, in write self._write(store_vals) File "D:\odoo\odoo\models.py", line 3185, in _write self._validate_fields(vals) File "D:\odoo\odoo\models.py", line 984, in validate_fields raise ValidationError("%s\n\n%s" % (("Error while validating constraint"), tools.ustr(e))) ParseError: "constraint \u68c0\u67e5\u9519\u8bef \u6ca1\u6709\u627e\u5230\u6a21\u578b: mail.wizard.invite \u9519\u8bef\u7684\u4e0a\u4e0b\u6587: \u89c6\u56fe Add Followers [view_id: 218, xml_id: n/a, model: mail.wizard.invite, parent_id: n/a] None" while parsing file:/d:/odoo/addons/mail/wizard/invite_view.xml:6, near Add Followers mail.wizard.invite
  • float 默认设为0

    1
    0 赞同
    1 帖子
    595 浏览
    H
    代码如下,默认设为0,结果创建的时候默认还是1,怎么默认设置0? qty = fields.Integer('Qty', default=0)
  • report pdf打印 如何插入固定路径的图片

    1
    0 赞同
    1 帖子
    755 浏览
    H
    我想打印report 的时候在表头打印公司logo,写的路径总是不对,代码如下: ps:图片就是直接放在report目录里面的。 odoo中这种路径是怎么设计的? <table> <thead> <th style="border: 2px solid black;text-align: center; vertical-align: middle;" class="col-xs-5" rowspan="5"> <img t-att-src="'report/abb.png?width=%s&amp;height=%s' % (300, 350)" style="width:95%;height:100%;"/> </th> <thead> </table>
  • odoo 10 社区版 先收款后发货设置问题

    1
    0 赞同
    1 帖子
    780 浏览
    各位大神,我在为公司测试odoo 10 社区版,我们公司业务要求是销售订单确认完毕,不能直接推出出库,需要收款后才能出库单,我找了很多资料,说能设置,可我在odoo 10 社区版没看到在哪里设置,您知道么?感谢!
  • 静候大神

    2
    0 赞同
    2 帖子
    1k 浏览
    D
    安装系统自带的“Automated Action Rules”模块,不需要编程就可以配置出来
  • Odoo自定义页面跳转:ir.actions.client

    1
    0 赞同
    1 帖子
    751 浏览
    ?
    客户端Actions (ir.actions.client) 触发一个完全在客户端实现的action tag -- action在客户端的标识符,一般是一个专用的字符串 params (可选) -- 用来传给客户端的python数据字典格式数据 target (可选) -- current:当前内容区打开action,fullscreen:以全屏模式打开,new:以弹出框打开 请问各位老师,这个params传给客户端的同时,能否在客户端进行获取显示?客户端这样获取这个params?
  • odoo 时间分组 分组的label 格式不是国人常见格式

    1
    2
    0 赞同
    1 帖子
    992 浏览
    [image: 1523343484527-2df1a743-aa0d-4546-ad2c-3b9004625ef1-resized.png] 经过一段的探索发现时 odoo在实现的时候写死了了。这种情况只能进行继承覆盖了。。 [image: 1523343515607-5c7ed3e4-4728-4dc3-9729-7a9cac6ccad6-resized.png]
  • odoo 8 11 导出excel,时间类型字段 时区问题解决

    1
    0 赞同
    1 帖子
    956 浏览
    https://github.com/gilbert-yuan/odoo_config from openerp.fields import Datetime, Field ISODATEFORMAT = '%Y-%m-%d' Newdatetime = Datetime.convert_to_export def convert_to_export(self, value, env): timezone = pytz.timezone(env.context.get('tz')) return_val = Newdatetime(self, value, env) if isinstance(return_val, datetime.datetime) and return_val: return self.to_string(return_val.replace(tzinfo=pytz.timezone('UTC')).astimezone(timezone)) elif return_val: return self.to_string(self.from_string(return_val).replace(tzinfo=pytz.timezone('UTC')).astimezone(timezone)) return return_val Datetime.convert_to_export = convert_to_export import datetime, pytz from odoo.fields import Datetime Newdatetime = Datetime.convert_to_export def convert_to_export(self, value, record): timezone = pytz.timezone(record._context.get('tz')) return_val = Newdatetime(self, value, record) if isinstance(return_val, datetime.datetime) and return_val: return self.to_string(return_val.replace(tzinfo=pytz.timezone('UTC')).astimezone(timezone)) elif return_val: return self.to_string(self.from_string(return_val).replace(tzinfo=pytz.timezone('UTC')).astimezone(timezone)) return return_val Datetime.convert_to_export = convert_to_export
  • Odoo11社区版没有会计模块

    1
    0 赞同
    1 帖子
    1k 浏览
    J
    Odoo11社区版没有会计模块吗?
  • [已解决]odoo10 继承并扩展底层模块问题

    6
    0 赞同
    6 帖子
    3k 浏览
    H
    @digitalsatori 首先感谢您,不过我的第二个问题感觉还是有疑惑的。 首先:security文件改变read, write,create,unlink的权限也是需要更新模板,不需要重启odoo服务的? 在这里记录下对我有用的: 改变py文件需要重启服务器没错,还需Upgrade。 总结:应该是涉及数据库结构或内容改变需要更新模块。改xml涉及改变数据库内容,所以需要更新模块。 比如:而改变实体类的字段属性,既改变了py文件又改变了数据库结构,所以需要重启服务器,同时更新模块。 卸载了重装相当于重启服务器+更新模块
  • [已解决]如何为控件添加事件?(odoo10)

    2
    0 赞同
    2 帖子
    2k 浏览
    E
    采用变通方法解决,方法如下: 1.直接写html,放到static下的description中。 在html中,写几个控件,记录读取出来的值 注意,文件名不要使用index.html 2.在页面中,使用iframe,将写好的html嵌入到页面里面。 如果不需要显示,可将iframe隐藏。 iframe的使用方法,参见这篇文章《odoo通过iframe插入html页面》 3.html中读出数据后,点击按钮,将html中记录的值,添加到相应的字段中 按钮参见文章《odoo10在顶部“创建”按钮附加增加自定义按钮》 注意,文章中给按钮添加事件的方法,可能是老式的写法。新方法参见form_view.js里的写法 获取iframe中的控件的值的方法,参见文章《iframe操作ie,firefox兼容》 大家有什么更好的方法,请不吝赐教
  • [已解决]odoo10上传文件

    4
    0 赞同
    4 帖子
    2k 浏览
    H
    @siyuan 我试了你提供的这个,这个在html管用,在odoo的xml里面不管用,哈哈。 还是谢谢捏。
  • [已解决]odoo10 report

    4
    2
    0 赞同
    4 帖子
    2k 浏览
    H
    如果是打印报表格式为PDF的, PDF 的内容必须包含在 <div class="page">。 上面的错误是 <div class="page">写错位置了。