2

関連するエンティティの総数を返すための次のfetchXMLコードがあります。メインエンティティ名はnew_transactionで、関連エンティティ名はnew_transactionproductです。

以下のコードはWebリソースのJavaScriptに配置されていますが、この関数が呼び出されると、成功またはエラーの部分に到達することはなく、単にハングします。

 function countLineItems()
 {
 var ID = Xrm.Page.data.entity.getId();
 var fetchXml = "<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' aggregate='true'>";
 fetchXml += "<entity name='new_transactionproduct'>";
 fetchXml += "<attribute name='new_name' alias='recordcount' aggregate='countcolumn' />";
 fetchXml += "<filter type='and'>";
 fetchXml += "<condition attribute='new_transactionid' operator='eq' value='" + ID + "' />";
 fetchXml += "</filter>";
 fetchXml += "</entity>";
 fetchXml += "</fetch>";
 alert(fetchXml);
 XrmSvcToolkit.fetch({
        fetchXml: fetchXml,
        async: false,
        successCallback: function (result) {
            var countValue =  result.entities[0].recordcount;
 alert(countValue);
    //Xrm.Page.getAttribute(new_totalqty).setValue(countValue);
        },
        errorCallback: function (error) {
            throw error;
        }
 });
 }
4

2 に答える 2

2

文字列に追加する回数を最小限に抑えるために、いつでも以下のようにfetchXMLを設定できます。

string fetchXml = @"<fetch version='1.0' output-format='xml-platform' mapping='logical' distinct='false' aggregate='true'>
                        <entity name='new_transactionproduct'>
                             <attribute name='new_name' alias='recordcount' aggregate='countcolumn' />
                               <filter type='and'>
                                 <condition attribute='new_transactionid' operator='eq' value='" + ID + @"' />
                               </filter>
                        </entity>
                    </fetch>";
于 2013-03-22T10:49:05.267 に答える
1

XrmSvcToolkitは、Webリソースとして追加し、ページで参照する必要がありました。

于 2013-03-21T23:27:28.613 に答える