Save As - custom Dialog Box

Обсуждение Stimulsoft Reports.NET
Ответить
Vasiliy Goncharenko
Сообщения: 53
Зарегистрирован: 11 июн 2010, 11:14

Save As - custom Dialog Box

Сообщение 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" с сохранением на сервере нужно позарез. :)
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Save As - custom Dialog Box

Сообщение Vladimir »

Здравствуйте,

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

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

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

Спасибо.
Вложения
Sample.zip
(5.74 КБ) 159 скачиваний
Anton Lozovskiy
Сообщения: 264
Зарегистрирован: 12 ноя 2007, 08:16

Save As - custom Dialog Box

Сообщение Anton Lozovskiy »

Здравствуйте,

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

Спасибо.
Vasiliy Goncharenko
Сообщения: 53
Зарегистрирован: 11 июн 2010, 11:14

Save As - custom Dialog Box

Сообщение Vasiliy Goncharenko »

Извините.

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

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

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

Текущая проблема с "Save As" в "Designer.Web" - нужно сохранение на сервере.
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Save As - custom Dialog Box

Сообщение Vladimir »

Здравствуйте,

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

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

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

Спасибо.
Вложения
Sample.zip
(5.74 КБ) 158 скачиваний
Vasiliy Goncharenko
Сообщения: 53
Зарегистрирован: 11 июн 2010, 11:14

Save As - custom Dialog Box

Сообщение 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

Спасибо за помощь.
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Save As - custom Dialog Box

Сообщение Vladimir »

Здравствуйте,

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

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

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

Спасибо.
Vasiliy Goncharenko
Сообщения: 53
Зарегистрирован: 11 июн 2010, 11:14

Save As - custom Dialog Box

Сообщение Vasiliy Goncharenko »

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

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

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


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

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

У меня в разработке релиз 2010.2.754 от 24 августа
Аватара пользователя
Vladimir
Сообщения: 415
Зарегистрирован: 06 авг 2008, 09:48
Откуда: Earth

Save As - custom Dialog Box

Сообщение Vladimir »

Здравствуйте,

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

Спасибо.
Вложения
Sample.zip
(8.12 КБ) 145 скачиваний
Ответить