Функция Dynamics crm retrieveEntityReq (Javascript) в C# [OnPrem CRM]

У меня есть запрос. В Javascript у меня есть код, как показано ниже, т.е. я использую retrieveEntityReq для получения данных для "Выполнения отчета" с использованием запроса POST. Я хочу добиться того же с C#, если я правильно гуглил, думаю, у нас есть в C# функция "RetrieveEntityRequest". Эта функция помогает нам получать метаданные из системы. Но возможно ли достичь чего-то вроде выполнения отчета и получения ответа из отчета?

Дополнительный комментарий: какова моя конечная цель здесь: код, упомянутый выше, состоит в том, чтобы отобразить отчет и затем получить данные отчета в base64 String. Как только у меня есть это в bas64, приложите это как pdf в Электронной почте. Все это уже достигнуто в JavaScript (строка base64) и плагине для создания писем и прикрепления pdf. Теперь я хочу достичь base64 строки отчета SSRS в C#.

Еще немного поиска в Google дало мне представление о HttpWebRequest, который помогает достичь аналогичного запроса, например, GET/POST и так далее. Я попытался с его помощью, я получаю статус как ОК, но контент не доступен. Может быть, это поможет уточнить мой вопрос больше.

var retrieveEntityReq = new XMLHttpRequest();

retrieveEntityReq.open("POST", pth, false);

retrieveEntityReq.setRequestHeader("Accept", "*/*");

retrieveEntityReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

//This statement runs the query and executes the report synchronously.

retrieveEntityReq.send(query);

//These variables captures the response and returns the response in an array.

var x = retrieveEntityReq.responseText.lastIndexOf("ReportSession=");

var y = retrieveEntityReq.responseText.lastIndexOf("ControlID=");

Обновление: я не смог добиться отчета об отображении так же, как при использовании Javascript. Используется другой подход: публикация отчета на сервере, а затем его рендеринг с использованием кода C#.

Ссылочная ссылка: https://www.codeproject.com/Articles/675762/Call-SSRS-Reports-by-using-Csharp

1 ответ

Пара уточнений: SDK выставлен RetrieveEntityRequest сообщение для запроса метаданных о сущности. В то время как retrieveEntityReq в вашем примере кода это просто переменная для выполнения запроса AJAX, используя XMLHttpRequest, Это выполняет / запускает отчет SSRS и получает ответ как сеанс и т. Д.

Если вы действительно хотите запрашивать данные, аналогичные отчету SSRS на стороне сервера, используя C#, у нас есть концепция FetchExpression для запуска запроса fetchxml (аналогично запросу отчета SSRS) и получения ответа.

Другие вопросы по тегам