R7 问题记录

来源:互联网 发布:ubuntu 17最快的源 编辑:程序博客网 时间:2024/04/20 23:59

1. notesItem.Contains(value),当value为全角字符时,检查失败。

可遍历notesItem的值,逐个比较是否等于value。


2. Set notesItem = notesItem.CopyItemToDocument( document, newName$ ),当Item为RichTextItem且内容很多时,拷贝可能失败(提示Item不存在)。

拷贝整个文档,再将不需要的Item移除。


3.由外部系统发送的邮件(例如SQL Server的报表订阅),附件格式有时不能被正常处理,附件的名称和格式后缀可能丢失。

  • 无额外处理的,将地址本中该NotesID的收信格式改为“Keep in senders’ format”即可正常收信。
  • 有额外处理、但不需要附件的,可将原文档拷贝到内存中使用。
  • 有额外处理、且需要附件的,应先把附件拆到本地,再重新添付附件,最后删除本地的附件。(*①)

*①:对SQL Server 2014 报表订阅邮件进行了测试,只要有任何读富文本域的操作,例如 set item = doc.GetFirstItem(“body”),重新保存文档后,附件名称和格式即发生异常。


4. 在代理中使用LotusScript遍历大量文档时,namgr可能因内存不足(out of memory)发生异常,进而导致整个Domino服务崩溃。

  • 方法1:遍历时使用 Delete doc 删除文档的 reference(注意不是删除文档)。
  • 方法2:将遍历放在 sub routine 中,sub routine 退出后,内存即得以释放。

| 参考1 | 参考2 |


5. Round() 和 @Round

'原版函数采用“银行家舍入”,重写如下:Function RoundX(number As Double, places As Integer) As Double      Dim factor As Double      factor = 10 ^ places      RoundX = Sgn(number) * Fix( Abs(number) * factor + 0.5) / factor  End Function

| 来源 | 参考1 | 参考2 |


0 0
原创粉丝点击