2012-02-17 2 views
0

서비스에 전달해야하는 이름 속성에 변수 이름이있는 양식의 필드가 있는데 문제가 있습니다.하지만이를 수행 할 수 없기 때문에 ' t services.xml에 정의하십시오.Ofbiz의 services.xml에 속성 정의하기

시나리오에는 주요 양식이 있으며,이 하위 섹션에는 ajax를 통해 추가되는 필드가 있습니다. 이 필드는 하나의 데이터 세트를 나타내며 강제는 아니므로 일부 필드는 비어있을 수 있습니다. 예를 들어, 추가 된 필드에 ID 필드, 금액 및 체크 번호가 있습니다. 사용자는 ID와 금액을 입력 할 수 있지만 수표 번호는 입력 할 수 없습니다. 주요 양식에 ID, 금액 및 체크 번호가 여러 행으로 추가 될 수 있습니다.

처음에는 같은 이름을 사용하여 모든 필드의 이름을 지정하고이를 서비스로 List로 전달합니다. 수표를 채우지 않으면 수표가없는 목록이 실제로 null이되고 빈 문자열이있는 목록이 아닌 것을 발견 할 때까지는 훌륭하게 작동합니다. 이 문제로 인해 서비스에서 올바르게 매핑됩니다.

그런 다음 이전 학교 방법, 즉 숨겨진 필드의 카운터를 사용하여 카운터를 나타내는 접미어로 이름을 지정하려고했습니다. 그리고 나서 services.xml에서 속성을 동적으로 정의 할 수 없다는 것을 알았습니다.

이전에 그런 문제가 발생 했습니까? 어떤 조언이나 도움이 필요합니까?

+0

나는이 방법으로 할 수있는 방법이 없다는 것을 알았다. Event 함수를 사용하여 서비스를 호출하기 전에 필터링을 수행하도록 변경되었습니다. – ipohfly

+0

확인. 그렇게 할거야. 감사. – ipohfly

답변

0

이 문제를 해결하기 위해 사용한 해결 방법은 실제 처리를 수행하기 위해 서비스를 호출하기 전에 이벤트 클래스를 추가하여 요청을 필터링하는 것입니다. 이렇게하면 원시 형식의 매개 변수를 얻을 수 있으며 Ofbiz 서비스 정의에 의존하지 않고 값을 가져옵니다.

0

서비스 정의 ie.services.xml 파일에 선택적 필드를 모두 표시 할 수 있습니다. 예 : attribute name = "check no"type = "문자열"mode = "IN"optional = "true"/>