検証コントロール フィールドを追加してみてください。そこで、「runValidation」というフィールドを追加します。UI フォーム イベントの処理にのみ必要なため、表示用に計算されます。その式は簡単です
@ThisValue または runValidation
QueryRecalc イベントで、または ItemProductFamilyType の値を設定する場合はいつでも、値を「1」に設定します。
Sub Queryrecalc(Source As Notesuidocument, Continue As Variant)
On Error Goto errHandle
Dim doc As notesDocument
Set doc = source.Document
' go populate your fields like ItemProductFamilyType
doc.runValidation = "1"
Exit Sub
errHandle:
Messagebox Lsi_info(2) + " : " + Str(Err) + " - " + Error(Err) + ", at line " + Str(Erl)
Exit Sub
End Sub
同じ考え方が ItemProductFamilyType の翻訳式でも機能します。
Field runValidation := "1";
@thisValue;
ItemNumber の検証式に「runValidation」フィールドを含めて、フィールドの検証時期を管理します。
@if(runValidation="1";@if(@trim(@ThisValue)="";@Failure("Enter value");@Success);@Success)
Source.Refresh
データの準備が整うまで、誤って検証ルールをトリガーすることなく、メソッドを安全に呼び出すことができるようになりました。