尝试添加验证控制字段。所以,添加一个名为“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
没有无意中触发验证规则,直到数据已准备就绪。
请注意ComputeWithForm(来自帮助)“通过执行默认值,翻译和验证公式(如果在文档表单中定义)验证文档。”但是你尝试应该工作。 “不让我”是什么意思,错误是什么? –
只是为了澄清,帮助没有提及任何计算字段,我总是明白它不能保证他们会计算。 –
它不会更新计算的字段。 –