12.11.2015, 22:08 | #13 |
Участник
|
На самом деле сейчас крайне опечален.
Пишу в данный момент работаю с IFD 2015 версия. Пытаюсь воспользоваться Вашей a33ik библиотекой , но не могу вызвать экшен из JS. Request сгенерировал используя SoapLoggerOrganizationService. Вот пример кода X++: <!doctype html> <html ng-app="purchaseApp"> <head> <meta charset="utf-8"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> </head> <body ng-controller="purchaseController"> <div class="page-header"> <h1>Test Action </h1> </div> <div class="panel"> <div class="form-inline"> </div> <div class="form-group"> <div class="col-md-offset-2 col-md-8"> <button class="btn btn-default" id="crmAction">Execute action</button> </div> </div> </div> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.11/angular.min.js"></script> <script src="/WebResources/new_CustomActionExecutor.js"></script> <script> document.getElementById("crmAction").addEventListener("click", executeAction); function executeAction() { debugger; var parameters = "test"; CustomActionExecutor.Execute( { requestXml: getRequestXml(parameters), async: true, successCallback: function(result){ }, errorCallback: function (e) { } }); } function getRequestXml(parameters) { var requestXml = ''; requestXml += "</s:Envelope><s:Envelope xmlns:s='http://schemas.xmlsoap.org/soap/envelope/'>"; requestXml += "<s:Body>"; requestXml += "<Execute xmlns='http://schemas.microsoft.com/xrm/2011/Contracts/Services' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>"; requestXml += "<request xmlns:a='http://schemas.microsoft.com/xrm/2011/Contracts'>"; requestXml += "<a:Parameters xmlns:b='http://schemas.datacontract.org/2004/07/System.Collections.Generic'>"; requestXml += "<a:KeyValuePairOfstringanyType>"; requestXml += "<b:key>JsonParameters</b:key>"; requestXml += "<b:value i:type='c:string' xmlns:c='http://www.w3.org/2001/XMLSchema'>" + parameters + "</b:value>"; requestXml += "</a:KeyValuePairOfstringanyType>"; requestXml += "</a:Parameters>"; requestXml += "<a:RequestId i:nil='true' />"; requestXml += "<a:RequestName>new_GetJsonDataToReport</a:RequestName>"; requestXml += "</request>"; requestXml += "</Execute>"; requestXml += "</s:Body>"; requestXml += "</s:Envelope>"; return requestXml; } </script> </body> </html> Если вызывать из console app, то все норм X++: OrganizationRequest r = new OrganizationRequest("new_GetJsonDataToReport"); r["JsonParameters"] = JsonHelper.JsonSerializer<JsonReportDate>(PrepareJsonData()); OrganizationResponse response = service.Execute(request); Последний раз редактировалось Ion; 12.11.2015 в 22:11. |
|
|
|