2013-03-14 16 views
0

在MS Dynamics CRM 2011中,實體上的某個字段標記爲「業務所需」時,我可以通過webservice SDK創建實體,而無需提供值。我讀過,這是廣爲人知的(出於某種原因可以接受),但我不能在任何MS文檔中看到它。顯然,商業必填字段也將接受通過插件,數據導入和工作流訪問的空值。爲什麼當通過webservices傳遞空值時,標記爲「Business Required」的字段不會引發錯誤?

  • 這是什麼原因?任何對MS文檔的參考將不勝感激。

  • 如果第一個問題的答案是允許靈活性,那麼爲什麼其他約束如業務需求約束不符合「單行文本」的字段長度約束?

回答

4

'requried'字段是一個只適用於客戶端(例如表單上)的概念。在您通過SDK(或插件或工作流)創建實體時,不會調用客戶端腳本,因此不會檢查字段的所需狀態。

所以它不是靈活性,因爲它不可能做到。

其他約束,例如字段長度,作爲在數據庫級執行的概念。因此,這些將通過SDK,插件等被調用。

如果你想強制執行所需的字段,那麼它非常簡單 - 添加一個預創建插件。檢查所需值的值。如果找不到,則拋出異常。

+0

我明白你在說什麼,但我寧願檢查與實體定義相關的值,而不是圍繞需要的硬編碼規則。要做到這一點的唯一方法是查詢元數據,並且插件的速度會很慢。 – 2013-03-14 09:04:25

+0

我同意這是不理想的(並將是一個痛苦的維持) - 我想這就是爲什麼MS不會開箱即用(速度問題) – glosrob 2013-03-14 09:05:41

+0

此外,我聽說,字段長度限制只是部分由數據庫強制執行。我還沒有自行驗證,但我聽說增加所需的字符會強制更改數據庫列類型,但減少它不會。因此,我假設CRM本身必須有一些檢查。 – 2013-03-14 09:07:31

相關問題