автономный отчет со сложной логикой
Можно ли сделать автономный отчет со следующей логикой:
1. Задаются параемтры отчета и формируется сам отчет
2. После этого (как пользователь закрыл окно preview) нужно пользователю задать вопрос с вариантами ответа ДА/НЕТ.
3. Если пользователь ответил утвердительно, то нужно:
3.1. Выполнить ХП на сервере
3.2. Сформировать еще два отчета
пункты 1, 3.1 и частично 3 я могу сделать а как выполнить остальные пункты, если это конечно возможно в рамках одного шаблона.
1. Задаются параемтры отчета и формируется сам отчет
2. После этого (как пользователь закрыл окно preview) нужно пользователю задать вопрос с вариантами ответа ДА/НЕТ.
3. Если пользователь ответил утвердительно, то нужно:
3.1. Выполнить ХП на сервере
3.2. Сформировать еще два отчета
пункты 1, 3.1 и частично 3 я могу сделать а как выполнить остальные пункты, если это конечно возможно в рамках одного шаблона.
Комментарии
Это к отчёту вообще никакого отношения не имеет... Что-либо в шаблоне отчёта можно делать только на этапе его (отчёта) формирования.
Окно просмотра запускается уже после формирования отчёта - на этом этапе шаблон вообще уже никто ниочём не спрашивает )
тогда возможно ли реализовать так:
1. диалоговое окно с параметрами отчета. если юзер нажал кнопку с modalresult = mrOk, то идем далее, иначе выход
2. диалоговое окно с запросом и вариантами ответа Да/Нет
3. формирование основного отчета (состоит из 2 листов)
4. если на шаге 2 был выбран ответ Нет, то выход. иначе
5. выполнение ХП на сервере (используются установки на шаге 1)
6. формирование дополнительного отчета.
Возвращается к тому с чего начали ...
Не может формирование отчёта запустить формирование другого отчёта )
у страницы отчета есть событие onBeforePrint. может можно как нибудь его заюзать для нужной страницы?
Page1, Page2 - страницы основного отчета
Page3 - диалог с параметрами отчета
Page4 - страница основного отчета
if MessageBox(.....)=mrCancel then StopReport
else begin
// вызов ХП
end;
или нужно как-то по другому?
правда получается пустой лист, но это уже не существенно.
гранд мерси.
отчет имеет одну страницу диалога (параметры отчета, датасеты - frODACQuery) и три страницы отчетов. третья страница имеет такой код на onBeforePrint: процедура pf.pkg_agent.PaymentСontracts делает обоработку данных и формирует лог во временной таблице.
и третья страница отчета выводит этот лог в читабельном виде и вот тут идут проблемы, а именно при первом прогоне процедура pf.pkg_agent.PaymentСontracts отрабатывает нормально в таблицу пишутся данные, но фаст их не видит. приводим базу в исходное состояние, заново запускаем отчет и тогда третья страница формируется нормально.
в чем тут может быть дело?