标签: odoo-8

Odoo在版本8中加载javascript文件?

如何在版本8中加载javascript文件?在版本7中,您可以像这样js在manifesto文件(__openerp__.py)中显示位置:

'js': ['static/src/js/file.js'],

现在它不起作用.

例如,我使用以下代码在我的模块中创建了js文件:

openerp.calendar_service = function(instance) {
    var _t = instance.web._t,
        _lt = instance.web._lt,
        QWeb = instance.web.qweb;

    instance.calendar_service = {};
    console.log('TEST')
};
Run Code Online (Sandbox Code Playgroud)

但是使用调试器,我没有看到它TEST被打印出来.如果我在某些源js文件(在其他模块中)添加此类打印,它将打印正常.那么如何加载我的js文件?

javascript openerp odoo-8

2
推荐指数
1
解决办法
5369
查看次数

如何跳过 Odoo 实例中的演示数据

我在 ubuntu 服务器上使用 Odoo,我想跳过演示数据,我尝试了以下方法,但它对我没有帮助。

 --without-demo=True
Run Code Online (Sandbox Code Playgroud)

然后我删除了__openerp__.pyCRM 模块中的演示 xml 文件,但客户字段中仍有演示数据。

有没有其他潜在的方法可以跳过演示数据。

任何输入将不胜感激。

openerp-7 odoo odoo-8

2
推荐指数
1
解决办法
5457
查看次数

如何从 on_change 方法获取整数 id?

我想使用 sql 查询选择不同的值,因为我需要 id 作为整数。

我的代码是:

@api.onchange('qty')
def _on_change_name(self):
    logging.warning(self.id)
Run Code Online (Sandbox Code Playgroud)

打印的id是<openerp.models.NewId object at 0x7fc37d880490>

我怎样才能从中得到整数id

python python-2.7 odoo odoo-8

2
推荐指数
1
解决办法
3315
查看次数

从模块导入没有名称的dict

Odoo模块总是有两个文件__init__.py__openerp__.py.

dhl_module
          |-- controller
          |-- models
          |-- views
          |-- __init__.py
          |-- __openerp__.py
Run Code Online (Sandbox Code Playgroud)

该文件__openerp__.py包含一个dict而不将其分配给名称.该dict存储有关模块的信息.它看起来像这样:

# -*- coding: utf-8 -*-
{
    'name': "DHL connector",
    # used as subtitle
    'summary': "Configuration for DHL connector ",
    'description': """ DHL connector
    """,
    'author': "me",
    'website': "mysite.com",
    'category': 'Technical Settings',
    # Change the version every release for apps.
    'version': '0.0.1',
    # any module necessary for this one to work correctly
    'depends': [],
    # always loaded
    'data': ['views/dhl.xml', ],
    # only …
Run Code Online (Sandbox Code Playgroud)

python openerp odoo-8 odoo-9

2
推荐指数
1
解决办法
103
查看次数

在Odoo中更改自动生成的表单视图的标题

我想在灰色区域中更改表单视图的标题.这应该是从SHIP00001更改为其他名称或字段.那可能吗?你可以在这张图片中看到

python xml openerp odoo-8

2
推荐指数
1
解决办法
792
查看次数

如何更改菜单项的操作窗口?

在odoo中,我想更改默认菜单项的操作窗口。由于我无法在默认模块中进行更改,因此我创建了其他菜单项,但它同时显示了默认菜单项和新菜单项。我也尝试过继承操作窗口,但它对我不起作用。

openerp odoo-8

2
推荐指数
1
解决办法
1055
查看次数

如何在 Odoo 8“创建”和“导入”按钮附近的树视图标题中添加按钮?

我可以在表单视图标题或树视图行中成功添加按钮,但我想在 Odoo 8 中“创建”和“导入”按钮附近的树视图标题中添加自定义按钮。我该怎么做?

在此处输入图片说明

treeview header button openerp odoo-8

2
推荐指数
1
解决办法
4674
查看次数

Java 脚本文件在 odoo 9 浏览器的调试模式下不显示

Java 脚本文件在 odoo 9 的浏览器中的调试模式下不显示

你好,我尝试在浏览器中debuy我自己的javascript,但无法在浏览器的js源列表中找到它。我之前在firefox和chrome浏览器中都以调试模式查看过所有js文件。不知道出了什么问题。请查找我的环境详细信息。

操作系统:Windows 8 IDE:Eclipse Mars、Eclipse Neon、Pycharm Community Edition 2017.2.1 Odoo 构建版本:所有版本 尝试过的浏览器:Firefox、Chrome

仅供参考,我正在从 odoo 源构建。感谢您的帮助。

javascript eclipse odoo-8 odoo-9 odoo-10

2
推荐指数
1
解决办法
949
查看次数

如何在One2many / Many2many字段中获取非活动记录?

让我们用一个简单的One2many举个例子:假设一个人可以养几个宠物,但是一个宠物只能拥有一个主人:

class Pet(models.Model):
    _name='pet'

    owner_id = fields.Many2one(
        comodel_name='person',
        string='Owner',
    )
    active = fields.Boolean(
        string='Active',
        default=True,
    )

class Person(models.Model):
    _name='person'

    pet_ids = fields.One2many(
        comodel_name='pet',
        inverse_name='owner_id',
        string='Pets',
    )
Run Code Online (Sandbox Code Playgroud)

现在,您有一个人(Id:1)拥有两个宠物(Id:56,57),但是其中一个宠物是不活跃的(Id:57的宠物)。如果打印person.pet_ids,Odoo将返回pet(56,)。不活动的记录不包括在那里。打印时有什么办法显示它们person.pets_ids吗?

到目前为止,我做到了:

pets = self.env['pet'].search([
    ('owner_id', '=', person.id),
    '|',
    ('active', '=', True),
    ('active', '=', False),
])
Run Code Online (Sandbox Code Playgroud)

但是我想知道是否有更好的方法。

python python-2.7 odoo odoo-8

2
推荐指数
1
解决办法
547
查看次数

这些瞬态模型的ID发生了什么?

代码

我有以下瞬态模型:

class MoveLotsManager(models.TransientModel):
    _name = 'move.lots.manager'

    product_lots_available = fields.One2many(
        comodel_name='move.product.lot.available',
        inverse_name='manager_id',
        string='Available lots',
    )

class MoveProductLotAvailable(models.TransientModel):
    _name = 'move.product.lot.available'

    manager_id = fields.Many2one(
        comodel_name='move.lots.manager',
        string='Lots Manager',
    )
    name = fields.Char(
        string='Name',
    )

    @api.one
    @api.onchange('name')
    def onchange_name(self):
        # LOGGER 4
        _logger.info(self.manager_id)
        # LOGGER 5
        _logger.info(self.manager_id.id)
Run Code Online (Sandbox Code Playgroud)

如您所见,它们都是通过1:N关系连接的。我以这种方式打开瞬态模型的视图:

@api.multi
def open_move_lots_manager_wizard(self):
    self.ensure_one()
    wizard_id = self.env.ref(
        'my_module.view_move_lots_manager_wizard').id
    default_lots = [(
        (0, 0, {
            'name': 'My lot',
        })
    )]
    lots_manager = self.env['move.lots.manager'].create({
        'product_lots_available': default_lots,
    })
    # LOGGER 1
    _logger.info(lots_manager)
    # LOGGER 2
    _logger.info(lots_manager.id)
    # LOGGER …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 odoo odoo-8

2
推荐指数
1
解决办法
445
查看次数