Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / reporting services + C#, как проверять, отчет не имеет данных? / 8 сообщений из 8, страница 1 из 1
03.06.2012, 12:31
    #37823096
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reporting services + C#, как проверять, отчет не имеет данных?
Есть код, который программно заберет отчеты с Reporting Services и создает pdf. Бывают случаи когда данных для отчета нет и на выходи получаться пустой pdf с заголовком в верхнем колонтитуле. Есть какая-нибудь возможность избавиться от таких пустых отчетов??? Надеюсь вопрос задал в правильном разделе.
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
private static byte[] RenderReport(ReportExecutionService rs, string format, string mimeType, string reportPath, WebRefReportExecutionService2005.ParameterValue[] parameters)
{
    rs.Credentials = System.Net.CredentialCache.DefaultCredentials;
    string historyID = null;
    string deviceInfo = String.Empty;
    string extension = String.Empty;
    string encoding = String.Empty;
    WebRefReportExecutionService2005.Warning[] warnings = null;
    string[] streamIDs = null;
    byte[] results = null;
    rs.LoadReport(reportPath, historyID);
    results = rs.Render(format, deviceInfo, out extension, out mimeType, out encoding, out warnings, out streamIDs);
    return results;
}
...
Рейтинг: 0 / 0
04.06.2012, 11:15
    #37823848
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reporting services + C#, как проверять, отчет не имеет данных?
Может, как-нибудь на стороне RS можно сделать условие "если пустой не показывать"???
...
Рейтинг: 0 / 0
04.06.2012, 14:50
    #37824327
tarrus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reporting services + C#, как проверять, отчет не имеет данных?
2king2,

Что есть "пустота" и как сервер должен это определить? На уровне подписок можно использовать "подписки управляемые данными". В вашем случае нужно отдельно проверять пуст ли тот датасет, который вы считаете делает отчет "пустым" или "не пустым".
...
Рейтинг: 0 / 0
05.06.2012, 14:12
    #37825964
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reporting services + C#, как проверять, отчет не имеет данных?
tarrus,

На сервере к которой привязан датасет, в проперсак к таблице в Visibity выставил формулу =CountRows() = 0. Когда данных нет таблица не показывается, а если это не делать появляется таблица пустая с заголовками столбцов.

Т.е. вы имеете в вид, что перед тем как рендырить отчет, нужно подключится к датосету и проверить что он возвращает. Но так наверно не покатит так как датасет один, из него формируется несколько отчетов, отсев данных происходит на уровне таблицы при визуализации отчета. Блин, как же быть???
...
Рейтинг: 0 / 0
05.06.2012, 15:30
    #37826127
tarrus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reporting services + C#, как проверять, отчет не имеет данных?
2king2,

Не понятно, что же вам нужно. Отчет это одно, датасет это второе, таблицы в отчете это третье.

Зачем вы фильтруете на уровен таблицы? Я стараюсь так не делать, если только в рамках отчета мне нужны все данные, а в одной из таблиц только часть.

Зачем брать из СУБД больше данных чем собираетесь использовать?
...
Рейтинг: 0 / 0
05.06.2012, 16:37
    #37826316
2king2
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reporting services + C#, как проверять, отчет не имеет данных?
tarrusНе понятно, что же вам нужно.
На выходе нужны отчеты только те для которых есть информация.
tarrusЗачем вы фильтруете на уровен таблицы? Зачем брать из СУБД больше данных чем собираетесь использовать?
Есть Shared Data Source. Он загружает данные за прошлый день. А затем эти данные раскидываются по отчета, каждый отдельный отчет это отчет по определенной записи с определенным ID. Отдельно для каждого отчета создавать датасет не ась, если притереться вносить в код запроса изменения, то это притереться делать отдельно по каждому ID (а их много), а сейчас правиться код в одном месте, который распространяется на все остальное. Бывают случаи когда нет записи по какому то ID вот и получается на выходе пустой белый лист. Вот от этих пустышек нужно избавиться мне как-нибудь. Вот только как?
...
Рейтинг: 0 / 0
05.06.2012, 17:00
    #37826370
tarrus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reporting services + C#, как проверять, отчет не имеет данных?
2king2,

Только предварительно проверять, есть ли данные и делать, не делать отчет. Смотрите какая логика, внутри отчета не получится это проверить никак, т.к. тем самым вы уже формируете отчет. Такую проверку можно сделать только вне отчета. Ну либо как в управляемых подписках, формировать отчет, но никуда его не отправлять, в зависимости от данных.
...
Рейтинг: 0 / 0
13.06.2012, 13:41
    #37836283
zxc13
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
reporting services + C#, как проверять, отчет не имеет данных?
po4emu ne ispolizovaty NoRowsMeesage ?
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / reporting services + C#, как проверять, отчет не имеет данных? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]