尝试添加验证控制字段。因此,添加一个名为“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)
You should now be able safely call a Source.Refresh
method without inadvertently triggering validation rules until the data is ready.