2012-09-01 1 views
0

OpenERP에 초보자입니다. 나는 CRM 모듈에 대해 연구 중이다. 나는 실제로 crm_claim에 의해 상속되는 버그 모듈에서 만들고 있습니다. 추가 필드 (체크 박스)를 추가했습니다. 잘 작동합니다.
OpenERP에 대한 저의 경험은 아주 잘 진행되고 있습니다. 그러나 나는 검증 시점에 머물러있다. 실제로 내가 원하는 것은 체크 박스를 클릭하지 않으면 사용자가 레코드를 저장할 수 없다는 것입니다. 그 중 하나가 클릭되면 레코드를 저장해야합니다. 나는 인터넷을 수색했다. 확실한 해결책을 찾을 수는 없지만 모호한 해결책은 없습니다. 목록은 다음과 같습니다. -
일부 게시물은 쓰기 및 작성을 재정의하도록 제안하고 있습니다. 하지만 내 질문은, 내가 crm_claim에서 상속, 나는 어디서나 쓰기 및 작성 기능을 찾지 못했습니다. 만약 내가 그것들을 오버라이드한다면, 나는 전체적인 주장과 위의 클래스를 저장하는 모든 논리를 써야만한다. 나는 매우 어려워.openerp에서 다른 확인란의 유효성 확인

  1. 나는 onsave 이벤트를 찾으려고했지만 아무 것도 찾지 못했습니다.
  2. 누군가이 마법사를 사용하여이 문제를 해결할 것을 제안합니다.

나는 무엇을 해야할지 잘 모릅니다. 이 점에 대해 친절히 도와주세요.

답변

0

:

예를 들어, 모델에, 다음과 같은 방법을 추가 할 수 있습니다. 그러한 핵심 기능을 무시하는 것이 어떤 선택권이 없으면 그리고 그 때까지는 바람직하지 않습니다.

이 경우에는 옵션이 있습니다.

당신이 _constraints를 찾을 판매 모듈 애드온/재고/stock.py

를 참조하십시오, 당신은 동일한 사용할 수 있습니다. 선택한 필드의 값이 변경 될 때만 점검합니다. 또한 예외 인상 시설을 가지고 있습니다.

+0

덕분에 ..... – noamanfaisal

+0

경고를 원한다면 : "선택하지 않은 확인란이 선택되어 있습니까?" 유효성 검사 팝업에서? 그게 내 사건이야. 읽기 및 쓰기 메소드가 액션 호출을 호스트 할 수 없습니다 ... 그렇습니까? – yucer

+0

yucel. 이 경우에는 onchange 메서드를 작성하고 경고를 반환 할 수 있다고 생각합니다. –

-1

writecreate 메서드는 BaseModel 클래스에 구현 된 osv.osv 모델에서 상속되며 server/openerp/osv/orm.py입니다.

논리를 복제 할 필요가 없으므로 원래 방법을 호출하면됩니다. 만들거나 함수를 작성 오버라이드 (override) 할 필요는 없습니다

def create(self, cr, uid, vals, context=None): 
    """ 
    Override osv.create() method to validate the data 
    """ 
    if not (vals['attr1'] or vals['attr2'] or vals['attr3']: 
     raise osv.except_osv(_('Warning !'),_("You have to choose at least one attribute")) 

    return super(my_model, self).create(cr, uid, vals, context)