При автоматизации работы в среде 1С часто возникает задача запустить конкретную обработку сразу при входе пользователя в систему. Если речь идет о внешнем файле (.epf), обычно используют параметр командной строки /Execute. Однако этот метод имеет существенный недостаток: система требует явного разрешения на использование внешних файлов, что не всегда удобно или безопасно. Если же обработка уже добавлена в справочник «Дополнительные отчеты и обработки» Библиотеки стандартных подсистем (БСП), мы можем использовать более элегантные и безопасные механизмы запуска.
В данной статье мы разберем несколько способов решения этой задачи, начиная от простых параметров командной строки и заканчивая программным вызовом через механизмы БСП.
Наиболее простым и штатным способом является использование параметра /URL. Этот параметр указывает платформе, что после запуска необходимо сразу перейти по указанной ссылке. Для вызова сервиса дополнительных обработок в БСП используется специальная навигационная ссылка.
Рассмотрим по шагам, как сформировать строку запуска:
/URL с навигационной ссылкой на общую команду.Проанализируем пример корректной строки запуска, который был успешно проверен на практике:
"C:\Program Files (x86)\1cv8\common\1cestart.exe" /F"D:\Bases\MyConfig" /N"Администратор" /P"123" /URL "e1cib/command/ОбщаяКоманда.ДополнительныеОбработкиСервис"
Обратите внимание на синтаксис: после ключевого слова /URL должна идти навигационная ссылка в кавычках. В данном примере ссылка e1cib/command/ОбщаяКоманда.ДополнительныеОбработкиСервис открывает окно со списком всех доступных пользователю дополнительных обработок раздела.
Если нам нужно открыть не просто список, а форму конкретного элемента из справочника ДополнительныеОтчетыИОбработки, мы можем сформировать прямую ссылку на данные. Каждая запись в базе имеет свой UUID (уникальный идентификатор).
Для реализации этого метода выполним следующие действия:
UUID нужной обработки (это можно сделать программно или через консоль запросов).e1cib/data/Справочник.ДополнительныеОтчетыИОбработки?ref=Идентификатор./URL.Разберем пример такой ссылки:
/URL "e1cib/data/Справочник.ДополнительныеОтчетыИОбработки?ref=856d11f87964b97111e6120899386d98"
Такой подход позволяет пользователю сразу увидеть карточку обработки или запустить её выполнение, если в конфигурации прописана логика обработки параметров навигационной ссылки при открытии.
Иногда требуется более гибкая логика, например, не просто открыть форму, а выполнить конкретную команду обработки с определенными параметрами. В этом случае удобно использовать параметр командной строки /C, который передает произвольную строку в глобальную переменную ПараметрЗапуска.
Рассмотрим алгоритм реализации этого метода:
/C "ИмяНужнойНамКоманды".ПриНачалеРаботыСистемы.ПараметрЗапуска и вызывает методы БСП.Посмотрим на пример кода в модуле управляемого приложения:
Процедура ПриНачалеРаботыСистемы()
Если СтрНайти(ПараметрЗапуска, "ЗапуститьОбработкуЗагрузки") > 0 Тогда
// Код для поиска обработки в справочнике
СсылкаНаОбработку = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию("Загрузка данных");
Если Не СсылкаНаОбработку.Пустая() Тогда
// Используем программный интерфейс БСП для запуска
ПараметрыВыполнения = ДополнительныеОтчетыИОбработкиКлиент.ПараметрыВыполненияКоманды();
ДополнительныеОтчетыИОбработкиКлиент.ВыполнитьКоманду(СсылкаНаОбработку, ПараметрыВыполнения);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
Этот метод считается наиболее профессиональным для системных интеграций, так как позволяет полностью контролировать процесс запуска и обходить любые интерактивные вопросы системы.
При использовании дополнительных обработок, даже если они хранятся внутри базы данных, следует помнить о механизмах защиты платформы 1С:Предприятие:
COM-объектами, необходимо в карточке дополнительной обработки настроить профиль безопасности или указать необходимые разрешения.ДополнительныеОтчетыИОбработки и на использование общей команды ДополнительныеОбработкиСервис.Таким образом, мы выяснили, что для запуска встроенных обработок не нужно использовать небезопасный параметр /Execute. Использование навигационных ссылок через /URL или передача команд через /C являются стандартными и рекомендуемыми способами работы в конфигурациях на базе БСП.