2011-10-05 3 views
1

양식이 ProductFamily입니다. 문자열 목록 인 ProductFamilyMBValues이라는 필드가 있습니다.문서 작성시 상위 필드 참조

위의 양식을 사용하는 문서의 응답 인 Item이라는 양식을 사용하여 응답 문서를 받았습니다.

Item 형태는 그 필드에 대한 검증 식 @If(@Length(ItemMakeBuy) = 0;@Failure("You must choose a Make or Buy value");@Success)

에게 선택을 가진 필드 dialoglistItemMakeBuy을 보유하는 식이다 @IfError(@GetDocField($ref;"ProductFamilyMBValues");"?").

내 문제는 내가 새로운 Item 문서에게 ItemMakeBuy 필드의 선택을 만들 때 문서가 저장 될 때까지 $ref 필드가 채워지지 않습니다 겉으로 때문에, 채워지지 않습니다 것입니다. 그러나, 유효성 검사 공식 때문에 값을 입력해야하므로 저장할 수 없습니다.

어떻게이 문제를 해결할 수 있습니까? 이상적으로 필드의 유효성 검증 수식을 유지하려고합니다.

답변

2

응답을 만들 때 상위 필드에서 다른 필드를 복사합니까? 응답에 UniversalID를 복사하면 문서가 저장 될 때까지 사용할 수 있습니다. 수식에 @IsNewDoc과 결합하면 문서를 저장하는 순간 $ REF를 가리킬 수 있습니다. 이 같은

또는 뭔가 : @IfError (@GetDocField ($ 심판; "ProductFamilyMBValues"); GetDocField (ParentUNIDField @; "ProductFamilyMBValues"))

부모 문서를 참조하는 논리적 인 방법이다
+0

는 '부모에서 복사 다른 필드'가 무엇을 의미합니까? UNID를 respnose에 어떻게 복사합니까? –

+0

그것을 복사하는 한 가지 방법은 Ken이 그의 대답에서 언급 한 방법입니다. 수식이나 스크립트를 사용하여 응답을 만들면 거기에 추가 할 것입니다. –

+0

'@Command ([Compose]; "" "Item")'수식을 사용하여 양식 활동을 사용하여 작성합니다. 어떻게 새로 작성한 문서의 필드를 설정할 수 있습니까? '@ SetField'가 현재 문서에 영향을 줄 것이라고 추측합니다. –

1

하지만 노트 부모 필드 정보를 얻는 다른 방법이 있습니다. Item 양식에서 양식 속성으로 이동하여 "작성시 : 수식이 선택한 문서에서 값 상속"옵션을 선택하십시오. 그런 다음 Item 양식에 원하는 수의 필드를 만들고 ProductFamily 양식의 필드 이름을 참조하는 계산 된 필드 수식을 사용하면 해당 값이 전달됩니다. 귀하의 경우에는 ProductFamilyMBValues ​​필드를 응답 문서 .

문서의 해당 주제에 대한 설명은 more information입니다.

+0

수식은 선택된 문서에서 값을 상속 받겠다는 것을 이해합니다. 그러나 부모 문서 값이 변경되면 값을 업데이트하고 싶습니다 (가능한 경우 추가 코드를 추가하지 않아도 됨) . 부모님의 모든 필드가 응답 양식을 오염시키는 것을 원하지 않습니다. –

+0

의미가 있습니다. 이 메소드를 사용하여 parentUNID를 응답 doc로 가져온 다음 @GetDocField를 통해 값을 검색하기 위해 수식에서 해당 메소드를 사용하면이 트릭을 수행해야합니다. –

1

새 문서를 만들 때 @InheritedDocumentUniqueID 함수를 사용하여 부모 문서 ID를 얻을 수 있습니다. 귀하의 경우에는

선택에 대한 공식은 다음과 같습니다 @IfError(@GetDocField(@InheritedDocumentUniqueID;"ProductFamilyMBValues");"?")