Извиняюсь за такой вопрос, но как можно прервать работу ЗАПУЩЕННОГО АВТОНОМНО зациклившегося 1С:Предприятия 8.2? Тонкий клиент, УФ. Клавиша "Esc" не работает. В инструкции сказано: "Используйте Ctrl-Break" - не помогает тоже. Приходится снимать через Диспетчер задач, что несколько некомфортно.

Может, какой ключ реестра есть или функцию какую вызвать?

P.S. Имеется в виду общий случай, без модификации цикла обработки.
---
ОбработкаПрерыванияПользователя (UserInterruptProcessing)
Синтаксис:

ОбработкаПрерыванияПользователя()
Описание:

Предназначен для прерывания работы встроенного языка при нажатии пользователем клавиши Ctrl+Break.
Метод проверяет, была ли нажата пользователем клавиша Ctrl + Break. Если клавиша была нажата, то выполнение встроенного языка прекращается и выдается соответствующее сообщение.
Данный метод рекомендуется использовать в длительных циклических операциях.
Метод будет иметь действия только в тех случаях, когда допускается прерывание выполнения модулей.
Прерывания выполнения допускается если оно инициировано определенным интерактивным действием пользователя. К таким действиям относятся:
нажатие кнопки в форме;
выбор пункта меню или кнопки командной панели в форме;
выбор пункта меню или кнопки панели инструментов интерфейса;
действия инициируемые обработчиками событий "Выбор" элементов управления.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
Примечание:

Прерывание работы встроенного языка возможно не во всех клиентских обработчиках управляемой формы.
Пример:

Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
    Если Выборка.ПометкаУдаления Тогда
        Продолжить;
    КонецЕсли;
    // ...
    ОбработкаПрерыванияПользователя();
КонецЦикла;
---
В цикле стоит ОбработкаОжиданияПользователя() ?
---
ОбработкаПрерыванияПользователя (UserInterruptProcessing)
Синтаксис:

ОбработкаПрерыванияПользователя()
Описание:

Предназначен для прерывания работы встроенного языка при нажатии пользователем клавиши Ctrl+Break.
Метод проверяет, была ли нажата пользователем клавиша Ctrl + Break. Если клавиша была нажата, то выполнение встроенного языка прекращается и выдается соответствующее сообщение.
Данный метод рекомендуется использовать в длительных циклических операциях.
Метод будет иметь действия только в тех случаях, когда допускается прерывание выполнения модулей.
Прерывания выполнения допускается если оно инициировано определенным интерактивным действием пользователя. К таким действиям относятся:
нажатие кнопки в форме;
выбор пункта меню или кнопки командной панели в форме;
выбор пункта меню или кнопки панели инструментов интерфейса;
действия инициируемые обработчиками событий "Выбор" элементов управления.

Доступность:

Тонкий клиент, веб-клиент, толстый клиент.
Примечание:

Прерывание работы встроенного языка возможно не во всех клиентских обработчиках управляемой формы.
Пример:

Выборка = Справочники.Номенклатура.Выбрать();
Пока Выборка.Следующий() Цикл
    Если Выборка.ПометкаУдаления Тогда
        Продолжить;
    КонецЕсли;
    // ...
    ОбработкаПрерыванияПользователя();
КонецЦикла;
---
Метод будет иметь действия только в тех случаях, когда допускается прерывание выполнения модулей.

А когда оно допускается, а когда - нет?

Прерывание работы встроенного языка возможно не во всех клиентских обработчиках управляемой формы.

А в каких обработчиках оно невозможно?
---
По другому никак. Только прописывать данную функцию в цикле...
---
Нюанс -Тонкий клиент, веб-клиент, толстый клиент. На сервере она не работает.
---
А как тогда прервать процедуру на сервере?

Отдельно для SQL и файлового варианта базы.
---
Прервать процедуру на сервере

Для клиент-сервера убить сеанс через консоль администрирования сервера
Для файлового убить через диспетчер

других вариантов нет.
---
А если на сервере сделать так?

```1c
    // тут что нибудь делаем
    Пока КакоеНибудьУсловие() Цикл
    // тут что нибудь делаем
    Если СтопФайл() Тогда
    Возврат; // или Прервать; - по вкусу
    КонецЕсли;
    // и тут что нибудь делаем

    КонецЦикла;

    &НаСервере
    Функция СтопФайл()
    лсИмяФайла=КудаСохранять+"СтопФайл";

    лаСтопФайл= Новый Файл(лсИмяФайла);

    Если лаСтопФайл.Существует() Тогда
    УдалитьФайлы(лсИмяФайла);
    Возврат Истина;
    КонецЕсли;

    Возврат Ложь;
    КонецФункции
```

Бросил в нужный каталог файл по имени "СтопФайл" - и вуаля. Естественно, нужно иметь доступ в нужный каталог.
---
Смотря как запускаете и смотря где висит, и как висит.
ОбработкаПрерыванияПользователя() если цикл на клиенте или через фоновое задание.
Если висит на запросе, то никак, только диспетчер.
Если висит так, что ничего не реагирует (в диспетчере нагрузка по нулям), то ОбработкаПрерыванияПользователя тоже не поможет.