2013-02-14 28 views
1

我已定義的動作與以下兩個命令:Lotus Notes @formula語言:操作順序錯誤?

@Prompt([...]; "1"); 
@Command([ToolsRunMacro];"(AGENT)"); 
@Prompt([...]; "2"); 
@If(@GetProfileField("PrivateProfile";"LENGTH";@UserName))>0;@PostedCommand([Compose];"FORM");""); 
@Prompt([...]; "3"); 

但隨着@Prompt命令我發現,即首先每個@Prompt消息(1-3)的顯示和該運行AGENT。但是,由於AGENT操縱LENGTH字段,因此@IF語句會比較「過時」值。

也許每個語句一次執行?如果是的話:我如何防止代理人出現這種行爲?

我將不勝感激任何幫助!

回答

4

所有@Functions首先執行後,[ToolsRunMacro]命令將始終運行。沒有辦法改變這一點。

您可以在信息中心文檔中獲得將在最後執行的其他函數後立即執行哪些命令的列表。

http://publib.boulder.ibm.com/infocenter/domhelp/v8r0/topic/com.ibm.designer.domino.main.doc/H_COMMAND.html

另外一個需要注意您的代碼是檔案文件緩存。因此,您可能不會立即看到對文檔所做的任何更改。

+1

感謝您的快速響應。 您有任何提示如何讓代理在'@ IF'語句之前運行嗎? – Markus 2013-02-14 15:31:22

+2

自己找到了。只需要用'RunAgent'替換'ToolsRunMacro'。 謝謝你的幫助! – Markus 2013-02-14 15:38:35