Отчет с формой

Обсуждение Stimulsoft Reports.NET
jonyk
Сообщения: 41
Зарегистрирован: 19 апр 2010, 12:41

Отчет с формой

Сообщение jonyk »

Добрый день! Создал отчет с данными из SQL - отрабатывает быстро. Добавил форму (2 кнопки, 2 флажка - без событий и условий) - открывается раза в 3-4 дольше. С чем это может быть связано? Спасибо.
Ivan
Сообщения: 641
Зарегистрирован: 10 авг 2006, 05:40
Откуда: Stimulsoft Office

Отчет с формой

Сообщение Ivan »

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

Не можем воспроизвести указанную вами проблему.
Вышлите нам пожалуйста простой тестовый отчет с данными, на котором воспроизводится проблема.

Спасибо.
jonyk
Сообщения: 41
Зарегистрирован: 19 апр 2010, 12:41

Отчет с формой

Сообщение jonyk »

Это довольно проблематично. Отчет состоит из 5-ти подзапросов и связан с десятком таблиц.
jonyk
Сообщения: 41
Зарегистрирован: 19 апр 2010, 12:41

Отчет с формой

Сообщение jonyk »

Добрый день!... но есть другой вопрос: - Как в форме, при нажатии на кнопку Ок (если флажок установлен) выполнить событие с запросом из SQL?

DELETE *
FROM dbo.RealizSaldo0
WHERE (DateRealiz = (@DateEnd))

и в форме отобразить значение из таблицы (в данном случае Последней даты)?
Спасибо.
Вложения
1.jpg
1.jpg (43.08 КБ) 3562 просмотра
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Отчет с формой

Сообщение Aleksey »

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

Как вариант, вы можете добавить datasource с запросом
"DELETE * FROM dbo.RealizSaldo0 WHERE (DateRealiz = (@DateEnd))" с параметром @DateEnd
У данного datasource установить свойство ConnectOnStart в false и при нажатии на кнопку устанавливать параметр и выполнять запрос данного datasource
DataSourceName.Connect();

Спасибо.
Funix
Сообщения: 7
Зарегистрирован: 29 мар 2010, 04:28
Откуда: Belarus

Отчет с формой

Сообщение Funix »

Добрый день.

Извиняюсь, что вклиниваюсь в чужой топик, но у меня очень схожая ситуация.
По методу предложенному Aleksey в предыдущем посте имеется datasource dsInsert с запросом "INSERT INTO ..." и свойством ConnectOnStart = false.
В событии Click кнопки "OK" прописано dsInsert.Connect();

Все бы хорошо, но есть одно "НО":
Долго не мог понять почему не отрабатывает пока не обнаружил, что если у кнопки "ОК" установлено свойство btnOK.DialogResult = DialogResult.OK - запрос не отрабатывает, если же это свойство не установлено - запрос отрабатывает, но форма соответственно не закрывается и отчет дальше не формируется.

Подскажите пожалуйста, как мне побороть эту ситуацию.

PS. Версия 2011.1.1000 (04.04.2011).
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Отчет с формой

Сообщение Aleksey »

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

Проверили на последнем билде, все работает корректно.
Не могли бы вы прислать простой отчет с тестовой базой, который воспроизводит проблему, для анализа.

Спасибо.
Funix
Сообщения: 7
Зарегистрирован: 29 мар 2010, 04:28
Откуда: Belarus

Отчет с формой

Сообщение Funix »

Добрый день.

В процессе подготовки для вас тестового отчета таки обнаружил новую проблему, которая, как выясняется, и является причиной моей проблемы. Т.е. причина оказалась несколько глубже, чем показалось сразу:
При закрытии формы через кнопку "OK" у которой установлено свойство btnOK.DialogResult = DialogResult.OK происходит запуск(Connect()) всех имеющихся в отчете источников данных даже если у них установлено свойство ConnectOnStart = false. А таких источников в отчете несколько, в том числе имеются "INSERT..." и "DELETE...", которые по задумке должны вызываться только при определенных условиях (событиях) и по отдельности, но никак не кучей в порядке общего беспорядка.

Соответственно, если я делаю ds1.Connect() в обработчике клика кнопки "OK", то получается, что у меня этот запрос отрабатывает дважды - один раз при явном вызове, другой - при неявном вызове всех источников данных. Также из-за "неявного" вызова источника с "DELETE..." может происходить удаление записей, которые только что были добавлены источником с "INSERT..." в результате чего складывается впечатление, что "INSERT..." вообще не отрабатывает.

Надеюсь, что теперь доступно объяснил проблему, но на всякий случай все-таки высылаю вам тестовый отчет на e-mail.
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Отчет с формой

Сообщение Aleksey »

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

Спасибо за детальное описание проблемы.
Проблему воспроизвели, будем разбираться.
О результатах сообщим.

Спасибо.
Aleksey
Сообщения: 2907
Зарегистрирован: 22 апр 2010, 06:57

Отчет с формой

Сообщение Aleksey »

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

Проблема исправлена.
Решение будет доступно в завтрашнем предрелизном билде.

Спасибо.
Ответить