如何在网络浏览器中使用 lotusscript 按钮?

How to use lotusscript button in web browser?

我的莲花笔记中有一个保存按钮。我的保存按钮将在 lotusscript 中执行一些过程。我将说明与我的保存过程相关的文件。

现在我在主视图中有一个状态为“活动”的文档,我将其称为“当前”文档。

  1. 首先,我为状态为“草稿”的所有当前文档创建副本,并将其称为“副本”文档。
  2. 其次,我为所有状态为“未完成”的副本文档创建“检查”文档,并使用“计算用于显示”的副本文档中的所有数据。所以我的“副本”用于所有编辑,而“检查”仅是文档报告。这意味着,在复制文档中所做的更改,单击保存时,报告也会更新为最新信息。

因此该过程将开始编辑复制文档并保存。复制文档状态将从“草稿”变为“有效”,当前文档将从“有效”变为“无效”。也就是说,复制文档将是新的当前文档。然后,检查报告状态将更改为“完成”。

下面是我的lotusscript按钮代码:

Set db = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document

'//Set lookup view for current document
keys(0) = doc.PTagNo(0)
keys(1) = "Lock"
Set view = db.GetView("TagNo")

'//Set lookup view for "Inspection" document
pckeys(0) = doc.PTagNo(0)
pckeys(1) = doc.PBatchNo(0)
pckeys(2) = "Incomplete"
Set pcview = db.GetView("BatchPCInspection")
    
answer% = Messagebox("Save PC Inspection?", 4,"Confirmation")
If Not answer% = 6 Then
    Exit Sub
Else
    '//Make changes for "Inspection" document
    Set comdoc = pcview.GetDocumentByKey(pckeys, True)
    If Not comdoc Is Nothing Then
        If comdoc.AStatus(0) = "Incomplete" Then            
            comdoc.DocId=doc.UniversalID
            comdoc.ATagNo = doc.PTagNo
            comdoc.ADept= doc.PDept
            comdoc.AUserName= doc.PUserName
            comdoc.AStatus="Complete"
            Call comdoc.Save(True, False)
        End If
    End If
    
    '//Make changes for current document become Inactive
    Set activeDoc = view.GetDocumentByKey(keys, True)       
    If Not activeDoc Is Nothing Then
        If activeDoc.PStatus(0) = "Lock" Then
            activeDoc.DocumetId = doc.UniversalID           
            activeDoc.PStatus = "Inactive"
            Call activeDoc.Save(True, False)
        End If
    End If
    
    '//Make changes for "Copy" document become Active
    Call uidoc.FieldSetText("PStatus" , "Active")
    Call uidoc.FieldSetText("SaveOptions" , "1")
    Call uidoc.Save
    Call uidoc.Close
End If  
End Sub

所以我现在的问题是,如何将此 lotusscript 代码转换为 javascript 代码?因为 lotusscript 不会在网络浏览器中 运行,所以我肯定需要将其转换为 javascript。任何人都知道有关如何将此 lotusscript 按钮转换为 javascript 按钮的任何文档或方法。任何帮助将不胜感激!

简单的回答:没有简单的方法将您的 LotusScript 转换为 JavaScript 代码,因为 JavaScript 中没有 LotusScript- 类。

您可以在使用 XPage 时 "mimic" 代码,但是您的完整代码需要基于 XPage 而不是 "classic web development"。

如果您想继续使用 "classic" 网络开发(表单、视图等)而不是 XPage,那么您需要将前端和后端代码分开,并将后端代码放在一个代理中通过前端调用。

所以你需要彻底重构你的代码,重写大部分代码,去掉"frontend- interaction"用JavaScript做的......

您需要前端和后端之间的接口(您可以使用 WebQueryOpen 和 WebQuerySave- 代理,但这可能还不够),很可能需要 Ajax- 调用并且需要知道如何 return JSON 或 HTML 与代理。

再说一次:这个问题在 Whosebug 无法回答,因为它需要很多专业知识,能够回答这个问题的人可能是一位顾问,他宁愿向您出售解决方案也不愿免费赠送。