2013-07-12 2 views
0

사용자가 양식에서 완료하는 amountPayinterestType 필드에 따라 지불금을 계산하려고합니다. 사용자가 제출을 명중하면 관심 분야에 삽입해야 amountPay * 0.05라고 말하십시오.OpenERP에서 같은 필드에있는 다른 필드의 값을 계산할 수 있습니까?

문제는 그 interestfunction field이며 현재 amountPayinterestType 레코드의 값을 검색하지만, 그 값이 아직 저장되지 않았기 때문에 실패한다.

절약 한 후에 필드를 편집하고 다시 저장하면 올바른 관심을 얻었습니다.

을 (를) 즉시 수행 할 수있는 방법이 있습니까? 1 회 제출을 눌러주세요.

올바른 방향으로 팁을 주시면 감사하겠습니다.

답변

1

정확하게 이해하면 양식의 amountPay 및 interestType 필드가 입력 필드로 나타납니다. 관심 분야가 기능 필드 인 경우 폼이 표시 될 때마다 (로드 될 때, 저장 후 등) 계산 된 기능 필드 값이 표시되지만 on_change를 사용하여 필요한 작업을 수행 할 수 있습니다.

amountPay 및 interestType 필드 모두에 on_change를 추가하십시오. 이 두 필드를 전달하는 동일한 on_change 메서드를 호출 할 수 있습니다.

on_change 메서드에서 올바른 관심을 계산하고 이와 같이 반환하십시오.

관심 분야가 읽기 전용 기능 필드이지만 양식에 보유 된 값은 값 사전에 반환 된 값으로 변경됩니다. 그런 다음 사용이 양식을 저장하거나 다시로드하면 기능 필드가 올바르게 계산되고 표시됩니다. 이 방법의 유일한 단점은 기능 필드에서 사용하는 논리를 복제한다는 것입니다. 이 문제를 해결하려면 함수 필드에서 호출 한 메서드 외부의 논리를 함수 필드 메서드와 on_change 메서드 모두에서 호출 할 수있는 별도의 메서드로 가져옵니다.

하나의 마지막 포인트 부수적 포인트는 파이썬이 자바가 아니라는 것을 기억하십시오. PEP008 및 OpenERP 규칙을 따르려면 필드는 amount_pay 및 interest_type이어야합니다.

+0

다시 한번 당신이 옳습니다! 고마워, 모든 도움을 위해! – JordanBelf

관련 문제