Как из Конфигуратора запустить отладку «1С:Предприятия» с произвольными параметрами командной строки?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При активной разработке в среде «1С:Предприятие» программисты часто сталкиваются с необходимостью запустить сеанс отладки с особыми системными параметрами. Например, требуется временно отключить выполнение регламентных заданий с помощью ключа /AllowExecuteScheduledJobs -off, запустить конфигурацию в режиме тестирования с ключом /TESTMANAGER или передать другие специфические команды платформе.

Однако при попытке настроить такой запуск через стандартное меню Конфигуратора разработчики упираются в технические ограничения платформы. В этой статье мы подробно разберем, почему стандартный механизм F5 имеет ограничения, и рассмотрим эффективные практические способы обхода этой проблемы.

В чем заключается ограничение Конфигуратора?

Давайте проанализируем поведение стандартного Конфигуратора. Если мы перейдем в меню Сервис — Параметры — Запуск 1С:Предприятия — Основные, то увидим поле Параметр запуска.

Важно понимать: это поле жестко привязано к системному ключу командной строки /C. Оно предназначено исключительно для передачи текстовой строки внутрь самой конфигурации (код конфигурации считывает это значение через глобальное свойство ПараметрЗапуска). Передать туда другие системные ключи платформы (такие как /DisableStartupMessages, /AllowExecuteScheduledJobs и др.) невозможно — платформа воспримет их просто как единую текстовую строку внутри ключа /C и проигнорирует с точки зрения управления поведением самого клиента.

Кроме того, при нажатии клавиши F5 Конфигуратор запускает исполняемый файл клиента напрямую, минуя программу запуска 1cestart.exe. Это означает, что любые настройки и «Дополнительные параметры запуска», прописанные в свойствах базы в списке выбора баз, также полностью игнорируются.

Тем не менее, решить задачу запуска отладки с нужными параметрами можно. Ниже подробно описаны четыре основных способа.

Способ 1. Ручной запуск в режиме отладки с последующим подключением (основной обходной путь)

Если вам критически важно запустить сеанс предприятия с определенными ключами командной строки платформы, наиболее надежным и простым решением будет ручной запуск клиента с флагом разрешения отладки /Debug и последующим подключением конфигуратора к запущенному процессу.

Разберем этот процесс по шагам:

  1. Создайте текстовый файл с расширением .bat или .cmd (либо настройте ярлык для запуска).
  2. Пропишите в нем команду запуска «1С:Предприятия» с явным указанием пути к базе, необходимых параметров и обязательного ключа /Debug. Пример строки запуска для файловой базы:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "C:\ПутьКВашейБазе" /N "ИмяПользователя" /P "Пароль" /Debug /AllowExecuteScheduledJobs -off

Параметр /Debug указывает платформе, что запущенное приложение должно предоставить возможность подключения внешних отладчиков.

  1. Запустите созданный файл. Программа откроется в режиме «1С:Предприятие» с примененными параметрами (в нашем примере — с отключенным выполнением регламентных заданий).
  2. Перейдите в открытый Конфигуратор этой же базы данных.
  3. В главном меню выберите пункт Отладка — Подключение...
  4. В открывшемся окне в списке Доступные предметы отладки найдите запущенный вами сеанс, выделите его и нажмите кнопку Подключить.

После выполнения этих действий отладчик успешно свяжется с запущенным клиентом. Все установленные в конфигураторе точки останова будут срабатывать в штатном режиме, а сеанс при этом будет функционировать строго с теми ключами, которые вы передали через исполняемый файл.

Способ 2. Эмуляция параметров через ключ `/C` (на уровне кода)

Если вам нужно управлять поведением конфигурации, а не логикой самой платформы, можно использовать штатное поле «Параметр запуска» (ключ /C), обработав переданное значение непосредственно в коде при старте системы.

Рассмотрим, как это реализовать:

  1. В Конфигураторе откройте меню Сервис — Параметры — Запуск 1С:Предприятия — Основные.
  2. В поле Параметр запуска введите маркер командной строки, например: РежимОтладки_БезЗаданий.
  3. Откройте модуль управляемого приложения и найдите (или создайте) обработчик события ПриНачалеРаботыСистемы.
  4. Напишите код анализа переданного параметра:

Процедура ПриНачалеРаботыСистемы()
    Если ПараметрЗапуска = "РежимОтладки_БезЗаданий" Тогда
        // Вызываем логику программного отключения регламентных заданий
        // или переводим сеанс в специальный демонстрационный/тестовый режим
        ЗаписатьВЖурналРегистрации("Отладка", УровеньЖурналаРегистрации.Информация, , , "Сеанс запущен в режиме отладки без фоновых задач");
    КонецЕсли;
EndПроцедуры

Этот способ удобен тем, что вам не нужно выходить из конфигуратора и создавать сторонние bat-файлы — запуск по-прежнему происходит по нажатию клавиши F5.

Способ 3. Переход на современную среду разработки 1С:EDT

Если ограничения стандартного Конфигуратора существенно замедляют процесс разработки, рекомендуется рассмотреть переход на современную среду разработки — 1С:EDT (Enterprise Development Tools), созданную на базе Eclipse.

В 1С:EDT реализован полноценный механизм конфигураций запуска (Run/Debug Configurations). Здесь вы можете:

Способ 4. Альтернативное решение для управления регламентными заданиями

Поскольку в качестве примера часто приводится ключ отключения регламентных заданий /AllowExecuteScheduledJobs -off, рассмотрим, как решить эту конкретную задачу стандартными средствами администрирования 1С без постоянной настройки параметров запуска.

Для клиент-серверного варианта базы:
Блокировка регламентных заданий легко настраивается централизованно. Откройте утилиту «Администрирование серверов 1С:Предприятия», зайдите в свойства вашей информационной базы и установите флаг Блокировка регламентных заданий включена. В этом случае ни одно фоновое задание не запустится, независимо от способа старта клиента.

Для файлового варианта базы:
Если ваша конфигурация построена на базе БСП (Библиотеки стандартных подсистем), вы можете управлять расписанием прямо в режиме «1С:Предприятие». Для этого:

  1. Перейдите в раздел Администрирование — Обслуживание — Регламентные операции.
  2. Используйте специализированные переключатели или обработку «Регламентные и фоновые задания» для временного отключения автоматического выполнения регламентных процедур на период проведения отладочных работ.

Этот статус сохраняется в информационной базе, что избавляет вас от необходимости передавать какие-либо параметры при каждом запуске по кнопке F5.

← На главную