Чтобы в 1С:ERP при начале работы системы открывалась ваша форма, не нужно писать свой обработчик запуска: в конфигурации уже есть механизм «форм, открываемых при начале работы». Достаточно добавить значение в перечисление ФормыОткрываемыеПриНачалеРаботыСистемы, описать форму в функции НастройкиФормы общего модуля ОткрытиеФормПриНачалеРаботыСистемыКлиентСерверПереопределяемый и создать роль. Всё делается в расширении, без снятия конфигурации с поддержки.
Ниже — пошаговая настройка для обработки из расширения, затем вариант, когда при запуске открывается внешняя обработка из справочника дополнительных отчётов и обработок. Пример проверялся на ERP 2.5; в других версиях имена объектов стоит сверить в конфигураторе.
Как устроен типовой механизм
Механизм используется для рабочих мест, которые должны открываться сразу после входа: помощник продаж, рабочее место кассира (РМК), кладовщика, монитор целевых показателей. Он состоит из четырёх частей:
| Объект | Назначение |
|---|---|
Перечисление ФормыОткрываемыеПриНачалеРаботыСистемы | Список форм, доступных для автозапуска |
Функция НастройкиФормы(Форма) в переопределяемом модуле | Для каждого значения: имя формы, роль, параметр запуска, форма настроек |
| Роль | Определяет, каким пользователям форма доступна |
Регистр сведений НастройкиОткрытияФормПриНачалеРаботыСистемы | Персональные настройки: открывать ли форму по умолчанию |
Логика простая: если у пользователя есть роль, указанная для формы, в его карточке появляется настройка; если в ней стоит флажок «открывать по умолчанию» или клиент запущен с указанным параметром, форма открывается при старте.

Шаг 1. Обработка и роль в расширении
- В расширении создайте обработку, например
Расш_РабочееМесто, и формуФорма. Для механизма важны только наличие формы и её полное имя. - Создайте роль
Расш_ИспользованиеРабочегоМестас правами «Использование» и «Просмотр» на эту обработку.
Префикс расширения в именах обязателен: так объекты не конфликтуют с типовыми и сразу видно, откуда они взялись.
Шаг 2. Значение перечисления
Заимствуйте в расширение перечисление ФормыОткрываемыеПриНачалеРаботыСистемы и добавьте в него значение Расш_РабочееМесто. Имя значения удобно делать равным имени обработки — меньше путаницы при поддержке.
Шаг 3. Настройки формы в переопределяемом модуле
Функция НастройкиФормы — это цепочка Если ... ИначеЕсли по значениям перечисления. Добавить ветку можно только изменением функции, поэтому заимствуем её с аннотацией &ИзменениеИКонтроль и вставляем свой блок перед КонецЕсли:
&ИзменениеИКонтроль("НастройкиФормы")
Функция Расш_НастройкиФормы(Форма)
СтруктураПараметров = ОписаниеНастроекФормы();
Если Форма = ПредопределенноеЗначение("Перечисление.ФормыОткрываемыеПриНачалеРаботыСистемы.ПомощникПродаж") Тогда
СтруктураПараметров.Вставить("ИмяЗапускаемойФормы", "Обработка.ПомощникПродаж.Форма.Форма");
СтруктураПараметров.Вставить("Роль", "ИспользованиеПомощникаПродаж");
СтруктураПараметров.Вставить("ПараметрЗапуска", "SaleAssistant");
// ... остальные типовые ветки без изменений ...
#Вставка
ИначеЕсли Форма = ПредопределенноеЗначение("Перечисление.ФормыОткрываемыеПриНачалеРаботыСистемы.Расш_РабочееМесто") Тогда
СтруктураПараметров.Вставить("ИмяЗапускаемойФормы", "Обработка.Расш_РабочееМесто.Форма.Форма");
СтруктураПараметров.Вставить("Роль", "Расш_ИспользованиеРабочегоМеста");
СтруктураПараметров.Вставить("ПараметрЗапуска", "CustomWorkplace");
#КонецВставки
КонецЕсли;
Возврат СтруктураПараметров;
КонецФункцииВ конфигураторе при заимствовании тело функции переносится целиком — здесь типовые ветки сокращены для читаемости. Следите за точностью строк: лишний пробел в имени формы или роли ("Обработка. Расш_...", " Расш_...") механизм не простит, и форма просто не откроется без всяких ошибок.
Для типовых форм в той же структуре встречаются ключи НеобходимыНастройки и ИмяФормыНастроек — если рабочему месту нужны параметры (склад, касса), можно указать форму их настройки, и она откроется перед первым запуском.
Почему ИзменениеИКонтроль, а не Вместо: при обновлении ERP платформа сравнит типовой текст функции с сохранённым в расширении и покажет расхождения. С аннотацией Вместо вы бы молча потеряли новые типовые ветки. Подробнее о выборе аннотаций — в разделе расширения 1С.
Шаг 4. Профиль, группа доступа и настройка пользователя
- Обновите конфигурацию базы данных (для расширения — примените его).
- В режиме предприятия создайте профиль групп доступа с ролью из шага 1 и группу доступа по этому профилю, добавьте в неё пользователей.
- Откройте карточку пользователя: по гиперссылке настройки открытия форм появится ваша форма. Установите флажок «открывать по умолчанию» и запишите.
- Перезапустите сеанс — форма откроется сразу после входа.
Вместо флажка можно использовать параметр запуска. Значение ключа ПараметрЗапуска передаётся через ключ командной строки /C, например в ярлыке:
1cv8c.exe ENTERPRISE /S "srv-1c\erp" /C CustomWorkplaceЭто удобно для выделенных рабочих мест: на компьютере склада ярлык сразу открывает рабочее место кладовщика, а в офисе тот же пользователь входит как обычно. На мобильном клиенте поведение с параметром запуска может отличаться — проверяйте на целевом устройстве.
Вариант с внешней обработкой
Бывает, что рабочее место меняется часто, а обновление базы проходит раз в неделю по регламенту. Тогда удобнее держать саму логику во внешней обработке в справочнике «Дополнительные отчёты и обработки», а обработка из расширения служит только «стартером»: находит внешнюю обработку, подключает её и открывает.
Договоримся о соглашении: имя объекта внешней обработки = имя обработки-стартера + суффикс _ВО, публикация — «Используется», основная форма называется Форма.
#Область ОбработчикиСобытийФормы
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ИмяСтартера = РеквизитФормыВЗначение("Объект").Метаданные().Имя;
ИмяВнешнейОбработки = ИмяСтартера + "_ВО";
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 1
| ДопОбработки.Ссылка КАК Ссылка
|ИЗ
| Справочник.ДополнительныеОтчетыИОбработки КАК ДопОбработки
|ГДЕ
| ДопОбработки.ИмяОбъекта = &ИмяОбъекта
| И ДопОбработки.Публикация = ЗНАЧЕНИЕ(Перечисление.ВариантыПубликацииДополнительныхОтчетовИОбработок.Используется)
| И НЕ ДопОбработки.ПометкаУдаления";
Запрос.УстановитьПараметр("ИмяОбъекта", ИмяВнешнейОбработки);
Выборка = Запрос.Выполнить().Выбрать();
Если Не Выборка.Следующий() Тогда
// Внешняя обработка не загружена — форму-стартер не открываем.
Отказ = Истина;
Возврат;
КонецЕсли;
// Подключение средствами БСП: учитываются настройки безопасности.
ИмяПодключеннойОбработки = ДополнительныеОтчетыИОбработки.ПодключитьВнешнююОбработку(Выборка.Ссылка);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
// Открытие другой формы и закрытие текущей разносим по времени.
ПодключитьОбработчикОжидания("ОткрытьВнешнююФорму", 0.1, Истина);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ОткрытьВнешнююФорму()
ОткрытьФорму("ВнешняяОбработка." + ИмяПодключеннойОбработки + ".Форма.Форма");
Закрыть();
КонецПроцедуры
#КонецОбластиИмяПодключеннойОбработки — реквизит формы типа «Строка». Открытие внешней формы вынесено в обработчик ожидания: стандарты не рекомендуют открывать другие формы прямо в ПриОткрытии и закрывать форму в том же обработчике, где она открывается.
Если соглашение об именах кажется хрупким, имя внешней обработки можно хранить в константе или в настройке, а не вычислять. Главное — чтобы при отсутствии обработки пользователь просто попадал в обычный интерфейс, а не видел ошибку.
Типичные ошибки
- Опечатки и пробелы в строках имени формы и роли — механизм молча игнорирует такую форму.
- Нет профиля с ролью — настройка в карточке пользователя не появляется.
ВместовместоИзменениеИКонтроль— после обновления пропадают новые типовые рабочие места.- Внешняя обработка не опубликована или помечена на удаление — стартер не находит её.
- Тяжёлая логика в
ПриСозданииНаСерверестартовой формы — вход в программу заметно замедляется у всех пользователей с этой ролью.
Если таких точек входа и рабочих мест несколько, их удобно собрать в одно расширение и сопровождать как отдельный продукт — это обычная часть доработки 1С и проектов внедрения 1С:ERP.
Коротко
- В ERP есть готовый механизм автозапуска форм: перечисление, функция
НастройкиФормы, роль и регистр пользовательских настроек. - Своя форма подключается в расширении: значение перечисления, ветка в
НастройкиФормычерез&ИзменениеИКонтроль, роль. - Пользователь включает автозапуск в своей карточке либо клиент запускается с параметром
/C. - Для часто меняющихся рабочих мест удобна схема «стартер в расширении + внешняя обработка из справочника БСП».
- Внимательно проверяйте строки с именами форм и ролей — ошибки в них не выдают сообщений.




