簡體   English   中英

Dynamics CRM 2011:添加非實體表單字段

[英]Dynamics CRM 2011: Adding non-entity form fields

我一直在發現自己想要將字段添加到實際上並不代表實體上的物理字段的CRM表單。 我希望在更新消息中發送這些字段,以利於我的插件...

例如,想象一下開箱即用的聯系人/地址功能。 主要聯系地址在“聯系人”表單中顯示為一組字段。 然而,事實上,在幕后有一些神奇的事情會導致為包含地址詳細信息的聯系人創建地址記錄。 我實際上並不想重現這一點,但這是一個公平的例子......

現在,我知道如何編寫一個插件,該插件接受在Create / Update消息中輸入的地址字段,並實際將它們寫入Address對象。 這很簡單。 似乎難以說服CRM在表單上顯示字段以供用戶輸入地址數據。

我能看到的唯一方法是在Contact-equivilent表單中創建“假”字段,以便表單編輯器允許我將字段添加到對話框中。 然后我必須在插件中過濾掉這些屬性,因此偽字段實際上不會寫入數據庫。

這可以工作,但涉及用假列填充數據庫模式,這些列將(或應該 )永遠不會有任何數據。 這使得系統的未來結合更加混亂,因為在所有GUI中存在稱為“不使用 - 地址1”的誘餌字段。 當我需要一個假的Lookup字段時問題變得更糟 - 這涉及創建一個假的關系。

那么:有沒有辦法在不丟棄數據庫模式中的假垃圾的情況下實現同樣的目的?

或許,某種方法可以在表單上的Javascript中為任意屬性創建表單字段,以便屬性將包含在更新消息中?

當然,我意識到我可以使用IFrame或Silverlight來滿足這一要求,但我寧願使用真正的CRM表單字段,並處理更新/創建消息插件鈎子中的數據。

不幸的是,您已經提到了我能想到的兩個選項:假字段或自定義IFrame。

我知道這感覺“很臟”,但實際上我做假場的事情並沒有太多麻煩。 標准化的命名約定是你的朋友。 我更喜歡偽領域而不是IFrame,因為用戶仍然可以在高級查找,報告,視圖等中查詢和過濾它們。

只要確保它們是只讀的,並確保你的插件不會吞下異常 - 你想要例外來冒泡並取消交易,而不是主要記錄在沒有孩子的情況下更新的可能性。

暫無
暫無

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

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