Как реализовать автоматическое открытие внешней обработки при запуске 1С без изменения конфигурации?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет Торговля и дистрибуция
← На главную

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

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

Способ 1. Использование ключа запуска /Execute

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

Для реализации этого метода нам понадобится отредактировать ярлык, через который пользователь запускает программу, или создать командный файл (.bat). Проанализируем структуру строки запуска:

  1. Найдите путь к исполняемому файлу платформы (обычно это 1cv8.exe).
  2. В свойствах ярлыка в поле "Объект" после пути к программе добавьте параметры подключения к базе и ключ запуска обработки.

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


"C:\Program Files\1cv8\common\1cv8.exe" ENTERPRISE /F "C:\Bases\Trade" /Execute "C:\ExternalFiles\MyWorkplace.epf"

Пример для клиент-серверного варианта:


"C:\Program Files\1cv8\common\1cv8.exe" ENTERPRISE /S "ServerName\BaseName" /N "СкладскойРаботник" /P "Пароль" /Execute "D:\1C_Data\StartForm.epf"

Разберем, что делают эти параметры:

Способ 2. Автоматизация через файл параметров запуска (.v8i)

Если пользователей много и править ярлыки на каждом компьютере неудобно, мы можем воспользоваться редактированием файла списка информационных баз ibases.v8i. Этот файл обычно располагается в папке %AppData%\1C\1CEStart.

Рассмотрим структуру этого файла. Каждая база в нем описана отдельным блоком. Мы можем добавить строку дополнительных параметров запуска для конкретной информационной базы:


[Управление торговлей]
Connect=Srvr="Server";Ref="TradeBase";
ID=...
OrderInList=1
Folder=/
AdditionalParameters=/Execute "C:\Path\To\File.epf"

Таким образом, при выборе этой базы из общего списка, 1С автоматически подхватит параметр AdditionalParameters и запустит нужную обработку.

Способ 3. Использование параметра запуска /C и справочника «Дополнительные отчеты и обработки»

Иногда хранение файла обработки на диске компьютера небезопасно или неудобно для обновления. В УТ 11 реализован мощный механизм БСП — справочник ДополнительныеОтчетыИОбработки. Мы можем загрузить нашу обработку в базу, а для автозапуска использовать ключ /C.

Алгоритм действий следующий:

  1. Загружаем обработку в справочник "Дополнительные отчеты и обработки".
  2. Выясним, что ключ /C передает текстовую строку в конфигурацию, которую можно прочитать функцией ПараметрыСеанса.ПараметрыЗапуска.
  3. Для реализации запуска без изменения конфигурации можно использовать небольшое Расширение. В расширении, в модуле управляемого приложения, в процедуре ПриНачалеРаботыСистемы, проанализируем параметр запуска.

Пример логики для расширения:


&После("ПриНачалеРаботыСистемы")
Процедура Расш1_ПриНачалеРаботыСистемы()
    Если СтрНайти(ПараметрыСеанса.ПараметрыЗапуска, "ЗапуститьРабочееМесто") > 0 Тогда
        // Код поиска обработки в справочнике и ее открытия
        // Используем методы БСП: ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьКоманду()
    КонецЕсли;
КонецПроцедуры

Этот метод считается более "чистым", так как код обработки хранится в базе данных, а не в файловой системе.

Важные нюансы и безопасность

При использовании ключа /Execute мы обязательно столкнемся с системой защиты платформы. Проанализируем, как сделать работу комфортной:

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

/DisableStartupMessages

2. Права доступа. Убедимся, что у пользователя, под которым происходит запуск, назначена роль Интерактивное открытие внешних отчетов и обработок. Без этой роли платформа заблокирует выполнение команды /Execute из соображений безопасности.

3. Режим работы (Веб-клиент). Стоит учитывать, что ключ /Execute работает в тонком и толстом клиенте. Если ваши сотрудники работают через браузер, данный метод не применим в прямом виде, и следует использовать настройку Начальной страницы (рабочего стола).

Настройка начальной страницы (альтернативный путь)

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

В этом случае обработка будет открываться всегда при входе пользователя, без каких-либо дополнительных ключей в ярлыке. Это наиболее стабильный вариант для складских интерфейсов и ТСД.

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

← На главную