我的 Lotus Notes 中有一个保存按钮。我的保存按钮将在 lotusscript 中执行一些过程。我将解释与我的保存过程相关的文件。
现在我有一个来自主视图的文档,状态为“活动”,我称它为“当前”文档。
因此该过程将开始编辑副本文档并保存它。复印文件状态将从“草稿”变为“活动”,当前文件将从“活动”变为“非活动”。这意味着,复制文档将是新的当前文档。然后,检查报告状态将更改为“完成”。
下面是我的 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 时“模仿”代码,但是您的完整代码需要基于 XPage 而不再是“经典的 Web 开发”。
如果您想继续使用“经典”Web 开发(表单、视图等)而不是 XPage,那么您需要将前端和后端的代码分开,并将后端代码放在通过前端调用的代理中。
所以你需要完全重构你的代码,重写大部分代码并去掉用 JavaScript 进行的“前端交互”......
您需要前端和后端之间的接口(您可以使用 WebQueryOpen 和 WebQuerySave-Agents,但这可能还不够),很可能需要 Ajax-Calls 并且需要知道如何使用代理返回 JSON 或 HTML。
再说一遍:这个问题在 stackoverflow 上无法回答,因为它需要很多专业知识,而能够回答这个问题的人可能是一名顾问,他宁愿向您出售解决方案,也不愿免费赠送。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句