我正在进行数据迁移任务,我必须将一个稍大的Lotus Notes应用程序导出到博客平台.我的第一个任务是将Lotus Notes中的文章导出为CSV文件.
我在LotusScript中创建了一个代理,将数据导出为CSV文件.我使用此IBM DeveloperWorks论坛帖子的修改版本.它基本上完成了这项工作.但Rich Text字段的内容将被删除任何格式.这不是我想要的,我希望Rich Text字段呈现为HTML.
GetItemValue方法的文档明确声明文本呈现为纯文本.所以我开始研究能够检索HTML的东西.我在IBM文章如何使用LotusScript访问富文本字段中找到了NotesMIMEEntity类和一些示例代码.
但是,对于上述文章中描述的技术,富文本字段需要具有"将内容存储为HTML和MIME"属性.我的Lotus Notes数据库不是这种情况.我试图在有问题的字段上设置属性,但它没有做到这一点.
是否可以使用NotesMIMEEntity并在添加内容后设置"将内容存储为HTML和MIME"属性,以导出呈现为HTML的字段?
或者我将Notes数据库Rich Text字段导出为HTML的选项有哪些?
额外信息:我使用的是IBM Lotus Domino Designer 8.5版
有没有办法在Domino webservices中允许身份验证?如果是这样,我该怎么做?
我知道使用Lotus Script你可以发出通知(自动发送电子邮件),只有你有一些手动触发的控件(如按钮等等).
我想要的是自动触发通知(没有人为干预).比如说我有一个带有日期字段的莲花文档(值是今天),15天后我希望Lotus应用程序发送文件已经15天的通知.
谢谢你的回复!
我创建了两个代理,一个由Java构成,另一个由Lotusscript构成.java代理程序计划每5分钟运行一次,而lotusscript代理程序计划每15分钟运行一次.因此,有一段时间他们将同时运行.当发生这种情况时,java代理必须暂停/等待,直到lotusscript代理完成.我尝试使用Profile DOcuments和Environment Variables来模拟锁定,但无济于事.有没有办法可以模拟这两种不同代理之间的锁定?请帮忙.非常感谢!
编辑:我忘了说2个代理商驻留在两个不同的数据库中,使事情复杂化:(
我有一个代理,代码如下:
Sub Initialize
MessageBox "AgentStart"
Print "AgentStart"
Dim ws As New NotesUIWorkspace
Dim s As New NotesSession
Dim db As NotesDatabase
Dim vItemsBySupplierSpec As NotesView
Dim Doc As NotesDocument
Dim DocsWithSameSupplierSpec As NotesDocumentCollection
Dim MatchingDoc As NotesDocument
Set Doc = ws.CurrentDocument.Document
If Len(Doc.ItemSupplierSpecification(0)) > 0 Then
' Check that this supplier specification isn't use anywhere else.'
Set db = s.CurrentDatabase
Set vItemsBySupplierSpec = db.GetView("vItemsBySupplierSpec")
Set DocsWithSameSupplierSpec = vItemsBySupplierSpec.GetAllDocumentsByKey(Doc.ItemSupplierSpecification(0), True)
Set MatchingDoc = DocsWithSameSupplierSpec.GetFirstDocument
Dim ItemsString As String
ItemsString = "The …Run Code Online (Sandbox Code Playgroud) 我有这个功能..我想在每次添加mWrkFlwDoc.workFlow(0)之前向mVal添加一个新行
函数 workFlowHistory() workFlowHistory=False
Dim mWrkFlwVw As NotesView
Dim mWrkFlwColl As NotesDocumentCollection
Dim mWrkFlwDoc As NotesDocument
Dim mVal As String
Set mWrkFlwVw = gDB.GetView("lkpWorkFlow")
Set mWrkFlwColl = mWrkFlwVw.GetAllDocumentsByKey(gDoc.empName(0),True)
Set mWrkFlwDoc = mWrkFlwColl.GetFirstDocument
mVal = ""
Do While Not mWrkFlwDoc Is Nothing
If mWrkFlwDoc.documentID(0) = gDoc.documentID(0) Then
***mVal =mVal+ mWrkFlwDoc.workFlow(0)*** ' add new line before adding mWrkFlwDoc.workFlow(0)
End If
Set mWrkFlwDoc = mWrkFlwColl.GetNextDocument(mWrkFlwDoc)
Loop
gDoc.workFlowHistory = mVal
gDoc.save True,True
workFlowHistory=True
Run Code Online (Sandbox Code Playgroud)
结束函数
我读到 AddNewLine 方法,但它在富文本项中插入新行....我如何使用字符串数据类型、文本字段来处理它?
我再次对Domino Designer有疑问.
有一些新闻通讯应该分配给几个联系人.
因此,我构建了一个包含组合框的表单来选择新闻稿.在下面,有一个包含所有可用联系人的嵌入视图.
Combobox:
_______________________
| ComboBox Newsletter ?|
-----------------------
Embedded View:
__________________________________
| Name | Lastname | Company |
-----------------------------------
John Smith ABC
• Anna Tylor XYZ (<- Anna is selected)
Michael Williams ZYX
Button:
________
| Submit |
Run Code Online (Sandbox Code Playgroud)
我们的想法是,选择新闻通讯,选择每个所需的联系人(通过选择保证金),然后点击按钮.应该通过按钮完成的魔术是通过将选定的简报附加到联系表单中的预期多值字段来将所选通讯分配给每个选定联系人.
但是如何找出哪一行被选中Formula,LotusScript或者JavaScript(按此顺序赞成:-P)?
@GetFocusTable 对我没有任何有价值的结果.
谢谢您的帮助!
我需要获取特定角色的所有用户名,以便我能够向拥有该角色访问权限的所有用户发送邮件.我怎么能完成这个任务?
我看到了这个链接,
有没有其他方法可以获得可以在SendTo中使用的所有有效用户名?没有这个问题?虽然我没有尝试过NotesACL.我是Lotus Notes Development的新手.
我有一个代理,它获取模板文档的副本并从文本文件中输入值.
我在以编程方式向字段添加超链接时遇到问题,如果我只是添加文本(例如http://www.google.com),则没有超链接只是纯文本.如果我手动添加文本,通过编辑文档只需添加地址工作正常,可点击.
我已经尝试创建一个富文本对象,然后将其添加到字段,但这也不起作用:(
Set rtItem = New NotesRichTextItem( doc, "link" )
Call rtitem.AddNewLine( 1 )
Call rtItem.AppendText ("http://www.google.com")
doc.AppendItemValue "Details", rtItem
Run Code Online (Sandbox Code Playgroud)
为了清楚起见,我正在寻找一种方法,使用lotusscript将可点击的超链接附加到字段.任何帮助将不胜感激.
编辑:进一步检查,如果我生成一个文本字段中带有链接的文档并保存(使用doc.save编程),它将保存为纯文本,然后我进入本文档并执行手动保存纯文本变成一个链接就好了.我如何储蓄可能有问题吗?
If (Not doc.save(True,False,True)) Then
Msgbox("Document could not save")
End If
Run Code Online (Sandbox Code Playgroud) 我有一个使用默认Lotus Notes http登录的Lotus Notes应用程序.
在我们的开发人员服务器上,Notes有一个html表单,用于将登录请求发送到names.nsf
<form method="post" action="/names.nsf?Login" name="_DominoForm">
Run Code Online (Sandbox Code Playgroud)
并且同样注销,调用
/names.nsf?LogOut
Run Code Online (Sandbox Code Playgroud)
我们在其他Notes服务器上也发现了这种情况 - 但是,这是默认情况,那么还有什么可以期待的呢?
虽然登录是Notes自动显示的表单,但是注销按钮必须是我们的Web应用程序的一部分(在LotusScript中使用后端),并且我将链接硬编码到names.nsf.
现在,客户似乎使用了大量自定义的设置,其中登录和注销不使用names.nsf.我不知道他们为登录做了什么 - 但是当试图打电话时/names.nsf?LogOut,Access被拒绝了.
有没有什么办法可以通过编程方式找出用于登出用户的操作?如果没有,则必须在我们的后端完成注销(至少iNotes就这样做).如何将注释http注销编程到LotusScript Notes代理中?
lotusscript ×10
lotus-domino ×7
lotus-notes ×7
agents ×2
export ×1
formula ×1
hyperlink ×1
java ×1
lotus ×1
view ×1