跳转至内容

Odoo 开发与实施交流

2.3k 主题 10.4k 帖子

No decsciption available

  • [已解决]按格式导出数据

    8
    1
    0 赞同
    8 帖子
    3k 浏览
    H
    实际上这种导出,可以使用odoo的report,导出成html或者pdf的,其他格式的,暂时不知道如何实现了。 至于导出的格式是什么样的,相当于在导出的模板中通过html写好想要的样子就行了。
  • [已解决]根据supplier产生purchase

    6
    0 赞同
    6 帖子
    2k 浏览
    H
    purchase重写一个model,在sale order创建好以后,点击按钮通过循环根据supplier分组创建新模型也能实现。
  • ODOO11社区版邮件服务器设置碰到的测试成功,但无法发送的问题。

    3
    5
    0 赞同
    3 帖子
    2k 浏览
    [image: 1523069197714-954b8999-1391-41d2-9acd-4f2efb177055-image-resized.png] [image: 1523069266555-3ee9f2be-9abb-4461-8202-94ff23f4d097-image.png] 我把ir_mail_server.py的这里改了就好了
  • 看板视图

    3
    0 赞同
    3 帖子
    2k 浏览
    @digitalsatori 嗯嗯,谢谢
  • 求问如何隐藏parent的active为false的对象

    1
    0 赞同
    1 帖子
    763 浏览
    S
    求问如何隐藏parent的active为false的对象
  • 请问如何在Form中显示一个类型为one2many字段且其active为false的对象

    1
    0 赞同
    1 帖子
    717 浏览
    S
    请问如何在Form中显示一个类型为one2many字段且其active为false的对象
  • odoo集成SpreadJs报表工具

    6
    0 赞同
    6 帖子
    4k 浏览
    ?
    @ieitzyb 大佬具体讲一下实现
  • 使用Odoo External API 多对多关系数据生成

    2
    0 赞同
    2 帖子
    1k 浏览
    Suntry5277S
    https://stackoverflow.com/questions/36643092/create-a-record-into-many2many-table-using-web-service-api-in-odoo-8#
  • 联系人模块增加了一个page后报错

    1
    2
    0 赞同
    1 帖子
    732 浏览
    S
    通过上面代码给联系人底部增加了一个page,如下图 [image: 1521685231138-78b1f591-f0db-4c23-b125-fb36944eab5b-%E5%9B%BE%E7%89%87-resized.png] 然后点击保存的时候就会报错 [image: 1521685196125-2e090235-f012-48e1-a1e4-906d1a4cb50e-%E5%9B%BE%E7%89%87.png]
  • odoo10 js实现全局搜索某个模型

    1
    0 赞同
    1 帖子
    792 浏览
    H
    借鉴gooderp的搜索的JS代码和XML代码如下: 问题: 1、show_query_board这个函数中的是使用 new Model('product.template').call()。 实际是想查询字段code=XXX值的model并跳转到查询到的form视图上,现在都是跳转到的视图都是新建的视图且是编辑状态的,怎么跳转到通过name_search查询到的code的有具体信息的form视图? 2、'values': _.map(results, function(result) {} 渲染视图的 时候,这个方法_.map()什么意思,是python中map()函数的翻版使用吗?都有哪些这种函数,官方文档中没有找到? 3、查询的数据返回json数据的时候,key是不是就是在xml中引用的?xml代码如下。看应用是不是有问题。 或者有都介绍下这个使用的都行。 JS代码: odoo.define('web_stock_query', function(require) { var Client = require('web.WebClient'); var Model = require('web.DataModel'); var Core = require('web.core'); // var modell = new instance.web.Model("product.template"); Client.include({ show_application: function() { this._super.apply(this, arguments); this.show_stock_query(); this.$board = false; }, show_stock_query: function() { var self = this, $query = $('<ul class="nav navbar-nav navbar-right nav-stock-query"><li><input type="text" placeholder="查询"/><a class="query"></a><a class="destroy"></a><div class="stock-query-search-list"/></li></ul>'), $input = $query.find('input'), $destroy = $query.find('.destroy'); $input.on('focus', function(event) { $input.addClass('editable'); if ($input.val() !== '' && self.$board) self.$board.fadeIn('fast'); }).on('blur', function(event) { if ($input.val() === '') { $input.removeClass('editable'); } self.hide_query_board(); }).on('input', function(event) { if ($input.val() === '') { $destroy.fadeOut('fast'); self.hide_query_board(); } else { $destroy.fadeIn('fast'); self.show_query_board($input); } }).on('keydown', function(event) { switch (event.which) { case $.ui.keyCode.ENTER: self.select_query(); break; case $.ui.keyCode.DOWN: self.query_board_move('down'); event.preventDefault(); break; case $.ui.keyCode.UP: self.query_board_move('up'); event.preventDefault(); break; } }); $query.on('mousedown', '.stock-query-search-list li:not(.search-list-more)', function(event) { // alert('mousedown====') self.select_query($(this)); }).on('mousedown', '.search-list-more', function(event) { // alert('mousedown') self.open_report_stock_balance(); }).on('hover', '.stock-query-search-list li', function(event) { self.query_board_move($(this)); }).on('click', '.destroy', function(event) { $input.val(''); $input.focus(); $destroy.fadeOut('fast'); }); $('.oe_systray').before($query); }, show_query_board: function($input) { var self = this; new Model('product.template').call('name_search', {name: $input.val()} ).then(function(results) { var self = this; if (results.length <= 0) return self.hide_query_board(); self.$board = $(Core.qweb.render('web_stock_query.search_list', {'values': _.map(results, function(result) { return {id: result[0], default_code: result[1]}; })})); self.$board.attr('top', $input.height() + 2 + 'px'); $input.parent().find('.stock-query-search-list').html(self.$board); }); }, hide_query_board: function() { if (this.$board) this.$board.fadeOut('fast'); }, query_board_move: function(direction) { // alert('query board move'); if (this.$board) { var current_move = this.$board.find('li.select'), next_move = false; if (_.contains(['up', 'down'], direction)) { next_move = direction === 'down'? current_move.next(): current_move.prev(); if (next_move && next_move.is('li')) { var offset_y = next_move.offset().top - (direction === 'down'? this.$board.height(): 40); this.$board.scrollTop(this.$board.scrollTop() + offset_y); } } else if (direction.jquery) { next_move = direction; } if (next_move && next_move.is('li')) { next_move.addClass('select').siblings('.select').removeClass('select'); } } }, open_report_stock_balance: function() { // alert('===open report stock balance=='); this.action_manager.do_action({ type: 'ir.actions.act_window', res_model: 'product.template', views: [[381, 'form'], [false, 'list']], // limit:80000, target: 'current', name: 'Parts', }); }, select_query: function($target) { // alert('----select query----'); var self = this; if (self.$board) { $target = $target || self.$board.find('li.select'); if ($target.hasClass('search-list-more')) { return self.open_report_stock_balance(); } self.action_manager.do_action({ type: 'ir.actions.act_window', res_model: 'product.template', views: [[381, 'form'], [false, 'list']], // domain: [['default_code', '=', $target.data('default_code')]], target: 'current', // name: 'Parts', name: '搜索:' + $target.text().trim(), }); } } }); }); XML代码: <?xml version='1.0' encoding='UTF-8'?> <templates id='template' xml:space='preserve'> <t t-name='web_stock_query.search_list'> <ul > <li t-foreach='values' t-as='product_number' t-attf-class='{{ default_code and "select" or ""}}' t-att-data-id='id' > <t t-esc='default_code' /> </li> <li class='search-list-more'>查询</li> </ul> </t> </templates>
  • odoo 实施"开箱即用": 超市”店内生鲜商品”的作业范例

    2
    12
    0 赞同
    2 帖子
    2k 浏览
    卓忆
    谢谢@226408 分享
  • 通知用户组消息 _notification_recipients(self, message, groups):

    1
    0 赞同
    1 帖子
    730 浏览
    H
    各位有没有知道源码哪里有使用这个的例子的,告知下谢谢啦。
  • [已解决]odoo10 默认视图设为list视图

    8
    0 赞同
    8 帖子
    3k 浏览
    H
    @digitalsatori 懂了,谢谢。 是不是在我指定view_mode顺序的时候,即使不写view_ids,数据库页默认添加了这个记录及其sequence。。
  • odoo 登录后进入默认的模块

    10
    0 赞同
    10 帖子
    5k 浏览
    H
    @digitalsatori 你说的很合理啊,有没有好的解决方法,通常的菜单定制是怎么根据角色设计的?
  • [已解决]Error context: View `res.groups.form`

    6
    0 赞同
    6 帖子
    2k 浏览
    H
    @digitalsatori 正解,顺着你说的看啦下解决了。我一直在我现有的使用的模块中看,没发现,别的模块原来也是可能影响到的。 是base_export_manager这个第三方模块中的东西,卸载了,就正常了。
  • [已解决]确定Search more视图的xml id

    4
    1
    0 赞同
    4 帖子
    2k 浏览
    H
    @萧云飞 你的是对的,我第一次没有成功是因为这个还跟位置有关的。需要哪里正确显示,就要在该视图的该字段上加才行。
  • [已解决]odoo10 确认视图优先级时的错误

    5
    0 赞同
    5 帖子
    2k 浏览
    H
    有一个问题是sequence写在view_ids中起作用,单独写ir.actions.act_window.view(把view_ids注释掉的情况),反而报错的。 是```ir.actions.act_window```中写```view_ids```了,``sequence```写在```view_ids```中起作用。解决方法如下代码: <record id="product_template_action_all" model="ir.actions.act_window"> <field name="name">Parts</field> <field name="type">ir.actions.act_window</field> <field name="res_model">product.template</field> <field name="view_mode">tree,kanban,form</field> <field name="view_type">form</field> <field name="context">{}</field> <field name="help" type="html"> <p class="oe_view_nocontent_create"> Click to define a new product. </p> </field> <field name="view_ids" eval="[(5, 0, 0), (0, 0, {'sequence': '1', 'view_mode': 'tree', 'view_id': ref('product_template_tree_view')}), (0, 0, {'sequence': '2', 'view_mode': 'kanban', 'view_id': ref('product_template_kanban_view')}), (0, 0, {'sequence': '3', 'view_mode': 'form', 'view_id': ref('product_template_form_view')})]"/> </record>
  • Odoo10 BOM中替代料解决方案

    2
    0 赞同
    2 帖子
    1k 浏览
    Y
    @young 在 Odoo10 BOM中替代料解决方案 中说: 谢各位的分 补充:BOM中的物料用量都为1,A1可供货2K。
  • [已解决]odoo10 安装模块报csv文件的错

    5
    2
    0 赞同
    5 帖子
    3k 浏览
    H
    已解决。 首先,以前都是导入数据库的数据,这样数据库中会存在已经删除的model的数据表,不会报错。 本次操作是直接安装自定义模块的,所以会检查出csv文件中有不存在的模型的,也就是csv中的model跟数据库中的表没有对应上或不存在,所以报错的。 个人理解:odoo中所有的,不管是model,还是view,还是数据文件,都对应的是postgre中的一张数据表,所以这个问题还是对这个理解不深刻啊。
  • 新入试水

    2
    0 赞同
    2 帖子
    1k 浏览
    是属于智能设备运维平台 地点在广州