2015-04-02 79 views
4

我們有兩種形式的個案實體。默認情況下,表單是高度定製的,並且處理起來相當慢。第二種形式叫做'fastcase',是默認情況下的一種輕量級版本。兩種表格都被相同的用戶使用。 fastcase表單是從SharePoint中的鏈接打開的。我們希望在從CRM內部工作時始終打開默認情況下的表單。總是在個案實體的CRM中打開默認表單

我想知道是否可以強制CRM在CRM內工作時始終打開默認情況下的表單。

我能找到的唯一的東西是this link,但我有一種感覺,導航解決方案也會強制SharePoint默認情況下打開窗體表單。與其他用戶角色和組一起工作也不是那裏所建議的選項。

回答

3

首先:您沒有使用他們應該使用的表單。表格是基於角色的,並且您正嘗試將它們用於其他內容。無論如何,我完全理解你的想法,我一直處於同樣的情況:)

你需要在CRM中做一個小小的魔術來製作一個表格粘性。 CRM將最近使用(MRU)表格存儲在稱爲UserEntityUISettings的特殊實體中。此實體以xml格式爲每個用戶每個實體存儲UI設置。

您需要做的是防止CRM在用戶更改給定實體的表單時更改此實體。基本上你想控制名爲lastviewedformxml的屬性。你可以從這個博客帖子一些啓示:https://community.dynamics.com/crm/b/gonzaloruiz/archive/2014/11/19/avoiding-form-reload-when-switching-crm-forms-based-on-a-field.aspx

快樂編碼...

+0

謝謝你的見解。這個解決方案的確是我們想要這樣做的方式。但是,由於它並沒有得到真正的支持,所以我認爲最好只保留它。 – Dafalgor 2015-05-26 11:09:34

+0

我不會說它不被支持......但它至少是一個灰色區域。感謝你的回答! – Nathan 2017-11-29 08:04:59

1

您可以用這種方式打開CRM形式:

function OpenForm() 
{ 
    var parameters = {}; 
    var id = GetFormId("account", "FormName"); 
    parameters["formid"] = id; 
    Xrm.Utility.openEntityForm("account", null, parameters); 
} 

function GetFormId(formEntity, formName) { 
    var serverUrl = Xrm.Page.context.getServerUrl(); 
    var oDataEndpointUrl = serverUrl + "/XRMServices/2011/OrganizationData.svc/"; 
    oDataEndpointUrl += "SystemFormSet?$top=1&$filter=ObjectTypeCode eq '" + formEntity + "' and Name eq '" + formName + "'"; 
    var service = new window.XMLHttpRequest; 
    var id; 
    if (service != null) { 
     service.open("GET", oDataEndpointUrl, false); 
     service.setRequestHeader("X-Requested-Width", "XMLHttpRequest"); 
     service.setRequestHeader("Accept", "application/json, text/javascript, */*"); 
     service.send(null); 
     var requestResults = eval('(' + service.responseText + ')').d; 
     if (requestResults != null && requestResults.results.length == 1) { 
      var rec = requestResults.results[0]; 
      id = rec.FormId; 
     } 
    } 
    return id; 
} 

取決於您所呼叫從SharePoint表單的方式你可以調用你需要的表單,並從CRM中以本地方式處理。

+0

在幾年前的一個項目中,我們使用Javascript來嚴格控制表單訪問。我們的架構師不明白爲什麼規範化對於CRM來說是一件好事......所以我們最終得到了一個用戶流,其中每個實體都有三種形式經歷過/ /但是,我們做了類似於此處提出的內容。 – 2015-04-10 22:44:25

相關問題