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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 05.08.2009, 13:05   #1  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Что можете посоветовать?
Старый 05.08.2009, 13:18   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Что можете посоветовать?
Уже ж вроде как отвечал...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.08.2009, 13:34   #3  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Вы насчёт этого?
Пишется кастомная aspx страница. Её алгоритм:
1. Создание (именно создание без отсылки) карточки email и получение её идентификатора.
2. Рендеринг отчёта, вкладывание, как атачмента полученного отчёта в email, созданный в п.1.
3. Редирект на страничку созданного в п.1 email.


Я не совсем представляю как программно всё это реализовать. То есть я должен
создать aspx страничку, на которой бы находилась кнопочка, по нажатию на которую формируется и экспортируется отчёт. Как его и куда вкладывать?
Не могли бы Вы поподробнее расписать?
Старый 05.08.2009, 14:20   #4  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Делаю сначала просто чтобы при нажатии кнопки формировался отчёт.
Для этого создаю aspx страницу, которая формирует и экспортирует отчёт в формате excel.
Возникла проблема. В отчёте используется один параметр(выбор заказа из списка). Как сделать проверку параметра для формирования отчёта?

Привожу код, который имеется на данный момент:

ReportExecutionService rs = new ReportExecutionService();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

byte[] result = null;
string reportPath = "/Новая папка/Заказы и коммерческие предложения";
string format = "excel";
string historyID = null;
string encoding;
string mimeType;
string extension;
Warning[] warnings = null;
string[] streamIDs = null;

ExecutionInfo execInfo = new ExecutionInfo();
ExecutionHeader execHeader = new ExecutionHeader();
rs.ExecutionHeaderValue = execHeader;
execInfo = rs.LoadReport(reportPath, historyID);

string SessionID = rs.ExecutionHeaderValue.ExecutionID;
result = rs.Render(format, null, out extension, out encoding, out mimeType, out warnings, out streamIDs);
Response.ClearContent();
Response.AppendHeader("content-length", result.Length.ToString());
Response.ContentType = "application/excel";
Response.BinaryWrite(result);
Response.Flush();
Response.Close();
Старый 05.08.2009, 14:45   #5  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Делаю сначала просто чтобы при нажатии кнопки формировался отчёт.
Для этого создаю aspx страницу, которая формирует и экспортирует отчёт в формате excel.
Возникла проблема. В отчёте используется один параметр(выбор заказа из списка). Как сделать проверку параметра для формирования отчёта?

Привожу код, который имеется на данный момент:

ReportExecutionService rs = new ReportExecutionService();
rs.Credentials = System.Net.CredentialCache.DefaultCredentials;

byte[] result = null;
string reportPath = "/Новая папка/Заказы и коммерческие предложения";
string format = "excel";
string historyID = null;
string encoding;
string mimeType;
string extension;
Warning[] warnings = null;
string[] streamIDs = null;

ExecutionInfo execInfo = new ExecutionInfo();
ExecutionHeader execHeader = new ExecutionHeader();
rs.ExecutionHeaderValue = execHeader;
execInfo = rs.LoadReport(reportPath, historyID);

string SessionID = rs.ExecutionHeaderValue.ExecutionID;
result = rs.Render(format, null, out extension, out encoding, out mimeType, out warnings, out streamIDs);
Response.ClearContent();
Response.AppendHeader("content-length", result.Length.ToString());
Response.ContentType = "application/excel";
Response.BinaryWrite(result);
Response.Flush();
Response.Close();
Есть параметр в методе Render, который Вы передаёте пустым - Parameters. Для передачи параметров его используйте. Уже возился - обнаружил интересную особенность. При передаче уникальных идентификаторов - обязательно используйте метод ToLower чтобы все буквенные значения уникального идентификатора привести к нижнему реестру, иначе генерируется исключение о неправильно значении параметра.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.08.2009, 15:18   #6  
moskalevas is offline
moskalevas
Участник
 
107 / 11 (1) +
Регистрация: 16.07.2009
Добавил несколсько строчек:

byte[] result = null;
string reportPath = "/Новая папка/Заказы и коммерческие предложения";
string format = "excel";
string historyID = null;
ParameterValue[] parameters = new ParameterValue[1];
parameters[0] = new ParameterValue();
parameters[0].Name = "Param2";
parameters[0].Value = "ФУА Северодвинска";

string encoding;
string mimeType;
string extension;
Warning[] warnings = null;
string[] streamIDs = null;
ExecutionInfo execInfo = new ExecutionInfo();
ExecutionHeader execHeader = new ExecutionHeader();

rs.ExecutionHeaderValue = execHeader;
execInfo = rs.LoadReport(reportPath, historyID);
rs.SetExecutionParameters(parameters, "en-us");

string SessionID = rs.ExecutionHeaderValue.ExecutionID;

result = rs.Render(format, null, out extension, out encoding, out mimeType, out warnings, out streamIDs);


Теперь формируется отчёт с заданным параметром ФУА Северодвинска.
Как сделать, чтобы можно было выбирать параметры из имеющихся в самом отчёте в Reporting Services?Точнее не выбирать, а брать из поля name в заказах(как раз откуда мы и запускаем сформировать отчёт)
Старый 05.08.2009, 15:25   #7  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от moskalevas Посмотреть сообщение
Как сделать, чтобы можно было выбирать параметры из имеющихся в самом отчёте в Reporting Services?Точнее не выбирать, а брать из поля name в заказах(как раз откуда мы и запускаем сформировать отчёт)
При формировании строки - передавайте через параметр, чтобы в странице получить это значение чтото вроде:

...page.aspx?AccountName=ФУА Северодвинска

В странице получить этот параметр можно через Request.QueryString["AccountName"].
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Теги
c#, isv, webservice, reporting services, report

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Электронная почта в через бизнес-процесс deniska Dynamics CRM: Функционал 2 02.04.2009 12:32
Быстрые кампании и электронная почта Dissident Dynamics CRM: Функционал 16 30.10.2008 14:26
Проблемы с ф-ей "Слияние" Dissident Dynamics CRM: Администрирование 2 28.02.2008 11:12
Письма в "Списки ожидания" - "Мои задачи" ДмитрийCол Dynamics CRM: Функционал 0 10.01.2007 09:46
Не отображаються закладки "Продажа" и "Маркетинг" pkost Dynamics CRM: Администрирование 1 31.10.2006 20:30

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 10:48.