Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
If statement 如果是,则为新文档编码_If Statement_Xpages - Fatal编程技术网

If statement 如果是,则为新文档编码

If statement 如果是,则为新文档编码,if-statement,xpages,If Statement,Xpages,我有一个按钮可以保存文档,并为添加到文档中的用户创建响应文档。我有一个@Unique函数为我的表单编号生成一个随机数 我遇到的问题是,当我进入并编辑文档并保存和发送响应文档时,它将其视为不同的文档,因此表单编号也在更改。父文档的表单编号需要保持不变 是否有一种简单的方法来检查是否已经有一个表单编号,如果已经有,则保持不变?如果没有,就给它一个随机数 以下是“我的保存和发送”按钮上的代码: // get handle to names list var item = new Array(docum

我有一个按钮可以保存文档,并为添加到文档中的用户创建响应文档。我有一个@Unique函数为我的表单编号生成一个随机数

我遇到的问题是,当我进入并编辑文档并保存和发送响应文档时,它将其视为不同的文档,因此表单编号也在更改。父文档的表单编号需要保持不变

是否有一种简单的方法来检查是否已经有一个表单编号,如果已经有,则保持不变?如果没有,就给它一个随机数

以下是“我的保存和发送”按钮上的代码:

// get handle to names list
var item = new Array(document1.getItemValue("assignedassociates"));

var attach:String;

// loop through the list to create a review doc for each person listed
for(var i = 0; i <= (@Elements(item)-1); i++){

var newdoc:NotesDocument = database.createDocument()
newdoc.replaceItemValue("Form", "Review");
newdoc.replaceItemValue("datecreated", document1.getItemValueString("datecreated"));
newdoc.replaceItemValue("formnumber", document1.getItemValueString("formnumber"));
newdoc.replaceItemValue("title", document1.getItemValueString("title"));
newdoc.replaceItemValue("department", document1.getItemValueString("department"));
newdoc.replaceItemValue("description", document1.getItemValueString("description"));
newdoc.replaceItemValue("assignedassociates", item[i]);

newdoc.replaceItemValue("Status", "Sent");

// attachment URL
// calculate file path
// check for multiple attachments, create multiple URLs
attach = "http://domtest01.hendricks.org/chad/bloodhound.nsf/0/" + document1.getDocument().getUniversalID() + 
"/$file/" + @AttachmentNames() + "?openElement";

newdoc.replaceItemValue("AttachmentURL", attach);

// set the security fields on the new doc we created
setSecurityFields(newdoc, item[i]);

newdoc.save();

}

// update document history
var cuser:NotesName=session.createName(@UserName());  // gets user name in name field
updateHistoryField(document1.getDocument(),cuser.getCommon(),"EditHistory","form_create");      // call function


// show assigned docs
requestScope.put("showContainer", true);
//获取名称列表的句柄
var item=新数组(document1.getItemValue(“assignedassociates”);
var附加:字符串;
//在列表中循环,为列出的每个人创建一个审阅文档
对于(var i=0;i
日期: ;
表格编号:
标题:  ;;
 
部门:
说明:
附件:
 
联系
审查文件:
  
 
试试这个(包括回收):

让我们知道进展如何

更新

如果表单编号在创建后不应更改,则对行使用此选项

  <xp:tr>
        <xp:td style="font-weight:bold">Form Number:</xp:td>
        <xp:td>

           <xp:inputText
               id="inputText3"
               value="#{document1.formnumber}" disabled="true"
               required="true" rendered="#{javascript:document1.isNewNote()}">
               <xp:this.validators>
                   <xp:validateRequired message="You must enter a Form Number."></xp:validateRequired>
                   <xp:validateLength message="Form Number must be 8 characters in length."></xp:validateLength>
                </xp:this.validators>
                <xp:this.defaultValue><![CDATA[#{javascript:session.evaluate("@Unique")}]]></xp:this.defaultValue>
          </xp:inputText>
          <xp:text escape="true" id="displayText3"
                   value="#{document1.formnumber}"
                   rendered=""#{javascript:!document1.isNewNote()}"></xp:text>
        </xp:td>
    </xp:tr>

另一句话:使用标签作为标签,使用CSS作为格式。粗体标签已经过时了,所以在CSS中有一个单一的定义会使采用更容易。如果你打算让它多语言,你也需要标签(即使在美国也有中文和西班牙文,如果你为7/11工作,也有印地语)

如何设置父文档上的表单编号?您是否在寻找类似的内容?如果(document1.isNewNote()){return@Unique();}是的,但在我上面当前的按钮代码中,是否有一个特定的位置需要插入该代码?为了回答您的第一个问题,我只使用session.evaluate(@Unique))在默认值字段中。尝试将父文档上表单编号字段的默认值中的代码更改为:if(document1.isNewNote()){session.evaluate(@Unique);}谢谢,这会起作用,但是表单编号是在页面加载时生成的,但是只有单击按钮才能生成响应文档。我将尝试另一种方法,看看它是否有效……抱歉,每次编辑主文档时,它仍会生成不同的编号。编辑文档时,正确的表单编号将显示在字段中ument,但当我单击按钮(运行此代码)时它不是拉那个数字,而是创建一个新的数字。你没有提供创建主文档的代码,因此任何人都无法猜测你在那里做了什么。将它添加到你的问题中,我们可以指出那里需要更改的内容。后面没有代码,只是一个标准表单。只有名称、部门、标题和描述的文本字段。我然后使用Dojo名称选择器来选择需要响应文档的用户。我在主文档上的唯一代码是javascript,用于为默认值中的表单编号生成随机数:session.evaluate(@Unique)。向我们展示代码!讨论它
 var item:java.util.Vector = document1.getItemValue("assignedassociates");

 if (!document1.hasItem("formnumber")) {
    document1.replaceItemValue("formnumber",session.evaluate("@Unique"));
 }

 for(var curItem in item) {
    try {
        var newdoc:NotesDocument = database.createDocument();
        newdoc.replaceItemValue("Form", "Review");
        newdoc.replaceItemValue("datecreated", document1.getItemValueString("datecreated"));
        newdoc.replaceItemValue("formnumber", document1.getItemValueString("formnumber"));
        newdoc.replaceItemValue("title", document1.getItemValueString("title"));
        newdoc.replaceItemValue("department", document1.getItemValueString("department"));
        newdoc.replaceItemValue("description", document1.getItemValueString("description"));
        newdoc.replaceItemValue("assignedassociates", curItem);
        newdoc.replaceItemValue("Status", "Sent");

        // attachment URL
        var attach = "http://domtest01.hendricks.org/chad/bloodhound.nsf/0/" + document1.getDocument().getUniversalID() + 
        "/$file/" + @AttachmentNames() + "?openElement";
        newdoc.replaceItemValue("AttachmentURL", attach);

        // set the security fields on the new doc we created
        setSecurityFields(newdoc, curItem);
        newdoc.save();
        // Cleanup!
        newdow.recycle();
    } catch (e) {
       // Some clever error handling here
    }
 }

// update document history
var cuser:NotesName=session.createName(@UserName());  // gets user name in name field
updateHistoryField(document1.getDocument(),cuser.getCommon(),"EditHistory","form_create");


// show assigned docs
requestScope.put("showContainer", true);
  <xp:tr>
        <xp:td style="font-weight:bold">Form Number:</xp:td>
        <xp:td>

           <xp:inputText
               id="inputText3"
               value="#{document1.formnumber}" disabled="true"
               required="true" rendered="#{javascript:document1.isNewNote()}">
               <xp:this.validators>
                   <xp:validateRequired message="You must enter a Form Number."></xp:validateRequired>
                   <xp:validateLength message="Form Number must be 8 characters in length."></xp:validateLength>
                </xp:this.validators>
                <xp:this.defaultValue><![CDATA[#{javascript:session.evaluate("@Unique")}]]></xp:this.defaultValue>
          </xp:inputText>
          <xp:text escape="true" id="displayText3"
                   value="#{document1.formnumber}"
                   rendered=""#{javascript:!document1.isNewNote()}"></xp:text>
        </xp:td>
    </xp:tr>
    <xp:tr>
        <xp:td style="font-weight:bold">Form Number:</xp:td>
        <xp:td>
          <xp:text escape="true" id="displayText3"
                   value="#{document1.formnumber}"></xp:text>
        </xp:td>
    </xp:tr>
   document1.replaceItemValue("formnumber",session.evaluate("@Unique"));