【问题标题】:How to use lotusscript button in web browser? [closed]如何在网络浏览器中使用 lotusscript 按钮? [关闭]
【发布时间】:2019-08-02 08:06:33
【问题描述】:

我的 Lotus Notes 中有一个保存按钮。我的保存按钮将在 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 按钮的任何文档或方法。任何帮助将不胜感激!

【问题讨论】:

    标签: javascript lotus-notes lotusscript


    【解决方案1】:

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

    您可以在使用 XPage 时“模仿”代码,但是您的完整代码需要基于 XPage 而不再是“经典的 Web 开发”。

    如果您想继续使用“经典”Web 开发(表单、视图等)而不是 XPage,那么您需要将前端和后端中的代码分开,并将后端代码放在通过前端调用的代理中.

    所以你需要完全重构你的代码,重写大部分代码,并去掉用 JavaScript 进行的“前端交互”......

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

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

    【讨论】:

    • 好的,我明白了。我一直在使用经典的 Web 开发,因为我只是更新旧系统并且使用 XPages 进行创建的时间有限。如果我有更多时间,我会改用 XPages。但在此之后我会尝试探索 XPages。顺便说一句,感谢您的诚实回答。祝你有美好的一天。 :)
    猜你喜欢
    • 2012-10-30
    • 1970-01-01
    • 2019-10-02
    • 1970-01-01
    • 2015-01-07
    • 2013-06-24
    • 1970-01-01
    • 1970-01-01
    • 2011-05-22
    相关资源
    最近更新 更多