Извиняюсь за предыдущее сообщение. Вот пробую как Вы посоветовали. Это текст из общего модуля. Также идет обработка из формы авторизации.
Теперь перестало срабатывать при простое.
Код 1C v 8.х Общий модуль
Процедура ОбработатьПревышениеВремениПростоя(Действие) экспорт
ПараметрыСеанса.ПревышениеОбработано=Истина;
Авториз = ПолучитьОбщуюФорму("ФормаАвторизации");
флаг = параметрыСеанса.Флаг; -------------------------------------------> вот тут пытаюсь сказать, что если формаАвториз открыта, тогда ничего не делать.
теперь не срабатывает "при простое"
флаг = Истина;
Если флаг=истина тогда
Если Действие=Перечисления.ВидыДействийПриПростое.ЗаблокироватьСеанс1С Тогда
Авториз = ПолучитьОбщуюФорму("ФормаАвторизации");
ФормаОбработки = ПолучитьФорму("Обработка.РаботаСПринтерами.Форма");
если ФормаОбработки.Открыта() тогда
ФормаОбработки.Закрыть();
Конецесли;
Оповестить("ЗакрытьФорму");
Авториз.ОткрытьМодально();
иначе
Оповестить("ЗакрытьФормуАвториз");
Конецесли;
ИначеЕсли Действие=Перечисления.ВидыДействийПриПростое.ЗаблокироватьСеансWindows Тогда
ЗапуститьПриложение("rundll32.exe user32.dll,LockWorkStation");
ИначеЕсли Действие=Перечисления.ВидыДействийПриПростое.ЗавершитьРаботу1С Тогда
ЗавершитьРаботуСистемы(Ложь);
ИначеЕсли Действие=Перечисления.ВидыДействийПриПростое.ЗавершитьРаботуWindows Тогда
ЗапуститьПриложение("shutdown -s");
КонецЕсли;
КонецПроцедуры
Форма Авторизации тут через переменную флагЗакрытия
// переменная флагЗакрытия для обработки корректного закрытия/открытия окна авторизации
перем флагЗакрытия;
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
если ИмяСобытия = "ЗакрытьФормуАвториз" Тогда ЭтаФорма.Открыть(); ЭтаФорма.Закрыть()
конецЕсли;
КонецПроцедуры
Процедура ПриЗакрытии()
Оповестить("Обновить");
КонецПроцедуры
Процедура ОсновныеДействияФормыОК(Кнопка)
Пароль = ЭтаФорма.Пароль;
запрос = Новый запрос;
запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка КАК Ссылка,
| Пользователи.Наименование,
| Пользователи.Пароль
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Пароль =Пароль" ;
// заполнение параметра "пароль"
Запрос.УстановитьПараметр("Пароль", Пароль);
// запуск запроса
рез = запрос.Выполнить();
выборка = рез.Выбрать();
// Проверка соответствия введенного пароля с существующим в справочниеке пользователи
если выборка.Следующий() тогда
ПараметрыСеанса.ТекущийПользователь = Выборка.ссылка;
флагЗакрытия = истина;
ФормаОбработки = Обработки.РаботаСПринтерами.ПолучитьФорму("Форма");
ФормаОбработки.Открыть();
ФормаОбработки.Закрыть();
если ФормаОбработки.Открыта() тогда формаОбработки.Закрыть()
конецесли;
ФормаОбработки.Открыть();
ЭтаФорма.Закрыть();
Иначе
флагЗакрытия = ложь;
ЭлементыФормы.СообщитьНеверныйВвод.Значение = "Неверный пин!!! "+ " " +перечисления.СообщенияПользователю.НеверныйПин;
КонецЕсли;
Если пароль = "" тогда
ЭлементыФормы.СообщитьНеверныйВвод.Значение = "Неверный пин!!! "+ " " +перечисления.СообщенияПользователю.ВведитеПин;
конецесли;
ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.Пароль ;
КонецПроцедуры
Процедура ПередЗакрытием(Отказ, СтандартнаяОбработка)
Отказ = не флагЗакрытия;
КонецПроцедуры
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
флагЗакрытия = ложь;
КонецПроцедуры
Процедура ПарольПриИзменении(Элемент)
стр = этаФорма.Пароль;
рез = СтрДлина(стр);
Если рез=4 Тогда
запрос = Новый запрос;
запрос.Текст =
"ВЫБРАТЬ
| Пользователи.Ссылка КАК Ссылка,
| Пользователи.Наименование,
| Пользователи.Пароль
|ИЗ
| Справочник.Пользователи КАК Пользователи
|ГДЕ
| Пользователи.Пароль =Пароль" ;
// заполнение параметра "пароль"
Запрос.УстановитьПараметр("Пароль", Пароль);
// запуск запроса
рез = запрос.Выполнить();
выборка = рез.Выбрать();
// Проверка соответствия введенного пароля с существующим в справочниеке пользователи
если выборка.Следующий() тогда
ПараметрыСеанса.ТекущийПользователь = Выборка.ссылка;
флагЗакрытия = истина;
ЭтаФорма.Закрыть();
//ФормаОбработки = Обработки.РаботаСПринтерами.ПолучитьФорму("Форма");
//ФормаОбработки = Обработки.РаботаСПринтерами.ПолучитьФорму("Форма",,"1234");
ФормаОбработки = ПолучитьФорму("Обработка.РаботаСПринтерами.Форма.Форма",,"1234");
формаОбработки.Открыть();
параметрыСеанса.Флаг = ложь;
конецЕсли;
Иначе
флагЗакрытия = ложь;
ЭлементыФормы.СообщитьНеверныйВвод.Значение = "Неверный пин!!! "+ перечисления.СообщенияПользователю.НеверныйПин;
// Сообщить ("Неверный пин!!!");
пароль="";
КонецЕсли;
// фокус на поле ввода пин-кода
ЭтаФорма.ТекущийЭлемент = ЭлементыФормы.Пароль ;
КонецПроцедуры;