powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
13 сообщений из 13, страница 1 из 1
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34726030
strelok47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
соббсно сабж. в домен вводить комп нельзя, активедиректори тоже не поднять, почему так нельзя сделать не спрашивайте, примите как условия задачи. логиниться юзеру к серверу через браузер и enterprise - атунтификацию тоже не есть гуд, не свосем удобно это девочкам бухам и прочим менеджерам. можно им создать интерфейс с помощью джавы или delphi? но неприменное условие таково: просмотр отчетов с помощью браузера.
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34726783
Peter Kirillow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поменять философию мировоззрения бухов и менеджеров.
привыкнут коннектится к порталу. потом еще понравится.
можно, конечно, и через джаву (примеров jsp вагон и маленькая тележка), но 100% они все равно довольны не будут, так что не надо прогибаться.
если совсем невмоготу, то вот стандартный вызов отчета с параметрами через URL

http://server:8080/businessobjects/yourproject/start.jsp?id=10808&show=no&rpar0=2005&rpar1=11

собственно должно быть два jsp файла

start.jsp
<%@ page import = "java.util.*,java.io.*,
com.crystaldecisions.sdk.occa.infostore.*,
com.crystaldecisions.sdk.plugin.desktop.common.*,
com.crystaldecisions.sdk.framework.*,
com.crystaldecisions.sdk.occa.security.*,
com.crystaldecisions.sdk.exception.SDKException,
com.crystaldecisions.sdk.occa.managedreports.IReportSourceFactory,
com.crystaldecisions.sdk.occa.report.reportsource.IReportSource,
com.crystaldecisions.sdk.plugin.desktop.report.*,
com.crystaldecisions.sdk.occa.report.data.*,
java.text.SimpleDateFormat"
%>


<%
String cmsname = "your CMS system name";
String username = "your project user name";
String password = "user password";
String authType = "secEnterprise";
String reportID = "report ID";
String redirect_s = "view.jsp";

try {

//Log in.
IEnterpriseSession enterpriseSession = CrystalEnterprise.getSessionMgr().logon( username, password, cmsname, authType);

//Grab the InfoStore from the httpsession
IInfoStore infoStore = (IInfoStore)enterpriseSession.getService("", "InfoStore");

//Query for the report object in the CMS.
IInfoObjects oInfoObjects = (IInfoObjects)infoStore.query("SELECT TOP 1 * FROM CI_INFOOBJECTS " +
"WHERE SI_PROGID = 'CrystalEnterprise.Report' AND SI_INSTANCE=0 AND " +
"SI_ID=" + reportID);

if (oInfoObjects.size() > 0) {

//Retrieve the latest instance of the report
IInfoObject oInfoObject = (IInfoObject) oInfoObjects.get(0);

//Use the PS report factory to obtain a report source that will be processed on the Page Server.
IReportSourceFactory factoryPS = (IReportSourceFactory)enterpriseSession.getService("PSReportFactory");
Object reportSource = factoryPS.openReportSource((oInfoObject), Locale.ENGLISH);


Fields f = new Fields();

//Set parameters for this report.
IReport oReport = (IReport)oInfoObjects.get(0);


// Retrieve the list of parameters on the report
List paramList = oReport.getReportParameters();

// Create an IReportParameter interface
IReportParameter oReportParameter;
IReportParameterSingleValue currentValue = null;

//For each parameter in the report, set a parameter value appropriate for the parameter type
for (int i=0; i < paramList.size(); i++)
{
oReportParameter = (IReportParameter)paramList.get(i);
oReportParameter.getCurrentValues().clear();

String sRepParm = request.getParameter ("rpar" + i);
currentValue = oReportParameter.getCurrentValues().addSingleValue();
if (null == sRepParm) sRepParm = "false";
currentValue.setValue(sRepParm);

ParameterField pf = oReportParameter.getParameterField();
f.add(pf);
}

session.setAttribute("parameterFields", f);
session.setAttribute("reportSource", reportSource);

response.sendRedirect(redirect_s);

}
else {
out.println("<result>");
out.println("<text>Report or Data not found.</text>");
out.println("</result>");
}

} catch(SDKException sdkEx) {
out.println("<error>");
out.println("<ErrorCode>1</ErrorCode>");
out.println("<ErrorText><![CDATA[" + sdkEx.getMessage() + "]]></ErrorText>");
out.println("</error>");
}

%>

view.jsp (может быть разным по содержанию. здесь сразу конвертит результат в PDF)
<%@ page import = "com.crystaldecisions.report.web.viewer.*,
com.crystaldecisions.sdk.occa.report.exportoptions.*,
com.crystaldecisions.sdk.occa.report.data.*"
%>

<%
ReportExportControl exportControl = new ReportExportControl();

exportControl.setName("ExportControl");
exportControl.setExportAsAttachment(false);

ExportOptions exportOptions = new ExportOptions(); //Set export options and format.
ReportExportFormat exportFormat = ReportExportFormat.PDF;

exportOptions.setExportFormatType(exportFormat); //Set the format for the export options
exportControl.setExportOptions(exportOptions); //set the exportOptions to the viewer

Fields parameterFields = (Fields)session.getAttribute("parameterFields");
exportControl.setParameterFields(parameterFields);

Object reportSource = session.getAttribute("reportSource");
exportControl.setReportSource(reportSource);


exportControl.processHttpRequest(request, response, getServletConfig().getServletContext(), null);

exportControl.dispose();
reportSource = null;
%>
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34732434
strelok47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделал как описано, в id вроде верно подставляю id отчета но в ответ получаю
Код: plaintext
1.
2.
3.
4.
5.
6.
<error>
<ErrorCode> 1 </ErrorCode>
<ErrorText><![CDATA[An error occurred at the server :
Not a valid query.
]]></ErrorText>
</error>
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34732540
Peter Kirillow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какая версия CR ?
приведенный код - для 11.
что подставляется в reportID = "report ID"; ? там должно быть числовое значение.
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34733176
strelok47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в

http://server:8080/businessobjects/yourproject/start.jsp?id=10808&show=no&rpar0=2005&rpar1=11

id и reportid это одно и тоже?
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34733205
Peter Kirillow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да

id отчеты выясняется через Object Repository Helper или в дизайнере CR, если приконектится к Repository и навести мышкой на название отчета.

в данном случае вызов урла, естественно, будет без id в строке. это я привел пример из другой оперы:
http://server:8080/businessobjects/yourproject/start.jsp?rpar0=2005&rpar1=11
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34738158
strelok47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну наконец-то пример от Peter Kirillow я запустил. вопросы такие
1. т.к. у меня запрос для отчета данные тянет из БД оракла у меня все время выводит запрос на логин к БД. как его прописать в jsp чтобы он его не спрашивал?
2. отчет оперирует значениями параметров которые я задал при его дизайне, как его застивить выдавать запрос на ввод этих параметров от пользователя?
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34738175
strelok47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вдогонку.
т.к. стоит Crystal Report XI, то что мне имеет смысл учить: написание jsp или сразу переходить к C#?
посоветутйте литературу плиз.
и еще, в примере приведенном идет конвертирование в PDF а как выводить просто в браузере в виде HTML
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34738228
Peter Kirillow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все настройки отчета, отдеплоеного на сервер, можно править через Central Management Console по адресу, например,
http://your_host:your_port/businessobjects/enterprise115/admin/en/admin.cwr
там и с логином и параметрами легко разобраться. кстати в мануале по администрированию BO все написано.
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34738352
strelok47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Peter Kirillow
опишите пожалуйста в каком пункте надо производить настройку отчета чтобы при его выводе не выскакивал запрос на ввод логина к БД, а то я порылся по пунктам, но не понял где это.
и еще, мне надо в отчет передавать в качестве параметра дату, из доки я понял что это на совсем просто. в приведенном Вами примере на строке
Код: plaintext
currentValue.setValue(sRepParm);
вылетала ошибка, я думаю это из-за того что я значение типа string пытаюсь запихатьв параметр типа date? но как это обойти?
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34738607
Peter Kirillow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
про передачу параметров типа даты можно найти информацию в примерах :
http://support.businessobjects.com/communityCS/FilesAndUpdates/crserver_xi_jsp_samples.zip.asp

чтобы отключить запрос на логин надо в свойствах отчета в закладке Process\Database
поставить галочку напротив "Use same database logon as when report is run"
и не забыть воткнуть пароль в свойствах Data Source(s)
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34738779
strelok47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
за ссылку спасибо, скачал, сидим изучаем, чтобы отключить запрос на логин сдела как Вы сказали, но все равно выдает логин. создал копии отчета и импортировал его с помощью Publishing Wizard, там тоже вроде отключается логин, но и это не помогло. может еще что то есть?
...
Рейтинг: 0 / 0
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
    #34738808
strelok47
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
поправка, этот IE юзал кэш, закрыл его, открыл заново все стало тип-топ
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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