При активной разработке в среде «1С:Предприятие» программисты часто сталкиваются с необходимостью запустить сеанс отладки с особыми системными параметрами. Например, требуется временно отключить выполнение регламентных заданий с помощью ключа /AllowExecuteScheduledJobs -off, запустить конфигурацию в режиме тестирования с ключом /TESTMANAGER или передать другие специфические команды платформе.
Однако при попытке настроить такой запуск через стандартное меню Конфигуратора разработчики упираются в технические ограничения платформы. В этой статье мы подробно разберем, почему стандартный механизм F5 имеет ограничения, и рассмотрим эффективные практические способы обхода этой проблемы.
Давайте проанализируем поведение стандартного Конфигуратора. Если мы перейдем в меню Сервис — Параметры — Запуск 1С:Предприятия — Основные, то увидим поле Параметр запуска.
Важно понимать: это поле жестко привязано к системному ключу командной строки /C. Оно предназначено исключительно для передачи текстовой строки внутрь самой конфигурации (код конфигурации считывает это значение через глобальное свойство ПараметрЗапуска). Передать туда другие системные ключи платформы (такие как /DisableStartupMessages, /AllowExecuteScheduledJobs и др.) невозможно — платформа воспримет их просто как единую текстовую строку внутри ключа /C и проигнорирует с точки зрения управления поведением самого клиента.
Кроме того, при нажатии клавиши F5 Конфигуратор запускает исполняемый файл клиента напрямую, минуя программу запуска 1cestart.exe. Это означает, что любые настройки и «Дополнительные параметры запуска», прописанные в свойствах базы в списке выбора баз, также полностью игнорируются.
Тем не менее, решить задачу запуска отладки с нужными параметрами можно. Ниже подробно описаны четыре основных способа.
Если вам критически важно запустить сеанс предприятия с определенными ключами командной строки платформы, наиболее надежным и простым решением будет ручной запуск клиента с флагом разрешения отладки /Debug и последующим подключением конфигуратора к запущенному процессу.
Разберем этот процесс по шагам:
.bat или .cmd (либо настройте ярлык для запуска)./Debug. Пример строки запуска для файловой базы:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "C:\ПутьКВашейБазе" /N "ИмяПользователя" /P "Пароль" /Debug /AllowExecuteScheduledJobs -off
Параметр /Debug указывает платформе, что запущенное приложение должно предоставить возможность подключения внешних отладчиков.
После выполнения этих действий отладчик успешно свяжется с запущенным клиентом. Все установленные в конфигураторе точки останова будут срабатывать в штатном режиме, а сеанс при этом будет функционировать строго с теми ключами, которые вы передали через исполняемый файл.
Если вам нужно управлять поведением конфигурации, а не логикой самой платформы, можно использовать штатное поле «Параметр запуска» (ключ /C), обработав переданное значение непосредственно в коде при старте системы.
Рассмотрим, как это реализовать:
РежимОтладки_БезЗаданий.ПриНачалеРаботыСистемы.
Процедура ПриНачалеРаботыСистемы()
Если ПараметрЗапуска = "РежимОтладки_БезЗаданий" Тогда
// Вызываем логику программного отключения регламентных заданий
// или переводим сеанс в специальный демонстрационный/тестовый режим
ЗаписатьВЖурналРегистрации("Отладка", УровеньЖурналаРегистрации.Информация, , , "Сеанс запущен в режиме отладки без фоновых задач");
КонецЕсли;
EndПроцедуры
Этот способ удобен тем, что вам не нужно выходить из конфигуратора и создавать сторонние bat-файлы — запуск по-прежнему происходит по нажатию клавиши F5.
Если ограничения стандартного Конфигуратора существенно замедляют процесс разработки, рекомендуется рассмотреть переход на современную среду разработки — 1С:EDT (Enterprise Development Tools), созданную на базе Eclipse.
В 1С:EDT реализован полноценный механизм конфигураций запуска (Run/Debug Configurations). Здесь вы можете:
Поскольку в качестве примера часто приводится ключ отключения регламентных заданий /AllowExecuteScheduledJobs -off, рассмотрим, как решить эту конкретную задачу стандартными средствами администрирования 1С без постоянной настройки параметров запуска.
Для клиент-серверного варианта базы:
Блокировка регламентных заданий легко настраивается централизованно. Откройте утилиту «Администрирование серверов 1С:Предприятия», зайдите в свойства вашей информационной базы и установите флаг Блокировка регламентных заданий включена. В этом случае ни одно фоновое задание не запустится, независимо от способа старта клиента.
Для файлового варианта базы:
Если ваша конфигурация построена на базе БСП (Библиотеки стандартных подсистем), вы можете управлять расписанием прямо в режиме «1С:Предприятие». Для этого:
Этот статус сохраняется в информационной базе, что избавляет вас от необходимости передавать какие-либо параметры при каждом запуске по кнопке F5.