我有一个绑定到视图数据源的重复控件。
在每一行中,我都有一个链接,当按下该链接时,我想用一些字段值更改标记该后端文档,然后保存这些更改。如果保存发生错误,我想告诉用户我希望重复存在的面板刷新。
如何获取与行关联的文档并测试保存是否有效?
答案 0 :(得分:0)
几乎没有,但后端文档没有变化:o(
我在重复控制中的链接代码...
var doc:NotesDocument = data.getDocument();
var dt:NotesDateTime = session.createDateTime("Today");
dt.setNow();
doc.replaceItemValue("RcptDate", dt);
doc.replaceItemValue("RcptBy", sessionScope.get("customerBuyerName"));
doc.replaceItemValue("RcptStatus", "Receipted");
var dsName = "vdsReceipts.DATASOURCE";
var app = facesContext.getApplication();
var ds = app.getVariableResolver().resolveVariable(facesContext, dsName);
var ret = ds.save( facesContext, true );
答案 1 :(得分:0)
尝试调用文档而不是视图数据源:
var doc:NotesDocument = data.getDocument();
var dt:NotesDateTime = session.createDateTime("Today");
dt.setNow();
doc.replaceItemValue("RcptDate", dt);
doc.replaceItemValue("RcptBy", sessionScope.get("customerBuyerName"));
doc.replaceItemValue("RcptStatus", "Receipted");
doc.save(true, false);
答案 2 :(得分:0)
我很好奇脚本是否正在处理文档。如果在重复控件中没有var =“data”,它永远不会获得doc的句柄。
更大的问题是,你永远不会发出doc.Save,你保存一个不同的对象。因此,将保存添加到脚本的上半部分。
var doc:NotesDocument = data.getDocument();
var dt:NotesDateTime = session.createDateTime("Today");
dt.setNow();
doc.replaceItemValue("RcptDate", dt);
doc.replaceItemValue("RcptBy", sessionScope.get("customerBuyerName"));
doc.replaceItemValue("RcptStatus", "Receipted");
doc.Save();
实际保存后,您可以查看数据源以查看是否已保存。如果它们都在同一个数据库中,我认为这样就太过分了。
希望能做到。