4
OpenERP에서 OSV 개체는 새로운보기를 열거 나 작업을 활성화 할 수있는 무언가를 반환 할 수 있습니다. 예를 들어, sale.order
는 다음을 반환 manual_invoice
방법이 있습니다OSV 메서드의 return 문
return {
'name': _('Customer Invoices'),
'view_type': 'form',
'view_mode': 'form',
'view_id': [res_id],
'res_model': 'account.invoice',
'context': "{'type':'out_invoice'}",
'type': 'ir.actions.act_window',
'nodestroy': True,
'target': 'current',
'res_id': inv_ids and inv_ids[0] or False,
}
와 동일한 창에서 송장 양식보기를 엽니 다.
'view_id': [res_id],
이 'views': [(id2, 'form')],
으로 변경되었으며 다른 부분도 수정 된 것으로 보았지만 여전히 작동합니다.
그래서이 메커니즘이 어떻게 작동하는지 이해할 수 없습니다. 반환 값의 어떤 값을 포함해야하는지 결정하는 것은 무엇입니까? 어느 것이 필수이고 어떤 것이 아닌지 어떻게 알 수 있습니까?
감사합니다.
유일한 예외는 튜플을 가진 목록 인 views 애트리뷰트입니다. 반면 xml 파일에서는 별도의 ir.actions.act_window.view 레코드를 작성해야합니다. – Red15
@ Red15 사실 인라인 액션 정의에서 반환 될 수있는'views' 값은 ir.actions.act_window 모델에 존재하는 실제 함수 필드'views'와 다르지 않습니다. 이 함수는 실제로 사용할 뷰를 명시 적으로 지정하는'ir.actions.act_window.view' 자식 레코드에 의존합니다. 그리고 그 값은 튜플의 같은리스트입니다 - 내가 생각할 수있는 한가지 차이점은 활성화 된 뷰가 폼 뷰일 때만, 일반적으로 열릴 특정 레코드의 ID를 지정할 수있는 여분의'res_id' 키가 있다는 것입니다. 이는 마법사를 다시 열 때 유용합니다. – odony