Имя: Пароль:
1C
1C 7.7
v7: Запрет на закрытие обработки по ESC
0 DeMi4
 
19.10.16
13:54
Обработка открывается модально. Как можно заблакировать ее закрытие по ESC.
Процедуры типа
ОбработатьНажатиеКнопки
ПриПолученииКоманды
Не отрабатывают(
1 Смотрящий
 
19.10.16
13:55
ПриЗакрытии
2 Ёпрст
 
19.10.16
13:56
Можно штатно - повесить хот кей на невидимую кнопку.
Можно формексом, приОтжатииикнопкиклавиатуры
3 vcv
 
19.10.16
13:57
Процедура ПриНажатииКнопкиКлавиатуры(КодКлавиши,Alt,Shift,Ctrl,Символ,ФСО)
    Если КодКлавиши = kEscape Тогда
        ФСО = 0;
...
4 DeMi4
 
19.10.16
14:02
(1) Эта процедура не отрабатывает при закрытии формы ни на крестик ни по эскейпу
5 vcv
 
19.10.16
14:06
(4) Гоните, мистер. Впрочем, если вы ПриЗакрытии пишете с той же грамотностью, что и "заблакировать", то неудивительно.
6 DeMi4
 
19.10.16
14:12
(5) Согласен. Ступил!
7 Ёпрст
 
19.10.16
14:23
Одно НО: в ПриЗакрытии просто так не определишь, как закрыли - по крестику или по Esc
8 Ёпрст
 
19.10.16
14:24
такчто, либо отлов клавиши, либо своя кнопка с хоткеем от Esc
9 Смотрящий
 
19.10.16
14:28
(7,8) Эммм ... А накой выяснять как ?
10 Ёпрст
 
19.10.16
14:33
(9) Например, чтоб по Esc нельзя было закрыть, а по крестику - можно. Зачем ? Спросите ТС - это ему нужно
11 Смотрящий
 
19.10.16
14:40
(10) На кнопку "Закрыть" вешаем идентификатор "кнЗакрыть"

Процедура ПриЗакрытии()
    Переменная = Форма.АктивныйЭлемент();
    Если Переменная = "кнЗакрыть" Тогда
    // нажали кнопку Закрыть ...
    ....
    Иначе
    // хуивознает откуда прилетел вызов ...
    ....
    КонецЕсли;
КонецПроцедуры

Без хоткеев и формекса
12 Ёпрст
 
19.10.16
14:53
(11) читать ты точно не умеешь.
Нажимаем на "крестик" или жмём Esc и весь код в (11) коту под хвост
13 Ёпрст
 
19.10.16
14:53
ему не нужна своя кнопка.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой