我有以下两个模块。在下面的asset1\u inspection类中,我创建了两个树视图。“msr\U检查”:fields.one2many('结果.测量','insp_msr','检验措施',),。我将为每次检查创建一些措施。
在那之后反馈.py当我在insp_msr1'中选择一个特定的检验时,我通常会为该检验获得指定的测量值
配置.py
class asset1_inspection(osv.Model):
_name = "asset1.inspection"
_rec_name="inspection_name"
MAINTENANCE_SELECTION=[
('0','Daily'),
('1','Weekly'),
('2','Fortnight'),
('3','Bi-Monthly'),
('4','Quarterly'),
('5','Half-Yearly'),
('6','Yearly'),
('7','Bi-Yearly'),
]
MAINTENANCE_TYPE=[
('0', 'Corrective'),
('1', 'Preventive'),
('2', 'Predictive'),
]
SHOUTDOWN_SELECTION=[
('0','YES'),
('1','NO'),
]
_columns = {
'inspection_name':fields.char('Inspection Type',),
'freq_sel':fields.selection(MAINTENANCE_SELECTION,'Frequency'),
'shut_down':fields.selection(SHOUTDOWN_SELECTION,'Shout Down'),
'main_type':fields.selection(MAINTENANCE_TYPE,'Maintenance Type',),
'insp_id1' : fields.one2many('inspec1.grid','insp_id','BoM',),
'msr_insp' : fields.one2many('results.measure','insp_msr','Inspection Measure',),
}
asset1_inspection()
class inspec1_grid(osv.Model):
_name = 'inspec1.grid'
_columns = {
'insp_name' : fields.char('Part'),
'insp_code' : fields.char('Code'),
'insp_quty' : fields.char('Quantity '),
'insp_uom' : fields.char('UoM'),
'insp_id': fields.many2one('asset1.inspection','Insp Id'),
}
inspec1_grid()
class results_measure(osv.Model):
_name = 'results.measure'
_rec_name='measure'
_columns = {
'measure' : fields.char('Inspection Measure'),
'insp_msr' : fields.many2one('asset1.inspection','Insp Measr'),
}
results_measure()
**feedback.py**
from openerp.osv import fields, osv
from openerp import api
class feedback_form(osv.Model):
_name = 'feedback.form'
_rec_name = 'inspec_type'
_columns={
'location' : fields.char('Substation Location'),
'insp_rslt' : fields.one2many('feedback.tree','insp_rsltts','Inspection Result',),
}
class feedback_tree(osv.Model):
_name = 'feedback.tree'
_columns = {
'insp_type' : fields.many2one('asset1.inspection','Inspection Type',),
'frequency' : fields.char('Frequency'),
'shutdown' : fields.char('Shout Down'),
'insp_msr1' : fields.many2one('results.measure','Result',),
'insp_rsltts': fields.many2one('feedback.form','Result Id'),
}
def get_inspection(self, cr, uid, ids, inspec_type, context=None):
val = {}
if inspec_type:
for det in self.pool.get('asset1.inspection').browse(cr,uid,inspec_type,context=context):
val = {
'insp_msr1' : det.measure,
#'qty' : det.qty,
#'uom' : det.uom,
}
return {'value': val}
要使用on_change,您必须转到您的视图,然后转到要更改的字段。在
例如:
因此在上面的示例中,当方法发生更改时,该字段将调用方法“onchange_method”。也可以给它指定包含窗体上当前值的参数。这就是如何检索这些值。在
onchange_方法本身非常简单:
^{pr2}$在这里您可以看到我从表单中检索了xx字段_a和xx_字段_b,因为我在视图中的on_change中将它们作为参数传递。在
相关问题 更多 >
编程相关推荐