|
![]() |
#1 |
Участник
|
Что можете посоветовать?
|
|
![]() |
#2 |
Чайный пьяница
|
Уже ж вроде как отвечал...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#3 |
Участник
|
Вы насчёт этого?
Пишется кастомная aspx страница. Её алгоритм: 1. Создание (именно создание без отсылки) карточки email и получение её идентификатора. 2. Рендеринг отчёта, вкладывание, как атачмента полученного отчёта в email, созданный в п.1. 3. Редирект на страничку созданного в п.1 email. Я не совсем представляю как программно всё это реализовать. То есть я должен создать aspx страничку, на которой бы находилась кнопочка, по нажатию на которую формируется и экспортируется отчёт. Как его и куда вкладывать? Не могли бы Вы поподробнее расписать? |
|
![]() |
#4 |
Участник
|
Делаю сначала просто чтобы при нажатии кнопки формировался отчёт.
Для этого создаю 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(); |
|
![]() |
#5 |
Чайный пьяница
|
Цитата:
Сообщение от 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();
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
![]() |
#6 |
Участник
|
Добавил несколсько строчек:
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 в заказах(как раз откуда мы и запускаем сформировать отчёт) |
|
![]() |
#7 |
Чайный пьяница
|
Цитата:
...page.aspx?AccountName=ФУА Северодвинска В странице получить этот параметр можно через Request.QueryString["AccountName"].
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|