我正在編寫一個插件,它在發票的PostCreation上觸發。這個插件創建一個佣金記錄,應該在佣金記錄上設置一個指向新創建的發票的查詢字段。然而,當插件運行時,發票Guid似乎沒有任何價值 - 我認爲一旦它被提交到數據庫,它只會得到一個Guid。Dynamics CRM插件 - 設置相關記錄
有沒有辦法讓我可以得到新發票的Guid,甚至手動設置它,以便我知道插件結束之前會是什麼?
感謝
我正在編寫一個插件,它在發票的PostCreation上觸發。這個插件創建一個佣金記錄,應該在佣金記錄上設置一個指向新創建的發票的查詢字段。然而,當插件運行時,發票Guid似乎沒有任何價值 - 我認爲一旦它被提交到數據庫,它只會得到一個Guid。Dynamics CRM插件 - 設置相關記錄
有沒有辦法讓我可以得到新發票的Guid,甚至手動設置它,以便我知道插件結束之前會是什麼?
感謝
只要你在發票的帖子創建步驟,將GUID應該在那裏。
你在找什麼?您是否嘗試過這樣的:
Guid id = (Guid)context.OutputParameters["id" ];
裏面一個插件就可以訪問到,只有當步驟在異步模式或同步模式後事件註冊的OutputParameters
。
從MSDN - Understand the Data Context Passed to a Plug-In
然而,只有同步後事件和異步註冊 插件具有填充OutputParameters作爲響應,是因爲你註冊的核心平臺操作
的結果 作爲事後步驟,您可以使用Daryl的代碼(正確的財產是id
小寫)
註冊該插件用於賬戶實體,在創建消息時, 和在異步模式。或者,您可以在沙盒中的後期事件中註冊插件 。
在基本插件示例中,由於代碼使用OutputParameters
集合,因此代碼使用OutputParameters
集合,但它沒有解釋爲什麼。
在這個例子中的代碼是:
Guid regardingobjectid = new Guid(context.OutputParameters["id"].ToString());
謝謝你的快速回復,但是這個代碼似乎是給了我一個「鍵不存在」錯誤 – user2463758
ID必須是「ID」。案件事宜!我已經編輯了上面的答案。 http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.messages.createresponse_properties.aspx –