Function 带按钮对象的OpenERP自定义模块
我已经用下面的.py文件创建了一个自定义模块I openerp。请帮助我添加第一个和第二个,以获得第三个使用按钮对象点击功能Function 带按钮对象的OpenERP自定义模块,function,openerp,Function,Openerp,我已经用下面的.py文件创建了一个自定义模块I openerp。请帮助我添加第一个和第二个,以获得第三个使用按钮对象点击功能 from osv import osv from osv import fields class test_base(osv.osv): _name='test.base' _columns={ 'first':fields.integer('First No:'), 'second':fields.
from osv import osv
from osv import fields
class test_base(osv.osv):
_name='test.base'
_columns={
'first':fields.integer('First No:'),
'second':fields.integer('Second No:'),
'third':fields.integer('Third No:'),
}
def get_sum(self, cr, uid, ids,context=None):
# please add code here to get sum of 'first' and 'second' and assign to variable 'sum'
return {'value':{'third': sum }}
test_base()
xml
对于你的代码,你可以做一件事
def get_sum(self, cr, uid, ids,context=None):
# please add code here to get sum of 'first' and 'second' and assign to variable 'sum'
sum = 0.0
for data in self.browse(cr, uid, ids, context=context):
sum += data.first + data.second
self.write(cr, uid, ids, {'third': sum}
return True
或者,您可以将第三个字段设置为函数字段,无需单击按钮即可直接获取值
_列={
'first':fields.integer('first No:'),
'second':fields.integer('second No:'),
“第三”:fields.function(_sum,type=“float”,store=True)
}
您不能在button clicl事件中使用此类型returnreturn{'value':{'third':sum},它只在onchange方法中工作,就像您在fiels second上设置onchange一样,所以当您输入值并按tab键时,它会在第三个字段中更改火集值
希望这些帮助非常感谢您提供完整的信息。我想明确地使用按钮点击事件。再次感谢您的快速响应。在末尾添加括号并执行。它工作得很好。写(cr,uid,ID,{'third':sum})一个关于这个的快速子问题。。。。当记录未处于可编辑模式时,我们是否可以禁用此按钮。现在,当记录未处于可编辑模式时,此按钮处于启用状态。您可以在此处使用类。当可编辑时,此按钮将启用。再次感谢!。我添加了class=“oe\u link oe\u edit\u only”,它工作正常。然而,我遇到了另一个问题,在按钮更改为链接(以前的按钮现在被显示),相同的按钮并没有显示,而是显示链接。
def get_sum(self, cr, uid, ids,context=None):
# please add code here to get sum of 'first' and 'second' and assign to variable 'sum'
sum = 0.0
for data in self.browse(cr, uid, ids, context=context):
sum += data.first + data.second
self.write(cr, uid, ids, {'third': sum}
return True
def get_sum(self, cr, uid, ids,context=None):
res = {}
# please add code here to get sum of 'first' and 'second' and assign to variable 'sum'
sum = 0.0
for data in self.browse(cr, uid, ids, context=context):
sum += data.first + data.second
res[data.id] = sum
return res