2016-12-01 1 views
1

Notes에는 양식 (Order)이 있는데이 양식에서 새 양식 작성 (Orderline)을 작성하는 "Create new OrderLine"단추가 있습니다. 주문 문서에는 주문 라인 문서를 가져 오는 디자인에 대한 임베디드 뷰가 있습니다. 각 주문서 문서에는 주문서 ID와 함께 숨겨진 필드가 있으므로 어떤 주문서가 어떤 순서로 연결되어 있는지 알 수 있습니다. Orderline에도 똑같이 적용됩니다. 가격에 대한 임베디드 뷰가 있습니다.IBM Notes 편집 가능 필드가 상위 양식에서 데이터 가져 오기

주문 양식에는 AdministrationNumber 및 DebtorNumber라는 편집 가능한 텍스트 입력란이 2 개 있습니다.

는 OrderlineForm에서 나는 단지 내가 요금라는 편집 할 수 필드가 가격에서 debtorNumber에게

을 얻었다. 나는이 LotusScript와의 코드를 삽입 한 형태로 가격의 postOpen에서

:

If((Source.FieldGetText("AdministrationNumber") = "1") And (Source.FieldGetText("DebtorNumber") = "2")) Then 
    Call Source.FieldSetText("FeePercentage", "4.235") 
    Call Source.Refresh() 
End If 

그러나 작동하지 않았다

그래서 다양한 방법에 이런 짓을.

@If((AdministrationNumber="1") & (DebtorNumber= "2"); 
    "4,235"; 
     "0" 
) 

뿐만 아니라 전혀 사용 ..

기반으로 하위 폼을 열 때 편집 가능한 필드가 설정되는 것이 가능 : 요금의 기본값에서

는 또한이 공식 코드를 시도 상위 형식의 데이터가있는 조건문

편집

2 가지 방법으로 해결하기 위해 :

1.

주문 양식에 whic 버튼 "새로운 주문 행 추가"를 클릭, 난은 ScriptLibrary에서 함수를 호출합니다, 이 함수에서 나는 debnr과 admnr의 값을 얻은 다음 조건문을 수행한다. 참이면 then set FeePercentage

2.

새 주문선 단추를 클릭 할 때 관리자 Nr 필드 데이터를 가져 오는 admnr이라는 주문 행에 새 숨김 필드가 추가되었습니다. 필드는 scriptlibrary의 함수를 통해 설정됩니다. 가격의 postOpen에서 결국

이 작동 하위 폼 : 대신 백엔드 클래스와

Dim doc As NotesDocument 
Set doc = Source.Document 
If doc.admnra(0) = "1" And doc.debnr(0) = "2" Then 
    doc.FeePercentage = 4.235 
End If 

답변

2

일 : 그것은 당신에게 문서의 모든 분야에 쉽게 액세스 할 수 있습니다

Dim doc as NotesDocument 
Set doc = Source.Document 
If doc.AdministrationNumber(0) = "1" And doc.DebtorNumber(0) = "2" Then 
    doc.FeePercentage = 4.235 
End If 

합니다.

+0

그 방법은 .. 주문 양식에 가격 주문서와 가격 하위 폼을 여는 버튼이 있기 때문입니다. 사용자가 가격 양식을 열면 수수료도 표시되어야합니다. – YdB

+1

양식 "주문"또는 다른 양식에 포함 된 하위 양식에 대해 이야기하고 있습니까? –

+0

죄송합니다. 실제로 "주문"양식에는 주문 라인이있는 삽입 된보기가 있으며 "새 주문 라인 추가"버튼이 있습니다. 사용자가 "신규 주문 라인 추가"버튼을 클릭하면 주문 라인 문서가 열립니다. 이 양식에는 "feePercentage"라는 필드가있는 "price"라는 하위 폼이 있습니다. 4.235는 admnr = 1이고 debtornumer = 2 (주문 양식의 것입니다) – YdB

2

Notes 디자인에서 특별한 의미가있는 "하위 양식"이라고 말하면서 "주문"이라는 양식, "주문 회선"이라는 양식 및 주문 회선 양식이 사용하는 "가격"이라는 하위 양식 인 것처럼 들립니다. ?

이 경우 OrderLine의 "수식이 선택한 문서의 값을 상속합니다."양식 속성이 선택되어 있는지 확인하십시오.

버튼이 상위 양식 (Order form embed을 보는 것과 반대) 인 경우 기본 공식이이를 수행해야합니다.

P. 기본 수식을

@If(
    (AdministrationNumber="1") & (DebtorNumber= "2"); 4235; 
    0 
) 

으로 변경하여 숫자처럼 보이는 텍스트 대신 숫자를 반환 할 수 있습니다.

+1

상속을 설정하는 것 외에도 숨겨진 AdministrationNumber 및 DebtorNumber 필드를 OrderLine 폼에 배치해야합니다. –

+1

흠 ... 그것 없이는 작동하기 때문에 다른 어떤 이유로 유용하지 않으면 ...? 아마도, OrderLine 문서가 응답 일지라도, 그는'@GetDocField (@Text ($ REF); @ ThisName)'의 공식을 가진 AdministrationNumber와 DebtorNumber 필드를 계산해야하고, 이전 버전과의 호환성을 고려해야합니다 OrderLine. 서를 처음 저장 한 후에 Order. 서의 AdministrationNumber W DebtorNumber 필드가 변경된 경우 (OrderLine doc이 새로 고쳐질 때). 이것은 그의 형태를 약간 느리게 만들 것이다. – JSmart523

+1

네가 맞을거야. 오랫동안 오래 전부터 나는 아이 문서의 형식에 같은 이름의 실제 필드가있는 경우에만 상속이 작동한다고 믿었습니다. 나는 이것이 사실이 아니라는 것을 몇 차례 이상 전했다고 확신합니다. 그러나 초기의 첫인상을 잊어 버리기는 어렵습니다. –

관련 문제