簡體   English   中英

檢查參數是否已在USD數據參數中創建

[英]Check if the Parameter has been created inside USD Data Parameters

我試圖建立一個邏輯,在其中使用uii action CreateEntity運行一個動作調用。 該操作調用在CRM自定義實體中創建一條記錄。 現在,該動作調用被多次觸發,這是因為該動作調用已附加在被多次觸發的BrowserDocumentComplete事件中。

現在,由於該操作調用被多次觸發,因此在CRM內創建了多個記錄。 我想讓它在創建第一條記錄后停止,然后發生的情況是,如果創建第一條記錄,則在USD DataParameters內​​部創建一個參數。

因此,我希望最好通過Scriptlet進行檢查,如果該參數讓其命名為RecordCreated ,則已在USD內創建了該參數,則使操作調用停止。

if (RecordCreated Exists) then stop else run

理想情況下,不會以美元多次觸發BrowserDocumentComplete事件。 是PageLoadComplete事件通常被觸發兩次。 在考慮其他解決方案之前,您需要檢查一下。

關於您的問題,如果瀏覽器文檔的完整性無法按照您的情況運行,則另一個選擇是在第二次運行操作調用之前檢查是否已創建記錄。 為此,您可以做的是,每執行一次操作調用,您都會在USD數據參數中獲得一個對象$ Result。 查找對象並獲取要創建的CRM記錄的向導。 您應該可以訪問類似這樣的內容,

$Result.<<Name of your action call goes here>>

在您的同一操作調用中,檢查以上代碼的輸出是否正確,並查看GUID是否為空。 如果其不為空,則意味着您的操作調用先前已執行,否則執行該操作調用以創建記錄。

希望能有所幫助。

我相信,每次頁面或iframe加載完成時都會觸發BrowserDocumentComplete。 而是使用通常僅觸發一次的事件,例如DataReady或PageReady。 假設您的美元版本中提供了DataReady和PageReady。

在重新加載/刷新方案期間,DataReady和PageReady仍然可以多次觸發,因此您仍然可能遇到相同的問題。 為了減輕這種情況,請檢查是否存在創建記錄時創建的數據參數。 在條件檢查中,使用'+'修飾符,允許將替換參數替換為不存在的空字符串。 如果您的操作調用被命名為“創建自定義實體記錄”,那么您的條件表達式可能看起來像這樣:

[[$Result.Create Custom Entity Record]+]===""

現在,即使多次嘗試執行操作調用,也應僅觸發一次並防止其隨后觸發。 后續嘗試在Debugger中應顯示為黃色,指示“ ConditionFailed”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM