|
![]() |
#1 |
Участник
|
Цитата:
Изначально опубликовано Yoil
Если сильно хочется запускать отчет "монопольно", то это, в принципе, решается. Заведите, например, кодъюнит со свойством SingleInstance = TRUE. Заведите в нем переменную типа ReportIsRunning : boolean. Заведите функции GetReportStatus и SetReportStatus, которые возвращают значение и устанавливают значение этой переменной. На OnPreReport напишите что-нибудь типа IF CodeUnitName.GetReportStatus THEN CurrReport.QUIT ELSE CodeUnitName.SetReportStatus(TRUE); На OnPostReport либо CodeUnitName.SetReportStatus(FALSE) либо CLEAR(CodeUnitName). Правда, есть опасность, что в случае некорректного завершения работы отчета (т.е. OnPostReport не отработается) случится бяка и отчет больше никогда не запустится =) Также можно установить подобный флажок не через кодъюнит, а используя поле какой-нибудь настроечной таблички (а можно и не настроечной...). ![]() -------------------------------------------------------------------------------- Изначально опубликовано uk Но при таком раскладе я не вижу возможности исключить параллельный запуск данного расчета. -------------------------------------------------------------------------------- 2 mazzy Цитата:
А почему только данного? А у вас нет других расчетов, которые работают с этими же таблицами? Они же тоже могут что-то править. В промежутках между транзакциями. Я чего-то не понимаю?
![]() Мне трудно предсказать последствия параллельной работы этого расчета - поэтому я и хочу избежать подобной ситуации. |
|
|
![]() |
||||
Тема | Ответов | |||
Печать отчета из просмотра | 1 | |||
Свойство KeepWithNext тела отчета! | 2 | |||
Проблема с компиляцией отчёта | 2 | |||
[Attein 3.01]Запрет печати отчета из предварительно просмотра. | 11 |
|