При работе с базовыми версиями конфигураций 1С (такими как 1С:Бухгалтерия или 1С:Управление торговлей) разработчики часто сталкиваются с жесткими ограничениями: невозможностью изменения основной конфигурации и, как следствие, сложностью кастомизации пользовательского интерфейса. Одной из интересных задач является создание "внешнего меню" — специальной обработки, которая открывалась бы сразу при старте программы и служила бы основным рабочим местом пользователя. Разберем подробно, как это можно реализовать, учитывая технические особенности платформы.
Проанализируем самый прямой технический способ автоматизации запуска. Платформа 1С:Предприятие поддерживает набор ключей командной строки, которые позволяют управлять поведением системы при запуске. Для нашей задачи идеально подходит параметр /Execute.
Рассмотрим пошагово, как настроить такой запуск:
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F "D:\Bases\MyBase" /N "Админ" /P "Пароль" /Execute "C:\ExternalForms\MyMenu.epf"
В данном примере параметр /Execute указывает системе, что сразу после успешной авторизации пользователя необходимо открыть указанный файл обработки. Это позволяет имитировать запуск "АРМ" (автоматизированного рабочего места) без вмешательства в код конфигурации.
Выясним важный нюанс, касающийся расширений конфигурации. В сообщении на форуме упоминалось, что в базовых версиях нельзя использовать расширения. Это утверждение устарело. Начиная с версии платформы 8.3.14, использование расширений в базовых версиях разрешено, хотя и с определенными ограничениями.
Проанализируем ограничения расширений для базовых версий:
Это открывает гораздо более профессиональный путь: вместо внешней обработки можно создать расширение, в котором будет определена своя форма. Эту форму можно назначить Начальной страницей. В этом случае интерфейс будет открываться "бесшовно" без использования внешних файлов на диске, что гораздо надежней и удобней для пользователя.
Разберем ситуацию, которая часто возникает при использовании метода /Execute. Начиная с версии платформы 8.3.9, система при попытке запуска внешней обработки выдает предупреждение: "Безопасность: Выполняется запуск внешней обработки...". Это сводит на нет эффект "автоматического" интерфейса, так как требует лишнего клика от пользователя.
Чтобы убрать это предупреждение, проанализируем следующие способы:
УстановитьОтключениеБезопасногоРежима()./DisableStartupMessages, однако он не отключает саму защиту, а лишь скрывает некоторые системные уведомления.Посмотрим на штатные возможности БСП (Библиотеки стандартных подсистем), которая встроена в современные версии БП и УТ. Даже в базовых версиях доступен справочник "Дополнительные отчеты и обработки".
Загрузив вашу обработку в этот справочник, вы получаете следующие преимущества:
Выясним причину вопроса о планах обмена в контексте интерфейсов. Часто сложные интерфейсы-меню требуют обмена данными. В базовых версиях объекты ПланыОбмена существуют, но они жестко ограничены. Вы не можете создавать собственные узлы для распределенных информационных баз (РИБ), так как технология РИБ в базовых версиях заблокирована на уровне лицензии. Однако вы можете использовать существующие типовые планы обмена для интеграции с мобильными устройствами или другими сервисами.
Проанализировав ситуацию, мы можем сделать вывод, что наиболее современным и правильным решением для создания своего интерфейса в базовой версии является использование расширения конфигурации. Рассмотрим преимущества этого подхода перед внешним файлом:
Если же создание расширения по каким-то причинам невозможно, используйте параметр /Execute в строке запуска, предварительно отключив "Защиту от опасных действий" для конкретного пользователя, чтобы интерфейс появлялся мгновенно и без лишних вопросов системы.