Страница 1 из 1

Save As - custom Dialog Box

Добавлено: 26 авг 2010, 05:26
Vasiliy Goncharenko
VB.Net
Stimulsoft Reports.Net v2010.1

Сейчас в нашем приложении мы используем BO v11.5.
Отчеты открываем прямо из нашего приложения - передаем в BO отчет и далее пользователь работает в среде BO.
Когда пользователь сохраняет отчет, он либо перезаписывает текущий, либо сохраняет под новым именем на сервере.

Вопрос - как создать пользователю диалог "Save As" чтобы пользователь сохранял отчет под новым именем но на сервере, а не на клиентской машине, как это реализовано в SSReps сейчас?

Сейчас "Save As" позволяет сохранять отчет под другим именем, но на клиентской машине, что не примемлемо по причинам:
1. Безопасности - строка соединения хранится в хмл-файле в незакриптованном формате
2. Юзабилити - у нас веб-приложение и пользователь должен иметь возможность открывать отчет с любого компа, дома или на работе.
3. Consistency - нужно сохранять текущий функционал.

Вобщем "Save As" с сохранением на сервере нужно позарез. :)

Save As - custom Dialog Box

Добавлено: 26 авг 2010, 05:53
Vladimir
Здравствуйте,

Дна начала вам необходимо обновиться на последний пререлиз билд с нашего сайта. Было сделано достаточно много изменений, в том числе в плане сохранения отчётов.

1. Функция "Save As..." позволяет сохранить на локальном компьютере отчёт как в обычном xml формате, так и в зашифрованном (при сохранении и загрузке требует ввода пароля).
2. В свежей версии можно подписаться на событие SaveReportAs, в этом случае при выборе пункта "Save As..." отчёт будет отослан на сервер (наподобие события SaveReport).
3. Для того, что бы каким-либо образом кастомизировать сохранение (например, вывести форму с запросом имени отчёта), предназначены свойства SaveMode и SaveAsMode (для событий SaveReport и SaveReportAs соответственно). Они могут принимать значения Hidden (по умолчанию, событие осуществляется в фоновом режиме, т.е. AJAX запросом), Visible (событие посылается в текущее окно браузера) и NewWindow (событие посылается в новое окно браузера).

Мы подготовили пример, в котором реализован простой диалог выбора имени файла при сохранении на сервере. Смотрите прикреплённый файл.

Спасибо.

Save As - custom Dialog Box

Добавлено: 26 авг 2010, 08:26
Anton Lozovskiy
Здравствуйте,

Немного не понятно, по какому продукту конкретно вопрос. Вы используете Designer.Web или Win Designer отчётов?
Если Win Designer, то можно подписаться на событие StiOptions.Engine.GlobalEvents.SavingReportInDesigner и выполнить сохранение отчёта туда, куда вам необходимо.

Спасибо.

Save As - custom Dialog Box

Добавлено: 26 авг 2010, 11:42
Vasiliy Goncharenko
Извините.

У нас веб-приложение (ASP.Net 2.0).

Для отчетов сейчас используем BO v11.5 + WebI

Тестируем переход на Stimulsoft Reports.Web

Текущая проблема с "Save As" в "Designer.Web" - нужно сохранение на сервере.

Save As - custom Dialog Box

Добавлено: 30 авг 2010, 09:49
Vladimir
Здравствуйте,

Для начала вам необходимо обновиться на последний пререлиз билд с нашего сайта. Было сделано достаточно много изменений, в том числе в плане сохранения отчётов.

1. Функция "Save As..." позволяет сохранить на локальном компьютере отчёт как в обычном xml формате, так и в зашифрованном (при сохранении и загрузке требует ввода пароля).
2. В свежей версии можно подписаться на событие SaveReportAs, в этом случае при выборе пункта "Save As..." отчёт будет отослан на сервер (наподобие события SaveReport).
3. Для того, что бы каким-либо образом кастомизировать сохранение (например, вывести форму с запросом имени отчёта), предназначены свойства SaveMode и SaveAsMode (для событий SaveReport и SaveReportAs соответственно). Они могут принимать значения Hidden (по умолчанию, событие осуществляется в фоновом режиме, т.е. AJAX запросом), Visible (событие посылается в текущее окно браузера) и NewWindow (событие посылается в новое окно браузера).

Мы подготовили пример, в котором реализован простой диалог выбора имени файла при сохранении на сервере. Смотрите прикреплённый файл.

Спасибо.

Save As - custom Dialog Box

Добавлено: 31 авг 2010, 05:20
Vasiliy Goncharenko
> Мы подготовили пример, в котором реализован простой диалог выбора имени файла при сохранении на сервере. Смотрите прикреплённый файл.

Спасибо, пример очень помог понять суть.
Вопросы:
1. Сейчас при сохранении и редиректе на текущую страницу полностью теряется состояние дизайнера (состояние дерева, выбранные закладки).
Вопрос - если я вызову попап и затем из popup передам событие на страницу дизайнера, можно ли будет обновить дизайнер (имя отчета) без перезагрузки страницы?

2. Пример сделан для Save. Но по Save я уже сохраняю шаблон отчета в базке, на сервере.
А как можно переопределить SaveAs вместо Save?
Меня изначально интересовал SaveAs, этот вопрос для меня значительно важнее.
Мне нужно при нажатии на SaveAs открывать мое Popup окошко с HTML-страничкой.
При вводе параметров отчета (название, описание) нужно:
a Задать имя и описание отчета из post-параметров (легко)
b. Сохранить новый шаблон отчета в базке (легко)
c. Обновить имя отчета в дизайнере не перезагружая всю страницу дизайнера.
d. Закрыть рopup-окошко (легко)
Вопрос - как сделать "c"?

3. Информация: пример переадресовывает на текущую страницу с добавлением параметра "savepanel=". Проблема в том что flash-приложение этот параметр не пропускает, но на страницу все-таки выпускает.
Не принципиально, я проверяю "stimulsoft_designerfx" и "stimulsoft_guid", предполагая что stimulsoft_designerfx=SaveReport, но не уверен что это решение надежное.
?stimulsoft_designerfx=SaveReport&stimulsoft_guid=5bced128b7957788f5f5c6c4bd2174f4

Спасибо за помощь.

Save As - custom Dialog Box

Добавлено: 31 авг 2010, 07:04
Vladimir
Здравствуйте,

1. К сожалению, динамически без перезагрузки Web дизайнера обновить в нём отчёт нельзя. У нас в планах реализовать этот функционал (при вызове события сохранения в нём можно будет изменить отчёт, который отправится обратно Web дизайнеру), но этим будем заниматься после официального релиза 2010.2 (сентябрь).

2. Нужно подписаться на событие SaveReportAs, в этом случае при выборе пункта "Save As..." отчёт будет отослан на сервер (наподобие события SaveReport). Для того, что бы реализовать описанный Вами функционал (открыть своё Popup окошко с HTML-страничкой), необходимо задать значение свойству SaveAsMode="NewWindow" у Web дизайнера.

3. Это ошибка старой версии Web дизайнера, скачайте с нашего сайта последний пререлиз билд, в котором этот недочёт устранён.

Спасибо.

Save As - custom Dialog Box

Добавлено: 31 авг 2010, 16:25
Vasiliy Goncharenko
> 1. К сожалению, динамически без перезагрузки Web дизайнера обновить в нём отчёт нельзя.
Спасибо за разъяснение.

> 2. Нужно подписаться на событие SaveReportAs, в этом случае при выборе пункта "Save As..." отчёт будет отослан на сервер (наподобие события SaveReport). Для того, что бы реализовать описанный Вами функционал (открыть своё Popup окошко с HTML-страничкой), необходимо задать значение свойству SaveAsMode="NewWindow" у Web дизайнера.

Добавил SaveAsMode="NewWindow", не работает.


Для "Save" переадресация работает, для SaveAs вызывается встроенный диалог.

> 3. Это ошибка старой версии Web дизайнера, скачайте с нашего сайта последний пререлиз билд, в котором этот недочёт устранён.

У меня в разработке релиз 2010.2.754 от 24 августа

Save As - custom Dialog Box

Добавлено: 01 сен 2010, 04:34
Vladimir
Здравствуйте,

2. Вам нужно подписаться на событие SaveReportAs (как сказано выше). Смотрите прикреплённый пример.
3. Мы перепроверим данную ситуацию.

Спасибо.