经过大量尝试后,我终于可以安装odoo 8,但是,当我连接到它时,浏览器会重定向到/ web/database/manager并加载HTML(标识出现并且标题中出现标签Odoo.
问题是没有加载JavaScripts和CSS(通过查看firebug,我看到了很多未找到的错误,例如/web/static/lib/jquery.blockUI/jquery.blockUI.js)
当我看到/ opt/odoo/addons/web /目录时,我发现所有文件都在那里.
奇怪的是,只有公司徽标出现,其中包含以下路径:/ web/binary/company_logo.奇怪的是,路径实际上并不存在.
任何帮助将不胜感激谢谢
编辑:
我启用了所有日志类型,当我启动服务器时,我看到了这一点:
INFO ? openerp: addons paths: ['/home/odoo/.local/share/Odoo/addons/8.0', u'/opt/odoo/addons', '/opt/odoo/openerp/addons']
Run Code Online (Sandbox Code Playgroud)
大多数页面的路径实际上是/ opt/odoo/addons,因此它已正确配置.也许由于某种原因,路径不被读取.
当我看到Firebug时,我看到了这个:
"NetworkError: 404 NOT FOUND - http://des.desytec.com:8069/web/static/src/css/full.css"
full.css
"NetworkError: 404 NOT FOUND - http://des.desytec.com:8069/web/static/lib/es5-shim/es5-shim.min.js"
es5-shim.min.js
"NetworkError: 404 NOT FOUND - http://des.desytec.com:8069/web/static/lib/underscore/underscore.js"
underscore.js
"NetworkError: 404 NOT FOUND - http://des.desytec.com:8069/web/static/lib/datejs/globalization/en-US.js"
en-US.js
"NetworkError: 404 NOT FOUND - http://des.desytec.com:8069/web/static/lib/spinjs/spin.js"
spin.js
"NetworkError: 404 NOT FOUND - http://des.desytec.com:8069/web/static/lib/underscore.string/lib/underscore.string.js"
undersc...ring.js
"NetworkError: 404 NOT FOUND - http://des.desytec.com:8069/web/static/lib/jquery/jquery.js"
jquery.js
"NetworkError: 404 NOT FOUND - http://des.desytec.com:8069/web/static/lib/jquery.blockUI/jquery.blockUI.js"
jquery.blockUI.js
"NetworkError: …Run Code Online (Sandbox Code Playgroud) 有人知道吗:
Odoo这个词代表什么?
如果它不是缩写,那么Odoo意味着什么?
在我的模块中,我想根据当前日期过滤one2many记录.这是我的xml代码
<field name="record_ids" domain="[('end_date', '>', cur_date)]">
<tree string="records_tree">
<field name="record_id"/>
<field name="record"/>
<field name="start_date"/>
<field name="end_date"/>
</tree>
</field>
Run Code Online (Sandbox Code Playgroud)
cur_date是我为获取当前日期而添加的功能字段.
我的问题是视图中没有过滤记录.它也不会显示任何错误消息
我使用Odoo8,我正在尝试创建一个自定义模块,以便在日期字段中添加日期后生成报告.
所以我的问题是:如何在窗体视图中按下按钮后在python类中运行SQL查询?
我迈出了第一步.我正在尝试像这样扩展产品模型类.
from openerp.osv import osv,fields as fields
class product_product(osv.osv):
_name = 'product.product'
_inherit = 'product.product'
_columns = {
'products_ids':fields.one2many('product_application.version', 'version_id', string="Versions")
}
Run Code Online (Sandbox Code Playgroud)
并得到以下错误
File "/home/nano/ARCHIVOS/PycharmProjects/odoo/odoo/openerp/models.py", line 596, in _build_model
original_module = pool[name]._original_module if name in parents else cls._module
File "/home/nano/ARCHIVOS/PycharmProjects/odoo/odoo/openerp/modules/registry.py", line 102, in __getitem__
return self.models[model_name]
KeyError: 'product.product'
Run Code Online (Sandbox Code Playgroud)
任何人都可以给我一个完整的odoo v8文档,官方很差
在OpenERP中," send a message"和" log a note" 之间有什么区别.
我在"潜在客户","报价单","销售订单"等下的表单视图中找到了两个选项"发送消息"和"记录备注",您将找到它.
它们之间的区别是什么以及这些选项的用途.
我正在尝试使用与Django相同的功能:
<div class="item {% if condition == True %}active{% endif %}">
Run Code Online (Sandbox Code Playgroud)
在Odoo我有:
<t t-foreach="list" t-as="l">
<a t-attf-href="/downloads/{{l.id}}" class="list-group-item"><t t-esc="l.name"/></a>
</t>
Run Code Online (Sandbox Code Playgroud)
如果"c.id = cat_id",我需要附加类"active"
怎么在Odoo完成?
我正在使用:
<t t-foreach="categories" t-as="c">
<t t-if="c.id == category_id">
<a t-attf-href="/downloads/{{c.id}}" class="list-group-item active"><t t-esc="c.name"/></a>
</t>
<t t-if="c.id != category_id">
<a t-attf-href="/downloads/{{c.id}}" class="list-group-item"><t t-esc="c.name"/></a>
</t>
</t>
Run Code Online (Sandbox Code Playgroud)
但寻找更加蟒蛇的方式
通过单击按钮,用户应该从给定值创建新订单,并直接重定向到新创建订单的表单视图.通过按钮调用以下方法:
@api.one
def method_name(self):
[...]
vals = [...]
new_order = self.env['sale.order'].create(vals)
self.write({ 'state': 'review', })
return {
'type': 'ir.actions.act_window',
'name': 'sale.view_order_form',
'res_model': 'sale.order',
'res_id': new_order.id,
'view_type': 'form',
'view_mode': 'form',
'target' : 'self',
}
Run Code Online (Sandbox Code Playgroud)
可悲的是没有任何反应,我不知道接下来要尝试什么.我试图将目标更改为new或者current名称,但没有任何变化.两者都没有成功.
编辑:看看我对Carlos回答的评论.
我在模型中添加了一些字段,stock.move然后导入CSV文件以创建一些记录.我查看了所有行,然后逐个创建记录,如下所示:
lot_id = self._get_lot_id(
n, row, product_id, picking_type_id,
box_quantity, product_uom_qty
)
move = {
'auto_lot_name': False,
'box_quantity': 2,
'client_order_ref': '581002',
'date': datetime.datetime(2017, 6, 24, 19, 55, 52, 372648),
'invoice_state': '2binvoiced',
'location_dest_id': 9,
'location_id': 12,
'name': 'Product name',
'partner_id': 487,
'partner_shipping_id': 488,
'picking_type_id': 2,
'price_unit': 4.0,
'pricelist_id': 1,
'product_code': u'36033',
'product_id': 3,
'product_uom': 3,
'product_uom_qty': 6.0,
'restrict_lot_id': 12222, # lot_id
'tax_id': [(4, 67)]
}
result = self.env['stock.move'].create(move)
Run Code Online (Sandbox Code Playgroud)
如果方法需要,我会创建批次_get_lot_id.如果已经创建了批次,则返回id.这很好用
它非常简单并且可以很好地工作很多次,但有时我会得到以下错误,尽管我restrict_lot_id只在字典中填充了一个id.看起来它正在追加前一个循环的批次ID.怎么可能?我的数据库坏了吗?
File "/[ ... ]/import_moves/models/stock_picking_import_wizard.py", line 129, …Run Code Online (Sandbox Code Playgroud) > WARNING 11_test1 odoo.addons.base.ir.ir_ui_view: Error-prone use of
> @class in view report_invoice_document
> (account_invoice_report.report_invoice_document): use the
> hasclass(*classes) function to filter elements by their classes
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下我为什么收到此警告。仅在2个地方使用课程。
<td class="text-right">
<span t-esc="', '.join(map(lambda x: (x.description or x.name), l.invoice_line_tax_ids))"/>
</td>
Run Code Online (Sandbox Code Playgroud)
和
<xpath expr="//div[@class='row mt32 mb32']/div[@t-if='o.name']" position="replace"/>
Run Code Online (Sandbox Code Playgroud) odoo-8 ×10
odoo ×6
openerp ×6
python ×3
openerp-7 ×2
button ×1
odoo-10 ×1
odoo-9 ×1
odoo-view ×1
odoo-website ×1
openerp-8 ×1
postgresql ×1
python-2.7 ×1
recordset ×1