AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.03.2020, 16:15   #1  
Ion is offline
Ion
Участник
 
332 / 16 (1) ++
Регистрация: 19.12.2012
Generate CRM Reports
Привет.

В данный момент пытаюсь сгенерировать репорт в консольном приложении. Для этого предварительно уже зарегистрировал приложение в Ажуре, успешно получаю токен и могу с ним кверить сущности через постман.

Теперь проблема с этим токен достучатся до СРМ

Насколько концептуально понимаю - надо делать два запроса
  • Один на "/CRMReports/rsviewer/reportviewer.aspx"
  • Второй на "/Reserved.ReportViewerWebControl.axd";



X++:
        private Tuple<string, string> GetReportSession(Entity report, string parameters)
        {
            var name = report.GetAttributeValue<string>("reportnameonsrs");
            var isCustom = name == null;

            var url = "/CRMReports/rsviewer/reportviewer.aspx";
            var data = new Dictionary<string, dynamic>()
            {
                ["id"] = report.Id.ToString("B"),
                ["uniquename"] = "org15604879",
                ["reporttypecode"] = "1",
                ["reportName"] = "Quote Bundle Details",
                ["isScheduledReport"] = "false",
                ["CRM_FilterText"] = "Quotes",
                ["iscustomreport"] = isCustom.ToString().ToLower(),
                ["reportnameonsrs"] = name,
                ["CRM_Filter"] = "<ReportFilter><ReportEntity+paramname='CRM_quote'+displayname='Quotes'+donotconvert='1'><fetch+version='1.0'+output-format='xml-platform'+mapping='logical'+distinct='false'><entity+name='quote'><all-attributes/><filter+type='and'><condition+attribute='quoteid'+operator='eq'+uiname='#+mm+test+1000'+uitype='quote'+value='c63b402d-ef0a-ea11-a811-002248078004'/></filter></entity></fetch></ReportEntity></ReportFilter>"
            };

            var response = Encoding.UTF8.GetString(GetResponse(GetRequest("POST", url, UrlEncode(data))));
            var sessionId = response.Substring(response.LastIndexOf("ReportSession=") + 14, 24);
            var controlId = response.Substring(response.LastIndexOf("ControlID=") + 10, 32);

            return new Tuple<string, string>(sessionId, controlId);
        }

X++:
        public byte[] RenderReport(Entity report, string format, string parameters)
        {
            var session = GetReportSession(report, parameters);

            var url = "/Reserved.ReportViewerWebControl.axd";
            var lcid = report.GetAttributeValue<int>("languagecode");
            format = format.ToUpper();
            if (format == "WORD" || format == "EXCEL")
            {
                format = format + "OPENXML";
            }
            var data = new Dictionary<string, dynamic>()
            {
                ["OpType"] = "Export",
                ["Format"] = format,
                ["ContentDisposition"] = "AlwaysAttachment",
                ["FileName"] = string.Empty,
                ["Culture"] = lcid.ToString(),
                ["CultureOverrides"] = "False",
                ["UICulture"] = lcid.ToString(),
                ["UICultureOverrides"] = "False",
                ["ReportSession"] = session.Item1,
                ["ControlID"] = session.Item2
            };

            return GetResponse(GetRequest("GET", $"{url}?{UrlEncode(data)}"));
        }
Проблема в том, что когда делаю первый запрос на /CRMReports/rsviewer/reportviewer.aspx в респонсе вижу вообще непонятную ошибку

Последний раз редактировалось Ion; 26.03.2020 в 16:21.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 15 Blog bot Dynamics CRM: Blogs 1 10.02.2016 10:26
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 17 Blog bot Dynamics CRM: Blogs 0 10.05.2014 06:30
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2013 Update Rollup 2 Blog bot Dynamics CRM: Blogs 0 15.04.2014 01:15
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 16 Blog bot Dynamics CRM: Blogs 0 23.01.2014 03:15
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 10 Blog bot Dynamics CRM: Blogs 0 17.08.2012 03:27

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:43.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.