Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / есть CRServer, отчеты на нем храняться как дать юзерам просмотр их? / 13 сообщений из 13, страница 1 из 1
14.08.2007, 12:15
    #34726030
strelok47
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
соббсно сабж. в домен вводить комп нельзя, активедиректори тоже не поднять, почему так нельзя сделать не спрашивайте, примите как условия задачи. логиниться юзеру к серверу через браузер и enterprise - атунтификацию тоже не есть гуд, не свосем удобно это девочкам бухам и прочим менеджерам. можно им создать интерфейс с помощью джавы или delphi? но неприменное условие таково: просмотр отчетов с помощью браузера.
...
Рейтинг: 0 / 0
14.08.2007, 14:48
    #34726783
Peter Kirillow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
поменять философию мировоззрения бухов и менеджеров.
привыкнут коннектится к порталу. потом еще понравится.
можно, конечно, и через джаву (примеров 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
16.08.2007, 14:13
    #34732434
strelok47
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
сделал как описано, в 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
16.08.2007, 14:39
    #34732540
Peter Kirillow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
какая версия CR ?
приведенный код - для 11.
что подставляется в reportID = "report ID"; ? там должно быть числовое значение.
...
Рейтинг: 0 / 0
16.08.2007, 17:03
    #34733176
strelok47
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
в

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

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

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

в данном случае вызов урла, естественно, будет без id в строке. это я привел пример из другой оперы:
http://server:8080/businessobjects/yourproject/start.jsp?rpar0=2005&rpar1=11
...
Рейтинг: 0 / 0
20.08.2007, 12:38
    #34738158
strelok47
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
ну наконец-то пример от Peter Kirillow я запустил. вопросы такие
1. т.к. у меня запрос для отчета данные тянет из БД оракла у меня все время выводит запрос на логин к БД. как его прописать в jsp чтобы он его не спрашивал?
2. отчет оперирует значениями параметров которые я задал при его дизайне, как его застивить выдавать запрос на ввод этих параметров от пользователя?
...
Рейтинг: 0 / 0
20.08.2007, 12:42
    #34738175
strelok47
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
вдогонку.
т.к. стоит Crystal Report XI, то что мне имеет смысл учить: написание jsp или сразу переходить к C#?
посоветутйте литературу плиз.
и еще, в примере приведенном идет конвертирование в PDF а как выводить просто в браузере в виде HTML
...
Рейтинг: 0 / 0
20.08.2007, 12:53
    #34738228
Peter Kirillow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
все настройки отчета, отдеплоеного на сервер, можно править через Central Management Console по адресу, например,
http://your_host:your_port/businessobjects/enterprise115/admin/en/admin.cwr
там и с логином и параметрами легко разобраться. кстати в мануале по администрированию BO все написано.
...
Рейтинг: 0 / 0
20.08.2007, 13:25
    #34738352
strelok47
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
2 Peter Kirillow
опишите пожалуйста в каком пункте надо производить настройку отчета чтобы при его выводе не выскакивал запрос на ввод логина к БД, а то я порылся по пунктам, но не понял где это.
и еще, мне надо в отчет передавать в качестве параметра дату, из доки я понял что это на совсем просто. в приведенном Вами примере на строке
Код: plaintext
currentValue.setValue(sRepParm);
вылетала ошибка, я думаю это из-за того что я значение типа string пытаюсь запихатьв параметр типа date? но как это обойти?
...
Рейтинг: 0 / 0
20.08.2007, 14:19
    #34738607
Peter Kirillow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
про передачу параметров типа даты можно найти информацию в примерах :
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
20.08.2007, 14:55
    #34738779
strelok47
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
за ссылку спасибо, скачал, сидим изучаем, чтобы отключить запрос на логин сдела как Вы сказали, но все равно выдает логин. создал копии отчета и импортировал его с помощью Publishing Wizard, там тоже вроде отключается логин, но и это не помогло. может еще что то есть?
...
Рейтинг: 0 / 0
20.08.2007, 15:00
    #34738808
strelok47
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
есть CRServer, отчеты на нем храняться как дать юзерам просмотр их?
поправка, этот IE юзал кэш, закрыл его, открыл заново все стало тип-топ
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / есть CRServer, отчеты на нем храняться как дать юзерам просмотр их? / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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