К статье
Практический материал

Администрирование · 10 мин

Как получить параметры запуска 1С

Как получить параметры запуска 1С: ключи командной строки, настройка ярлыка, пакетный режим, обработка параметров в коде и типичные ошибки при запуске.

Параметры запуска 1С — это ключи командной строки, с которыми стартует исполняемый файл платформы (1cv8.exe, 1cv8c.exe или 1cv8s.exe). С их помощью задают режим запуска (конфигуратор, толстый или тонкий клиент), указывают информационную базу, пользователя, пароль и дополнительные настройки. Знание этих параметров нужно для автоматизации обновлений, регламентных заданий, тестирования и быстрого входа в нужную базу без диалоговых окон.

Есть два разных смысла фразы «получить параметры запуска». Первый — узнать, с какими параметрами была запущена текущая сеансовая копия 1С, то есть прочитать их изнутри. Второй — самостоятельно сформировать строку запуска с нужными ключами, чтобы платформа открылась в требуемом режиме. Оба сценария рассмотрены ниже: сначала разбор самих параметров, затем способы их задать и прочитать программно.

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

Какие параметры запуска существуют в 1С

Первый аргумент командной строки определяет режим работы платформы. Команда DESIGNER (или устаревший синоним CONFIG) открывает конфигуратор, ENTERPRISE — режим предприятия, CREATEINFOBASE — создание новой информационной базы. Если режим не указан, платформа обычно запускает диалог выбора информационной базы.

Дальше идут ключи, начинающиеся со слеша. Основные из них: /F"путь" — путь к файловой базе, /S"сервер\база" — адрес серверной базы, /N"имя" — имя пользователя, /P"пароль" — пароль, /DisableStartupDialogs и /DisableStartupMessages — подавление стартовых окон и сообщений. Для тонкого клиента используется /WS"адрес" при подключении через веб-сервер.

Отдельная группа — ключи пакетного режима конфигуратора: /DumpIB, /RestoreIB, /UpdateDBCfg, /Execute и другие. Они позволяют выгрузить базу, обновить конфигурацию или запустить внешнюю обработку без участия пользователя. Именно эти ключи лежат в основе большинства скриптов автоматизации.

Как задать параметры через ярлык

Самый простой способ — создать ярлык на рабочем столе и дописать ключи в поле «Объект». Нажмите правой кнопкой на ярлык, выберите «Свойства» и в конце строки с путём к 1cv8.exe добавьте нужные параметры через пробел. Путь к исполняемому файлу обычно выглядит как C:\Program Files\1cv8\<версия>\bin\1cv8.exe.

Пример строки для запуска файловой базы в режиме предприятия под конкретным пользователем:

text
"C:\Program Files\1cv8\8.3.22.1709\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Trade" /N"Иванов" /P"12345" /DisableStartupDialogs

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

Учтите: пароль, записанный в ярлыке, хранится в открытом виде и доступен любому, кто откроет свойства ярлыка. Для баз с чувствительными данными лучше не указывать /P и вводить пароль вручную, либо использовать аутентификацию операционной системы.

Как получить параметры запуска текущего сеанса

Если нужно узнать, с какими параметрами запущена уже работающая 1С, есть два пути. Первый — программный: во встроенном языке существует глобальная функция ПараметрЗапуска() (в английском синтаксисе — LaunchParameter()). Она возвращает строку, переданную через ключ /C при старте сеанса. Именно через /C принято передавать произвольные данные внутрь прикладного решения.

Пример чтения параметра в коде:

bsl
СтрокаПараметра = ПараметрЗапуска();
Если Не ПустаяСтрока(СтрокаПараметра) Тогда
    Сообщить("Передан параметр: " + СтрокаПараметра);
КонецЕсли;

Запуск с передачей параметра выглядит так: 1cv8.exe ENTERPRISE /F"D:\Bases\Trade" /C"РежимОтладки". Внутри сеанса ПараметрЗапуска() вернёт строку «РежимОтладки», и логика конфигурации может отреагировать на неё — например, открыть специальную обработку или включить расширенное логирование.

Второй путь — посмотреть командную строку процесса в операционной системе. В Windows откройте диспетчер задач, на вкладке «Подробности» добавьте столбец «Командная строка» и найдите процесс 1cv8.exe или 1cv8c.exe — вся строка запуска будет видна целиком. Альтернатива — команда PowerShell: Get-CimInstance Win32_Process -Filter "Name like '1cv8%'" | Select-Object ProcessId, CommandLine.

Пакетный режим конфигуратора для автоматизации

Для регламентных операций — обновления конфигурации, выгрузки базы, запуска обработок — конфигуратор запускают с ключами пакетного режима. Типовая последовательность: открыть базу через DESIGNER /F или /S, указать пользователя с правами администратора, затем передать команду вроде /UpdateDBCfg или /DumpIB"путь_к_файлу.dt".

Ключ /Execute"путь_к_epf" запускает внешнюю обработку при старте, а /C передаёт ей параметры — так строятся ночные обмены и загрузки. Чтобы понимать, что произошло во время пакетного запуска, добавляйте /Out"файл_лога": платформа запишет туда служебные сообщения, по которым можно диагностировать ошибку.

Настройка пакетного запуска
  1. 1
    Определите режим: DESIGNER для обновления или выгрузки, ENTERPRISE для запуска обработки
  2. 2
    Соберите строку запуска с ключами подключения к базе и пользователем с нужными правами
  3. 3
    Добавьте /Out с путём к файлу журнала для контроля результата
  4. 4
    Протестируйте команду вручную на копии базы
  5. 5
    Поставьте bat-файл в планировщик задач Windows и проверьте лог после первого выполнения

Обязательно проверяйте код возврата и содержимое лога: пакетный режим не показывает ошибки на экране, и «тихий» сбой обновления можно не заметить неделями. Признак успеха — отсутствие ошибок в файле, указанном в /Out, и ожидаемый результат в самой базе (обновлённая версия конфигурации, созданный файл выгрузки).

Параметры отладки и диагностики

Для разработчиков полезны ключи диагностики. /Debug запускает сеанс в режиме отладки, /DebuggerURL указывает адрес отладчика при отладке по протоколу HTTP. Ключ /AppAutoCheckMode включает автоматическую проверку конфигурации при обновлении, а /LogUI записывает действия пользователя в лог — это помогает воспроизводить ошибки, которые сложно описать словами.

Технологический журнал включается не через командную строку, а файлом настройки logcfg.xml в каталоге conf платформы. Не путайте эти механизмы: ключи командной строки действуют на конкретный запуск, а технологический журнал — на все процессы, для которых доступен файл настройки.

Типичные ошибки при работе с параметрами запуска

Типичные ошибки
01
Пропущены кавычки вокруг пути с пробелами — платформа обрезает путь и сообщает, что база не найдена
02
Перепутан порядок: режим (ENTERPRISE/DESIGNER) указан не первым аргументом, и строка разбирается неверно
03
Ключ /P с паролем оставлен в общедоступном bat-файле — учётные данные компрометируются
04
Пакетное обновление запущено без /Out — ошибка не зафиксирована, и сбой обнаруживается слишком поздно
05
Ожидается, что /C передаётся в конфигуратор, хотя ПараметрЗапуска() читается только в клиентском сеансе предприятия

Ещё одна частая ситуация — запуск не той версии платформы. Если на компьютере установлено несколько релизов, ярлык с жёстко прописанным путём к конкретной версии после обновления платформы начинает открывать старую. Либо обновляйте ярлыки, либо запускайте через стартер 1cestart.exe, который подбирает подходящую версию по настройкам базы.

Проверка результата и границы самостоятельной работы

Контрольные точки

Как проверить результат

База открылась после запуска по ярлыку
Норма

Открылся нужный режим и нужная база без диалога выбора

Тревожный признак

Появился диалог выбора базы или ошибка «информационная база не обнаружена»

Параметр /C получен в коде
Норма

ПараметрЗапуска() возвращает переданную строку

Тревожный признак

Функция возвращает пустую строку — ключ /C не передан или опечатка

Пакетная операция выполнена
Норма

В файле /Out нет строк об ошибках, результат виден в базе

Тревожный признак

Лог пустой или содержит ошибки, база не изменилась

Самостоятельно безопасно настраивать ярлыки, читать ПараметрЗапуска() и тестировать пакетные команды на копиях баз. К операциям, меняющим данные рабочей базы — /UpdateDBCfg, /RestoreIB, пакетные обработки загрузки — переходите только после успешного прогона на тестовой копии и при наличии свежей выгрузки. Восстановление через /RestoreIB полностью заменяет содержимое базы, ошибка здесь необратима без резервной копии.

Итог

Что важно запомнить

Параметры запуска 1С задаются ключами командной строки: режим (ENTERPRISE/DESIGNER), база (/F или /S), пользователь (/N, /P), служебные ключи. Прочитать переданный через /C параметр можно функцией ПараметрЗапуска(), а командную строку работающего процесса — через диспетчер задач. Пакетные операции всегда сопровождайте логом /Out и тестируйте на копии.

Частые вопросы

Чем отличаются 1cv8.exe, 1cv8c.exe и 1cestart.exe?

1cv8.exe — толстый клиент и конфигуратор, 1cv8c.exe — тонкий клиент, 1cestart.exe — стартер, который по настройкам базы сам выбирает нужную версию платформы и вид клиента. Для ярлыков с явной версией используют 1cv8.exe, для универсального запуска — 1cestart.exe.

Можно ли передать несколько значений через /C?

Ключ /C принимает одну строку, но её можно структурировать самостоятельно — например, через разделитель: /C"Режим=Обмен;Файл=D:\data.xml". В коде строка разбирается функциями СтрРазделить или СтрНайти.

Почему ПараметрЗапуска() возвращает пустую строку?

Чаще всего ключ /C просто не был указан при запуске или есть опечатка в регистре буквы. Также функция работает в клиентском сеансе предприятия — в конфигураторе она не вернёт переданное значение.

Как запустить 1С без выбора базы и ввода пароля?

Укажите в ярлыке режим, базу (/F или /S), имя пользователя /N и пароль /P, плюс /DisableStartupDialogs. Учтите, что пароль будет храниться в открытом виде — для общих компьютеров безопаснее использовать аутентификацию операционной системы.

Где посмотреть полный список ключей командной строки?

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