|
Узнать, что установлена блокировка при завершении системы. | ☑ | ||
---|---|---|---|---|
0
woland
03.09.15
✎
08:13
|
Как узнать в процедуре ПередЗавершениемРаботыСистемы модуля обычного приложения что установлена блокировка начала сеансов?
|
|||
1
Cyberhawk
03.09.15
✎
08:15
|
А тебе зачем?
|
|||
2
Брегорьян
03.09.15
✎
08:16
|
(1) если Установлена() тогда Предупреждение("Мы больше не встретимся. Прощайте")
|
|||
3
woland
03.09.15
✎
08:18
|
(1) надо предупредить пользователя, что бы он сворачивал свою деятельность
|
|||
4
woland
03.09.15
✎
08:18
|
(1) а то, по умолчанию выходит предупреждение "Завершить работу?" и пользователь, естественно, жмет "нет".
|
|||
5
ЧеловекДуши
03.09.15
✎
08:21
|
(2) Бесполезное предупреждение. Блокировка на и блокировка, что бы всех выгнать и никого не пустить.
... А если у вас бардак, то 1С тут ни причем :) |
|||
6
ЧеловекДуши
03.09.15
✎
08:22
|
(4) Надо пользователя предупреждать с нарастающим времени интенсивности.
1. через 3 минуты 2. через 2 м. 3. через 1 м. 4. и по 10. через 30 сек 11. Усе, завершение всего без предупреждений :) |
|||
7
Брегорьян
03.09.15
✎
08:24
|
+(6) или заставить загадки разгадывать для продолжения работы
|
|||
8
Лефмихалыч
03.09.15
✎
08:25
|
(0) (4) вломись в код, который показывает этот вопрос и в случае, если блокировка установлена, не показывай вопрос вообще
|
|||
9
woland
03.09.15
✎
08:25
|
(2) как применить в коде?
|
|||
10
kosts
03.09.15
✎
08:44
|
см. процедуру КонтрольРежимаЗавершенияРаботыПользователей()
|
|||
11
kosts
03.09.15
✎
08:45
|
(10) Процедура КонтрольРежимаЗавершенияРаботыПользователей() Экспорт
// Получим текущее значение параметров блокировки ТекущийРежим = УправлениеСоединениямиИБ.ПараметрыБлокировкиСеансов(); БлокировкаУстановлена = ТекущийРежим.Установлена; Если Не БлокировкаУстановлена Тогда Возврат; КонецЕсли; ... Функция ПараметрыБлокировкиСеансов(Знач ПолучитьКоличествоСеансов = Ложь) Экспорт УстановитьПривилегированныйРежим(Истина); ТекущийРежимИБ = ПолучитьБлокировкуСеансов(); ТекущаяДата = ТекущаяДатаСеанса(); ТекущийРежим = НовыеПараметрыБлокировкиСоединений(); Если УстановленаБлокировкаСоединенийНаДату(ТекущийРежимИБ, ТекущаяДата) Тогда ТекущийРежим = ТекущийРежимИБ; ИначеЕсли ТекущийРежимИБ.Установлена Тогда ТекущийРежим = ТекущийРежимИБ; КонецЕсли; ПараметрыБлокировки = Новый Структура( "Установлена,Начало,Конец,Сообщение,ИнтервалОжиданияЗавершенияРаботыПользователей,КоличествоСеансов,ТекущаяДатаСеанса,ПерезапуститьПриЗавершении", ТекущийРежим.Установлена, ТекущийРежим.Начало, ТекущийРежим.Конец, ТекущийРежим.Сообщение, 5 * 60, // 5 минут; интервал ожидания завершения пользователей после установки // блокировки информационной базы (в секундах). ?(ПолучитьКоличествоСеансов, КоличествоСеансовИнформационнойБазы(), 0), ТекущаяДатаСеанса(), Истина ); УправлениеСоединениямиИБПереопределяемый.ЗаполнитьПараметрыБлокировкиСеансов(ПараметрыБлокировки, ТекущаяДата); Возврат ПараметрыБлокировки; КонецФункции |
|||
12
woland
03.09.15
✎
08:48
|
Спасибо большое. Все получилось.
|
|||
13
Лефмихалыч
03.09.15
✎
08:49
|
(9) Глобальный контекст.ПолучитьБлокировкуСеансов (Global context.GetSessionsLock)
Глобальный контекст (Global context) ПолучитьБлокировкуСеансов (GetSessionsLock) Синтаксис: ПолучитьБлокировкуСеансов() Возвращаемое значение: Тип: БлокировкаСеансов. Описание: Получает объект, описывающий блокировку сеансов. Доступность: Сервер, толстый клиент, внешнее соединение. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |