Lotus notes 用于填充视图中的值的公式

Lotus notes 用于填充视图中的值的公式,lotus-notes,Lotus Notes,请帮忙。我在表单中有一个querysave事件。下面是代码片段。用于计算格式为“ST115-00001”的参考号(结算号) 子查询保存(源为Notesuidocument,继续为Variant) 端接头 我需要将DocKey和New_No的值填充到视图中。我应该使用什么公式?我的逻辑是否正确。请帮忙 问候,, Priya。您的代码不需要获取视图,也不需要做任何填充操作。视图通过确定显示哪些文档的选择公式和确定每个文档显示哪些值的列公式来填充自己。通过在Domino Designer中打开特定视图

请帮忙。我在表单中有一个querysave事件。下面是代码片段。用于计算格式为“ST115-00001”的参考号(结算号) 子查询保存(源为Notesuidocument,继续为Variant)

端接头

我需要将DocKey和New_No的值填充到视图中。我应该使用什么公式?我的逻辑是否正确。请帮忙

问候,,
Priya。

您的代码不需要获取视图,也不需要做任何填充操作。视图通过确定显示哪些文档的选择公式和确定每个文档显示哪些值的列公式来填充自己。通过在Domino Designer中打开特定视图来编辑这些公式

如果您已经有了一个选择正确文档的视图,并且该视图已经有了一列结算编号,那么您应该已经在视图中看到了类似“ST115-00001”的值。如果您已经有了视图,但它没有显示结算\无数据,并且如果您希望在视图中看到数据的格式是这种格式,那么您只需在视图中添加一列,选择“字段”,然后选择“结算\无”

如果你真正想问的是如何在视图中看到DocKey和New_No而不合并它们,那么你可以看到“ST115”和“00001”,而不是看到“ST115-00001”,那么你有两个选择

  • 修改代码,在文档中保存DockKey和New_No,然后向视图中添加两个新列。如果不想在表单中添加新的可见字段,则需要使用NotesDocument类和ReplaceItemValue来保存DocKey和新的\u编号

  • 只需添加两个视图列,并在第一列公式中使用@Left(结算编号;“-”),在第二列公式中使用@Right(结算编号;“-”)


  • 显然,方法2更简单,但方法1的优点是,即使有一天您决定更改“结算”字段的格式,使其看起来像“ST115:00001/这里有更多内容”,您也不必更改它。

    看起来您只需要在视图中添加结算项目作为列?或者,如果您想查看dockey和new_no,只需将它们保存到文档中,就像您保存结算编号一样。非常感谢您的帮助。我现在能做了。现在我已经使用了第二种方法。第一种方法将来会对我有帮助。谢谢。逻辑上的另一个问题。我添加的文档在保存时不会增加。每次都显示00001..我试图找到wat是错误的..你能帮忙吗?我现在在保存第二个文档时,同一个脚本出现了类型不匹配错误:(你应该打开一个新问题。
    Dim w As New notesuiworkspace
    Dim uidoc As notesuidocument
    Dim SESS    As New NotesSession
    Dim RefView As NotesView
    Dim DB As NotesDatabase
    Dim RefDoc  As NotesDocument
    Set DB   =  SESS.CurrentDatabase
    
    Set RefView = DB.GetView("System\AutoNo")
    Set uidoc=w.CurrentDocument
    
    Dim approvedcnt As Integer
    approvedcnt = Cint(source.fieldgettext("appcnt"))
    
    If uidoc.EditMode = True Then
    
        Financial_Year =  Clng(Right$(Cstr(Year(Now)),3)) + 104
        If Month(Now) >= 4 Then Financial_Year = Financial_Year + 1
        DocKey     =  Cstr(Financial_Year)& "-"
        New_No      =  0
        Set RefDoc  =  RefView.GetDocumentByKey(DocKey , True)
        If Not(RefDoc Is Nothing) Then New_No = Clng(Right$(RefDoc,5))
        New_No      =  New_No + 1
        autono      =  DocKey & "-" & Right$("00000" & Cstr(New_No) ,5)
        Application ="ST"
        Latest_No = Application + autono
        Call uidoc.FieldSetText("SETTLEMENT_NO",Latest_No)
        Call uidoc.Refresh
        Else
        Exit Sub
    End If
    
    get_ex_rate
    get_cv_local
    
    
    Call uidoc.FieldSetText("Flag1", "A")
    
    If approvedcnt = 12 And uidoc.FieldGetText("STATUS") = "APPROVE" Then
        Call uidoc.fieldsettext("Flag2", "B")
    End If
    
    Dim answer2 As Integer
    
    answer2% = Msgbox("Do you want to save this document?", 1, "Save")
    If answer2 = 1 Then 
        Print "Saving"
    End If  
    If answer2 = 2 Then
        continue=False
        Exit Sub
    End If
    
    uidoc.Refresh
    uidoc.close