标签: odoo

在OpenERP 7.0中进行调试

如何在OpenERP v7中进行调试?

在以前版本的OpenERP中,它很容易调试.但在最新版本中,调试起来很困难.

openerp odoo

7
推荐指数
2
解决办法
9593
查看次数

Odoo将小部件添加到网站前端

我是Odoo的新手,我陷入了困境.我已经在自定义模块的后端添加了一些小部件.现在我想在我的网站前端添加一个小部件,但我没有让它工作.

我有以下几个片段:

frontend_views.xml

<openerp>
  <data>
    <!-- Templates -->
    <template id="assets_frontend" name="test_module_asset_frontend" inherit_id="website.theme">
      <xpath expr="." position="inside">
        <!-- Custom JS and CSS -->
        <link rel="stylesheet" href="/test_module/static/src/css/frontend.css" />
        <script type="text/javascript" src="/test_module/static/src/js/frontend.js" />
      </xpath>
    </template>
  </data>
</openerp>
Run Code Online (Sandbox Code Playgroud)

以及小部件的JavaScript代码: static/src/js/frontend.js

openerp.test_module = function(instance, local) {

  local.TestWidget = instance.Widget.extend({
    start: function() {
      console.log('Widget loaded!');
      this._super();
    },
  });

  instance.web.client_actions.add('example.action', 'instance.test_module.TestWidget');
}
Run Code Online (Sandbox Code Playgroud)

我怎么能在模板中调用小部件?我尝试了以下事项:

frontend_views.xml

<record model="ir.actions.client" id="action_client_example">
  <field name="name">Example Client Action</field>
  <field name="tag">example.action</field>
</record>

<template id="details">
  <t t-call="website.layout">
    <t t-set="title">Details</t>
    <div class="oe_structure">
      <div class="container">
        <button id="test" name="action_client_example" sequence="0" …
Run Code Online (Sandbox Code Playgroud)

javascript xml widget odoo

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

OpenERP和Odoo有什么区别?

OpenERP和Odoo之间的区别是什么.我知道Odoo(v8)是最新版本的OpenERP(v7),也解释了一些关于Odoo V9的内容.这里的区别在于它意味着Odoo中可用的所有附加功能以及Odoo v9中包含的额外功能.

openerp openerp-7 odoo odoo-8

7
推荐指数
1
解决办法
7453
查看次数

如何在Qweb中使用特定数量的循环进行"for-loop"?

我想制作一个循环来精确打印元素.像这样的东西:

<t t-for="o.label_qty" >
...
</t>
Run Code Online (Sandbox Code Playgroud)

哪里o.label_qty是整数.

但我只能t-foreach在qweb中使用循环:

<t t-foreach="o.pack_operation_ids" t-as="l" >
...
</t>
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

如果不是,我认为唯一的解决方案是创建一个带有o.label_qty元素的虚拟列表并将其写入foreach.

xml for-loop odoo qweb odoo-8

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

odoo - 显示2个字段的many2one字段组合的名称

在我的模块中,我有以下many2one字段: 'xx_insurance_type': fields.many2one('xx.insurance.type', string='Insurance')

其中,xx.insurance.type如下:

class InsuranceType(osv.Model):
    _name='xx.insurance.type'

    _columns = {
        'name' : fields.char(size=128, string = 'Name'),
        'sale_ids': fields.one2many('sale.order', 'xx_insurance_type', string = 'Sale orders'),
        'insurance_percentage' : fields.float('Insurance cost in %')
    }
Run Code Online (Sandbox Code Playgroud)

我知道many2one字段将名称字段作为其显示名称,但我希望它使用nameinsurance_percentage的形式的组合name + " - " + insurance_percentage + "%"

我读过最好覆盖get_name方法,所以我尝试了以下方法:

def get_name(self,cr, uid, ids, context=None):
    if context is None:
        context = {}
    if isinstance(ids, (int, long)):
        ids = [ids]

    res = []
    for record in self.browse(cr, uid, ids, …
Run Code Online (Sandbox Code Playgroud)

python python-2.7 odoo odoo-8

7
推荐指数
1
解决办法
7710
查看次数

OpenERP/Odoo上的_sql_constraints和_constraints之间的区别?

我注意到Odoo ERP有两种约束.但是我想知道_sql_constraints和_constraints有什么区别?

_sql_constraints = {
    ('email_uniq', 'unique(email)', ' Please enter Unique Email id.')
}

_constraints=[
    (_check_qty_and_unitprice, u'Qty must be more than 0',['product_qty', 'cost_unit']),
]
Run Code Online (Sandbox Code Playgroud)

python constraints openerp-7 openerp-8 odoo

7
推荐指数
1
解决办法
4497
查看次数

Odoo计算字段:无存储的工作= True,不适用于store = True

我在Odoo中有一个带有函数的计算字段.当我不添加商店参数时,一切正常.当我添加store参数时,它根本不执行代码.

我的代码:

class opc_actuelewaardentags(models.Model):
    _name = 'opc_actuelewaardentags'

    unit = fields.Char(compute='changeunit')

    def changeunit(self):
        print "print"
        allrecords_actwaardent = self.search([])

        obj_taginst = self.env['opc_taginstellingen']
        allrecords_taginst = obj_taginst.search([])


        for i in allrecords_actwaardent:
            for j in allrecords_taginst:
                if i.tagnaam == j.tagnaam and i.unit != j.unit:
                    i.unit = j.unit
Run Code Online (Sandbox Code Playgroud)

所以:当我调用这样的代码时:

unit = fields.Char(compute='changeunit')
Run Code Online (Sandbox Code Playgroud)

代码被执行(显示"打印").

当我这样调用代码时:

unit = fields.Char(compute='changeunit', store=True)
Run Code Online (Sandbox Code Playgroud)

代码未执行(不显示"print").

我的代码有什么问题吗?或者这是一个错误?这对我来说似乎很奇怪......

我需要能够将值存储在数据库中,以便我可以在树视图中过滤单元.

编辑:我应用了Juan Salcedo的提示.没工作......

我就这样做了:

unit = fields.Char(default = changeunit)    

def changeunit(self):
    print "print"
    allrecords_actwaardent = self.search([])

    obj_taginst = self.env['opc_taginstellingen']
    #Hier dan i.p.v. self werken met …
Run Code Online (Sandbox Code Playgroud)

python field odoo

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

Odoo:字段上的条件不可见属性只能在一个方向上起作用吗?

我试图在一个Odoo表单视图中使一个字段不可见.检查"可以出售"时==>"产品经理"应该是不可见的:

在此输入图像描述

在此输入图像描述

我尝试在产品表单的继承视图中使用属性"invisible"与域:

<record model="ir.ui.view" id="product_template_form_inherit">
    <field name="name">product.template.product.form</field>
    <field name="model">product.template</field>
    <field name="inherit_id" ref="product.product_template_only_form_view" />
    <field name="arch" type="xml">
        <field name="product_manager"  position="attributes">
                    <attribute name="invisible">[('sale_ok', '=', True)]</attribute>
        </field>    
</field>
</record>
Run Code Online (Sandbox Code Playgroud)

当字段sale_ok为true时,product_manager字段实际上是隐藏的.但是当字段sale_ok再次变为false时,字段product_manager保持隐藏状态.

我也试过这个:

<field name="product_manager" attrs="{'invisible': [('sale_ok', '=', True)]}"/>
Run Code Online (Sandbox Code Playgroud)

这也不起作用.

我也尝试过其他域名:

[('sale_ok', '==', True)]
[('sale_ok', '!=', False)]
[('sale_ok', '=', 'True')]
Run Code Online (Sandbox Code Playgroud)

不确定这里有什么问题......当(未)检查时如何使它(in)可见?

我最终得到的是以下内容:选中复选框后,表单应立即更改而不保存.必须添加和删除字段.那可能吗?

编辑:

我现在可以用ChesuCR的答案隐藏/取消隐藏产品经理.但是,当我使用"loc_rack"(存储位置==>机架)尝试相同的操作时,它会给出错误:

Field(s) `arch` failed against a constraint: Invalid view definition

Error details:
Element '<field name="loc_rack">' cannot be located in parent view
Run Code Online (Sandbox Code Playgroud)

这是我使用的代码:

<field name="loc_rack"  position="replace">
    <field name="loc_rack" attrs="{'invisible': …
Run Code Online (Sandbox Code Playgroud)

xml inheritance odoo odoo-view

7
推荐指数
2
解决办法
2万
查看次数

在Odoo中创建新组

我创建了一个新的Groups,它是一个Personnel Group,但在View Metadata中,我创建的新Group没有XML ID,在哪里可以找到XML ID,或者在外部ID中添加新组的XML ID菜单我找不到ID.

openerp openerp-8 odoo odoo-8

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

在 Odoo 12 的 XML 文件中,widget="radio" 的选择字段没有获得所需的效果

我正在尝试使用XML 文件中的 attrs来创建一个带有widget="radio"选择字段。应用了 widget="radio" 时不需要选择字段。但是当我删除收音机小部件时,选择字段在创建新记录时在表单视图中获得所需的效果。

这是我在那里申请的选择字段:

<field name="installments_calculation" widget="radio" options="{'horizontal': true}" attrs="{'required': [('repayment_method', '=', 'salary deduction')]}"/>
Run Code Online (Sandbox Code Playgroud)

这是我的repayment_method:

repayment_method = fields.Selection([('cash/bank', 'Cash/Bank'), ('salary deduction', 'Salary Deduction')])
Run Code Online (Sandbox Code Playgroud)

我希望在 XML 文件中的条件下应用 required 属性时需要选择字段。对于带有 widget="radio" 的选择字段,这种行为是否正常,或者我做错了什么?如果这是正常的,我怎样才能获得widget="radio" 所需的选择字段?

python xml odoo

7
推荐指数
1
解决办法
1075
查看次数