在CRM
机会表单视图中,我为概率字段添加了readonly="1"
。当我保存时,无论我的概率值如何,它都以NULL值存储。
这是OpenERP
的错误吗?
答案 0 :(得分:1)
我们有两个值,如客户端和服务器端。在服务器端编码完成像浮点值有0.0等。只读字段不从客户端获取值,因为它是只读的。在View中,由于服务器端编码,我们看到0.0为浮点值。如果删除只读属性,则可以从客户端获取值,并将该值传递给服务器并存储到数据库中。具有只读属性的字段无法从客户端获取值并将NULL存储到数据库中。
希望这会对你有所帮助。
答案 1 :(得分:1)
在openerp中,Readonly字段用于显示内容,但不会在数据库中存储任何数据。所以它显示Null值。 Readonly仅用于提供信息。
答案 2 :(得分:0)
我认为这是openerp中的一个错误。我为此创建了一个补丁。在openerp插件中,web模块,转到static / src / js / view_form.js。
Index: view_form.js
===================================================================
--- openerp/addons/web/static/src/js/view_form.js
+++ openerp/addons/web/static/src/js/view_form.js
@@ -833,11 +833,9 @@
// Special case 'id' field, do not save this field
// on 'create' : save all non readonly fields
// on 'edit' : save non readonly modified fields
- if (!f.get("readonly")) {
- values[f.name] = f.get_value();
- } else {
- readonly_values[f.name] = f.get_value();
- }
+ values[f.name] = f.get_value();
+ if (f.get("readonly"))
+ readonly_values[f.name] = f.get_value();
}
}
if (form_invalid) {
答案 3 :(得分:0)
将概率字段更改为函数字段,并编写函数(ex _get_probability)。并保持当前概率计算功能。现在默认概率计算函数显示值,第二个函数(_get_probability)将保存该值。