0

サーバー側から特定のエンティティのフォームに添付されているすべてのjavascriptイベント/ライブラリを取得しようとしています。CRM 2016サーバー側でフォームに添付されたjavascriptイベントの名前を取得する方法

私はちょうど読み込み時やCRMの形でのOnSaveイベントに添付JavaScriptライブラリを知っておく必要がありますクエリ式

QueryExpression q = new QueryExpression("systemform"); 
      q.ColumnSet = new ColumnSet() { AllColumns = true }; 
      q.Criteria.AddCondition(new ConditionExpression("objecttypecode", ConditionOperator.Equal, "account")); 
      EntityCollection ec = serviceProxy.RetrieveMultiple(q); 

を使用して、その特定のエンティティのすべてのフォームを取得することができています。

答えて

2

フォームのformxml属性を照会すると、探しているものが表示されます。例えば、問い合わせフォームにすべての属性、イベント、関数名を取得する:

var attributeEventsDetails = 
       XDocument.Parse(xrmServiceContext.SystemFormSet.FirstOrDefault(form => form.Name == "contact").FormXml) 
        .Descendants("event") 
        .Select(descendants => 
         new 
         { 
          AttributeName = descendants.Attribute("attribute"), 
          EventName = descendants.Attribute("name"), 
          FunctionName = 
           descendants.Descendants() 
            .FirstOrDefault(childDesc => childDesc.Name == "Handler") 
            .Attribute("functionName") 
         }); 
0

systemformオブジェクトにはエンティティフォームが含まれていません。ダッシュボードが含まれています - https://msdn.microsoft.com/en-us/library/gg334669.aspx

フォームを含むエンティティメタデータを取得する必要があります。フォームの説明は、必要なものを含むXmlです。

+0

ありがとう! 特定のjavascriptコードが必要な場合はどうすればよいですか? 私はこのコードをいくつかのUIに表示するか、ファイルに書き込む必要があります。 –

+0

Xmlの中には、使用されるJavaScriptファイルへの参照があります。だからあなたはその参照を使ってそのファイルを得ることができます。 –

関連する問題