- В этой теме 1 ответ, 2 участника, последнее обновление 5 часов, 48 минут назад сделано .
Просмотр 1 ветки ответов
Просмотр 1 ветки ответов
- Для ответа в этой теме необходимо авторизоваться.
Программирование и администрирование в 1С
База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как проверить, что код выполняется в фоновом задании в 1С?
как определить что код запущен в фоновом задании?
Привет! Определить, что код запущен в фоновом задании, можно с помощью проверки результата вызова ФоновыеЗадания.ТекущиеДанные(). Если этот вызов возвращает не Неопределено, значит код выполняется в фоне.
Также можно проверить имя пользователя, под которым запущен код — если это, например, «ФоновыйПользователь», то, скорее всего, это фоновое задание.
Вот как это выглядит в коде:
|
1 2 3 4 5 |
Если ФоновыеЗадания.ТекущиеДанные() <> Неопределено Тогда ; // Код выполняется в фоне Иначе ; // Код выполняется в обычном режиме КонецЕсли; |
И пример проверки имени пользователя:
|
1 2 3 4 5 |
Если ИмяПользователя() = "ФоновыйПользователь" Тогда // Фоновое задание // Здесь должен быть код обработки фонового задания ПустаяСтрока(); КонецЕсли; |
Таким образом, самый простой и надёжный способ — использовать ФоновыеЗадания.ТекущиеДанные(). Если она возвращает данные, значит код выполняется в фоне. Проверка имени пользователя — дополнительный вариант.