Lotus Notes公式:按钮错误消息

时间:2014-07-16 11:55:08

标签: lotus-notes lotus-domino lotusscript lotus

使用按钮时出现此错误消息时出现问题:"运算符或@Function的数据类型不正确:预期数字"

一切正常 - 当需要检查"需要检查时,它会弹出错误消息。被选中

代码:

  

@Command([EditDocument];" 1"); FIELD STAT:= @Prompt([OkCancelList];"选择和操作";"检查状态?&#34 ;;" STAT&#34 ;;"需要检查&# 34;:"需要修改":"已检查");   @If(STAT =" Needs Checking&#34 ;; @ SetField(" USER&#34 ;; @ Name([CN]; @ UserName))& @SetField(" REF&#34 ;; @ Unique)& @Command([FileSave])& @Command([EditDocument];" 0")& @Command([Folder];" Checking&#34 ;; " 1")& @Command([CloseWindow]); @Command([FileSave])&   @Command([EditDocument];" 0")& @Command([Folder];"";" 1")& @Command([CloseWindow]))

谢谢:)

1 个答案:

答案 0 :(得分:3)

&是逻辑运算符,不用于连接命令。那样你就可以做像

这样的事情
ResultOfCommand1 & ResultOfCommand2 & ResultOfCommand3

这是一个比较并返回true或false。如果其中一个结果不是数字,那么就会出现错误。

使用" @ Do"在if:

中连接多个命令
@Command( [EditDocument]; "1" ); 
FIELD STAT := @Prompt([OkCancelList]; "Select and Action"; "Checking Status?"; 
  "STAT"; "Needs Checking" : "Needs Amending" : "Checked" ); 
@If( STAT="Needs Checking";
    @Do( @SetField("USER";@Name([CN];@UserName));
      @SetField("REF";@Unique);
      @Command([FileSave]);
      @Command( [EditDocument]; "0" );
      @Command([Folder];"Checking";"1");
      @Command([CloseWindow]) ); 
    @Do( @Command([FileSave]);
      @Command( [EditDocument] ; "0" );
      @Command([Folder];"";"1");
      @Command([CloseWindow])) )

但这仍然是#34;糟糕的代码"因为它包含许多重复的代码。我会这样做(仍然不是最好的代码,但更好):

@Command( [EditDocument]; "1" );
FIELD STAT := @Prompt([OkCancelList]; "Select and Action"; "Checking Status?"; 
  "STAT"; "Needs Checking" : "Needs Amending" : "Checked" ); 
@If( STAT = "Needs Checking"; 
    @Do( @SetField("USER";@Name([CN];@UserName));
      @SetField("REF";@Unique);
      @Set( _folderName; "Checking" )
    ); "" );
@If( @Command( [FileSave] ); "" ; @Return( "" ) );
@Command([Folder];_folderName;"1");
FIELD SaveOptions := "0";
@Command([CloseWindow]);

例如:我检查文档是否可以保存(字段验证,继续= QuerySave中的Fals ...如果不是:停止处理。

然后我把这些东西放在@If中,这两种情况都不同。

将EditMode设置为" 0"没有必要,因为你之后立即关闭文件。禁止"您是否要保存更改"我将SaveOptions设置为" 0" (这不会保存在文档中)。 foldername是一个变量,因此@Command([Folder]; ...)可以使用它。

相关问题