小编cja*_*728的帖子

获取NotesXSPDocument中的所有项目

在我的Notes数据库中,我在保存文档时执行审核.在LotusScript中非常简单.我从服务器获取原始文档(oDoc),然后在我修改的文档(mDoc)中,我做了一个Forall循环,它获取每个项目的名称; mDoc.items中的forall项.从oDoc中获取相同的项目,使用新项目作为参数执行一个函数,该函数将运行一个case语句,该语句将查看它是否是我们关心的字段.如果是这样,我用"When","Who","What field"和"New Value"更新文档中的一组列表值.

我在服务器端脚本中这样做.在尝试这个时,我发现了一些有趣的东西;

currentDocument是NotesXSPDocument,包含刚刚更改的所有内容.

currentDocument.getDocument()包含更改前的值.它还返回一个NotesDocument,它包含我可以运行的"items"字段.

事实是,我在NotesXSPDocument中需要类似的东西.在迭代循环中有没有办法从那里获取所有项目的名称和值?

这是破碎的代码.(目前它正在浏览NotesDocument项目,但这些是旧的值.我宁愿走下XSP文档项目)

function FInvoice_beginAudit() {
  var original_doc:NotesDocument = currentDocument.getDocument();
  var oItem:NotesItem;

  var oItems:java.util.Vector = original_doc.getItems();
  var iterator = oItems.iterator();
  while (iterator.hasNext()) {
    var oItem:NotesItem = iterator.next();
    item = currentDocument.getItemValue(oItem.getName());
    if (oItem == undefined) {
      var MasterItem =  ScreenAudit(doc,item,True)
      if (MasterItem) { return true }
      } else {
      if (item.getValueString() != oItem.getValueString()) {
        var MasterItem =  ScreenAudit(doc,Item,True);
          if (MasterItem) { return true }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript xpages xpages-ssjs

4
推荐指数
1
解决办法
1046
查看次数

标签 统计

javascript ×1

xpages ×1

xpages-ssjs ×1