OpenERP 7 のボタンからウィザードを開きます。ただし、ウィザードの [計算] ボタンをクリックすると、ウィザードが近くなりましたが、[ウィザードを閉じる] ボタンをクリックしたときにウィザードを閉じるのではなく、[計算] ボタンをクリックしてウィザードを閉じたくありません。私は OpenERP 7 を使用しています。
class test_pass_student(osv.osv_memory):
_name = 'test.pass.student'
_column ={
'pass_id': fields.many2one('pass.student', 'Passed'),
'student_id':fields.many2one('student.student', 'Student'),
}
test_pass_student()
def _reopen(self, res_id, model):
return {'type': 'ir.actions.act_window',
'view_mode': 'form',
'view_type': 'form',
'res_id': res_id,
'res_model': self._name,
'target': 'new',
'context': {
'default_model': model,
},
}
class pass_student(osv.osv_memory):
_name = 'pass.student'
_columns = {
'student_id':fields.many2one('student.student', 'Student'),
'lines': fields.one2many('test.pass.student','pass_id', 'Passed students'),
}
def add_student(self, cr, uid, ids,context=None):
lines_obj = self.pool.get('test.pass.student')
for record in self.browse(cr,uid,ids,context):
for line in record.student_id.scores:
if line.pass_score > 50:
lines_obj.create(cr,uid,{'pass_id': record.id,'student_id':line.student_id.id})
return _reopen(self, record.id, record._model)
pass_student()
シェン S は最初の生徒チェックを選択し、50 点以上の場合は 1 対多で追加し、別の生徒をもう一度チェックします。同じことが繰り返されます。