我一直在發現自己想要將實際上並不代表物理字段的CRM表單添加到實體上。我想在更新消息發送這些領域,我的插件的利益......Dynamics CRM 2011:添加非實體表單字段
例如,假設有點像外的開箱接觸/地址的功能。主要聯繫人地址在聯繫人表單中顯示爲一組字段。然而,事實上幕後會發生一些魔術,導致爲包含地址細節的聯繫人創建地址記錄。我真的不希望複製這一點,但它是一個公平的例子...
現在,我知道如何編寫一個插件,需要地址字段在創建/更新消息進入,實際上它們寫入入改爲地址對象。這很簡單。看來硬件部分正在令人信服的CRM顯示在窗體上的字段,供用戶輸入地址數據。
我可以看到這樣做的唯一方法是創建在接觸equivilent形式的「假」的領域,使表格編輯器可以讓我將這些字段添加到對話框。然後我必須在插件中過濾這些屬性,所以假字段實際上不會寫入數據庫。
這將工作,但涉及用假列填充數據庫模式,(或者應該)從來沒有任何數據。這使得未來的系統化更容易混淆,因爲在所有GUI中都有一些名爲「不要使用 - 地址1」的誘餌字段。當我需要一個假的查找字段時,問題變得更糟 - 這涉及到創建假關係。
所以:有沒有一種方法來達到同樣的事情,而不在數據庫模式中傾倒垃圾假貨?
有沒有,也許,有一種方法來創建窗體字段的Javascript中的窗體字段的形式,這樣的屬性將被包含在更新消息?
當然,我知道我可以IFrame或Silverlight的東西來迎合這一點,但我寧願使用真正的CRM表單字段,並處理更新/創建消息插件鉤子中的數據。
如果你有假域,你如何處理RetrieveMany消息?我已經看到了在查詢返回後人們填充假字段的例子,但這是非常低效的。執行此操作的唯一有效方法是通過修改查詢以包含祕密鏈接地址字段,但以適用於傳遞給RequestMany的任意查詢的方式執行此操作將會很困難** ...! – Mark
我有插件創建/更新鏈接的實體,然後去並更新其子 - 我沒有RetrieveMultiple上的插件,因爲數據「真的存在」。在您的「聯繫人和地址」示例中,您將擁有地址上的插件,並更新聯繫人上的「虛假字段」。 –
想象一下,我非常肛門,而且我不想將數據複製到假字段中。其實,你不需要想象...... – Mark