문제

저는 Notes 프로그래머는 아니지만 최근 사내 프로젝트를 위해 일부 Notes 기능을 작업하고 있습니다.상황에 따라 필드 편집을 활성화/비활성화해야 합니다.제가 보기에는 상당히 표준적인 기능인 것 같습니다. 필요한 기능이지만 이 기능을 수행하는 방법에 대한 정보는 어디에서나 찾을 수 없습니다.

양식 설정(및 기타 필드의 onchange) 코드는 다음과 같습니다.

if some requirement = true then
    textField.enable = true
else
    textField.enable = false
end if

일부 코드를 기반으로 단락을 조건부로 숨기는 해결 방법이 있는 다른 곳을 본 적이 있습니다. 두 개의 단락에는 반대 숨김 조건이 있고, 하나는 편집 가능한 필드가 있고 다른 하나는 계산된 필드가 있습니다.그러나 이것이 어떻게 구현되는지 확인하기에는 Notes에 대해 충분히 알지 못합니다. (다른 양식에서도 볼 수 있지만 Notes에는 볼 수 없거나 얻을 수 없는 '마법의' 단계가 있는 것 같습니다. ).

[편집] Kerr의 답장이 내가 찾고있는 것 같지만 여전히 InputEnabled 속성이있는 위치를 찾을 수 없습니다.초기 질문에서 언급했어야 했는데, 저는 Notes 7.0.3을 사용하고 있습니다.

공평하게 말하면, 필드를 활성화/비활성화하는 상황이 무엇인지는 중요하지 않습니다. 이는 단지 일부 부울 조건이 설정되는 것입니다. 제 경우에는 양식 로딩 시에만 해당되므로 동적으로 변경되는 것에 대해 걱정할 필요도 없습니다. 양식이 표시되는 동안.

Notes에는 몇 가지 문제가 있습니다. 가장 큰 버그는 그것이 Designer UI와 너무 밀접하게 연결되어 있다는 것입니다.대부분의 GUI 언어(C#, Java, Delphi, 심지어 VB)에서 이런 종류의 작업을 프로그래밍 방식으로 수행할 수 있지만 Notes에서 속성 상자를 열고 올바르게 설정해야 합니다.

이것은 괜찮을 것입니다 선택 과목 방법이지만 강제 이 방법으로 간다는 것은 이 경우 IDE가 허용하는 만큼만 작업할 수 있다는 것을 의미하며, 여기서 IDE는 적극적으로 당신에게 불리하게 작용하는 것 같습니다.여러 함수/스크립트를 열 수 없고, 왼쪽 메뉴로 돌아가지 않고 한 스크립트에서 다른 스크립트로 전환할 수 없으며, 코드베이스에서 변수/필드 발생을 쉽게 검색할 수 없습니다. 내 경우에는 Notes나 내부 코드베이스가 전역 변수를 많이 사용하는 것 같기 때문에 큰 실패입니다!) 표시되는 속성 상자를 통해서만 필드 작업을 할 수 있고 코드를 편집할 수 없습니다. 기본 Notes 클라이언트를 통해 디버깅하는 동안 디자이너.

코딩의 Java 측면은 LotusScript보다 낫지만 여전히 상당히 형편없습니다(왜 INTO Java 코드를 디버그할 수 없습니까?)각 Java 클래스에 대해 JAR 파일을 다시 가져와야 하는 이유는 무엇입니까? 각 클래스에는 다른 CLASSPATH가 있습니까???).아마도 이것은 Notes 8에서 개선되었을 것입니다. Eclipse를 기반으로 한다고 들었습니다.이것이 사실인지 아닌지 아는 사람 있나요?

도움이 되었습니까?

해결책

'상황'에 대한 자세한 내용을 듣는 것이 도움이 되지만 이를 처리하는 가장 일반적인 방법은 활성화/비활성화하려는 필드에서 수식 숨기기를 사용하는 것입니다.

기술적으로는 필드를 활성화하거나 비활성화하는 것이 아니라 단지 숨기는 것뿐이지만 일반적으로 이 방법도 잘 작동합니다.

Notes에서는 작업할 이벤트가 거의 없기 때문에 개발자는 일반적으로 문서 새로 ​​고침을 '이벤트'로 사용하여 필드를 숨기거나 표시합니다.

TriggerField와 Subject라는 두 개의 필드가 있다고 가정해 보겠습니다.또한 TriggerField의 값을 기반으로 주제를 비활성화하고 싶다고 가정해 보겠습니다.가장 쉬운 방법은 TriggerField를 대화 상자 목록 유형으로 설정하고 "키워드 변경 시 필드 새로 고침" 옵션을 선택하는 것입니다.이는 대화 상자 목록의 값이 변경되면 전체 문서가 새로 고쳐짐을 의미합니다.

그런 다음 제목 필드에 대한 숨기기 시 수식에서 해당 필드를 표시하거나 숨길 시기에 대한 기준을 지정합니다.필드 값이 변경된 후 문서가 새로 고쳐질 때마다(예:양식), 수식이 재평가될 때 숨겨집니다.

상황에 따라 이 문제를 해결하는 다른 방법이 있습니다.사용자가 양식을 직접 새로 고칠 수 있도록 하려면 @Command([ViewRefreshFields]) 명령을 호출하는 버튼을 양식에 배치합니다.양식을 동시에 변경하려는 경우 새로 고침 명령 전에 해당 단추에 다른 수식을 추가할 수 있습니다.

또 다른 옵션은 특정 필드를 표시 전용으로 만드는 것입니다.그런 다음 사용자가 해당 표시 전용 필드를 변경할 수 있도록 LotusScript를 실행하는 버튼을 만듭니다.스크립트에서 사용자에게 값을 묻는 메시지를 표시하고 표시 전용 필드를 설정한 다음 문서 새로 ​​고침을 호출할 수 있습니다.

다른 팁

ND7 및 UP에서 입력 필드를 비활성화하려면 비활성화하려는 필드의 입력 된 섹션에 적절한 공식을 작성하십시오.

따라서 Trigger라는 두 개의 필드, "On"값이있는 확인란 및 텍스트 필드 인 다른 주제가 있습니다. 트리거가 확인되면 값 대상이 활성화되기를 원합니다.

필드 제목의 입력 활성화 요소에 다음 공식을 간단히 넣습니다.

Trigger = "On"

트리거 필드에서 "키워드 변경의 새로 고침 필드"옵션을 선택할 때마다 트리거가 변경 될 때마다이를 다시 계산하기를 원합니다.

이전 버전에 갇힌 경우 단락을 적절하게 숨겨야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top