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

Разработка и Конфигурация · 10 мин

Как установить форму при открытии 1С

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

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

Выбор способа зависит от задачи. Если нужно изменить стартовый экран только для себя — достаточно пользовательских настроек. Если требуется единое поведение для всех пользователей или для отдельной группы — потребуется доработка конфигурации или настройка подсистем. Ниже разобраны все основные варианты с конкретными шагами и ограничениями.

Что такое начальная страница и как она формируется

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

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

Настройка начальной страницы для себя

Самый простой способ установить нужную форму при открытии — настроить начальную страницу в пользовательском режиме. Для этого откройте Главное меню (кнопка с логотипом в левом верхнем углу), выберите пункт «Вид» → «Настройка начальной страницы». Откроется окно с двумя колонками: слева доступные формы, справа — формы, включенные в начальную страницу.

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

У этого способа есть ограничение: в списке доступных форм отображаются только те объекты, для которых разработчик включил видимость на начальной странице и на которые у пользователя есть права. Если нужной формы в списке нет, потребуется доработка конфигурации или программный способ.

Порядок действий
  1. 1
    Откройте Главное меню → Вид → Настройка начальной страницы
  2. 2
    Перенесите нужную форму из левой колонки в правую
  3. 3
    Удалите лишние формы из правой колонки, если нужна только одна
  4. 4
    Нажмите ОК и проверьте результат после перезапуска сеанса

Программное открытие формы при запуске

Когда нужно открыть форму принудительно — например, форму первоначального заполнения при первом запуске базы — используется обработчик ПриНачалеРаботыСистемы в модуле управляемого приложения (для тонкого и веб-клиента). В нем вызывается метод ОткрытьФорму() с указанием имени формы.

Типичный пример для открытия обработки при старте:

Процедура ПриНачалеРаботыСистемы()

Если Не НачальнаяНастройкаВыполнена() Тогда

ОткрытьФорму("Обработка.ПервоначальнаяНастройка.Форма");

КонецЕсли;

КонецПроцедуры

Обратите внимание: код в этом обработчике выполняется на клиенте, поэтому обращение к серверным функциям требует вызова серверной процедуры из общего модуля с флагом «Сервер». Также учитывайте, что блокирующие (модальные) вызовы в управляемом приложении ограничены — для модального открытия используйте ОткрытьФормуМодально только если режим использования модальности разрешен в свойствах конфигурации, иначе применяйте описания оповещений.

bsl
Процедура ПриНачалеРаботыСистемы()
    ОткрытьФорму("Справочник.Номенклатура.Форма.ФормаСписка");
КонецПроцедуры

Открытие формы по условию: роль, пользователь, первый запуск

На практике редко нужно открывать одну и ту же форму всем. Чаще требуется логика: кассирам — одно, менеджерам — другое, а при первом запуске базы — мастер настройки. Для этого в обработчике старта проверяются условия.

Для определения роли текущего пользователя используется серверный вызов: Пользователи.РолиДоступны("Кассир") в типовых конфигурациях на БСП или РольДоступна("Кассир") в простых решениях. Признак первого запуска обычно хранят в константе или в хранилище общих настроек — функция ХранилищеОбщихНастроек.Загрузить() позволяет проверить, выполнялась ли настройка ранее.

Также полезен параметр запуска /C в командной строке: он передает строку, доступную через глобальный контекст ПараметрЗапуска. Это позволяет открывать разные формы для разных ярлыков запуска без изменения кода.

Маршрут решения

Как выбрать действие

Форма нужна только конкретному пользователюНастройте начальную страницу через Главное меню → Вид
Форма нужна всем пользователям или по условиюИспользуйте ПриНачалеРаботыСистемы с ОткрытьФорму()
Разные формы для разных ролейПроверяйте роль через РольДоступна() в серверном вызове
Разные формы для разных ярлыков запускаПередавайте параметр через /C и читайте ПараметрЗапуска

Настройка через подсистемы и командный интерфейс

В конфигурациях, построенных на подсистемах (все типовые решения), видимость разделов и состав начальной страницы во многом определяется правами и функциональными опциями. Если пользователю недоступна подсистема «Продажи», соответствующие формы не попадут ни в панель разделов, ни в список для начальной страницы.

Разработчик может включить конкретную форму в начальную страницу через свойства объекта метаданных: у справочников, документов и обработок в свойствах формы и в настройках командного интерфейса начальной страницы (команда «Начальная страница» в панели навигации конфигуратора). Там же задается видимость по умолчанию для всех пользователей.

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

Обычное приложение: особенности для старых конфигураций

В конфигурациях на обычных формах (режим обычного приложения, характерен для 1С:Предприятия 8.2 и ранних решений на 8.3) механизм другой. Здесь используется модуль обычного приложения с тем же обработчиком ПриНачалеРаботыСистемы, а формы открываются методом Открыть() объекта формы: Обработки.РабочийСтол.ПолучитьФорму().Открыть().

Кроме того, в обычном приложении есть понятие «рабочий стол», который сам по себе является формой, задаваемой в свойствах конфигурации (свойство «Рабочий стол»). Назначив туда свою общую форму, можно полностью заменить стартовый экран без кода.

Проверка результата и типичные ошибки

После настройки перезапустите сеанс и убедитесь, что нужная форма открылась, не появилось ошибок прав доступа и окно не закрывается сразу после открытия. Проверьте поведение под пользователем с ограниченными правами — частая проблема, когда под администратором всё работает, а у рядового пользователя форма не открывается из-за нехватки прав на объект.

Типичные ошибки
01
Открытие формы в ПриНачалеРаботыСистемы без проверки условия — форма открывается при каждом входе и мешает работе
02
Вызов серверного кода напрямую из клиентского обработчика — ошибка компиляции или падение при старте
03
Использование модальных вызовов при запрещенной модальности — форма не открывается в веб-клиенте
04
Игнорирование прав пользователя — у части пользователей ошибка «Нарушение прав доступа» при входе
05
Доработка типовой конфигурации без расширения — изменения теряются при обновлении

Для типовых конфигураций, находящихся на поддержке, любые доработки модуля приложения делайте через расширение конфигурации. Прямое изменение модуля снимает конфигурацию с полной поддержки и усложняет обновления.

Проверка результата

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

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

Перезапуск сеанса
Норма

Нужная форма открывается автоматически и остается доступной

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

Форма не открывается, появляется ошибка или окно сразу закрывается

Вход под пользователем с ограниченными правами
Норма

Форма открывается без сообщений о нарушении прав

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

Ошибка «Нарушение прав доступа» при входе

Повторный вход в течение дня
Норма

Форма открывается по заданному условию (например, только при первом запуске)

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

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

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

Итог

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

Для себя начальную форму настраивают через Главное меню → Вид → Настройка начальной страницы. Для всех пользователей или по условию — кодом в ПриНачалеРаботыСистемы с ОткрытьФорму(). Доработки типовых конфигураций выполняйте через расширение и проверяйте на копии базы.

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

Как открыть форму только при первом запуске базы?

Сохраните признак выполненной настройки в константе или хранилище общих настроек. В обработчике ПриНачалеРаботыСистемы проверьте этот признак через серверный вызов: если настройка не выполнялась, откройте форму мастера, а после завершения настройки запишите признак.

Почему в списке настройки начальной страницы нет нужной формы?

Форма попадает в этот список, только если разработчик включил её видимость на начальной странице в конфигураторе и у пользователя есть права на объект. Решение — доработка конфигурации (через расширение) или программное открытие формы при старте.

Можно ли открывать разные формы для разных пользователей без доработки конфигурации?

Да, если каждый пользователь сам настроит свою начальную страницу через Главное меню → Вид. Централизованно без доработки это не задается — потребуется код с проверкой роли или имени пользователя.

Форма не открывается в веб-клиенте, хотя в тонком работает. В чем причина?

Чаще всего причина в модальном вызове ОткрытьФормуМодально при запрещенном режиме модальности или в использовании методов, недоступных в веб-клиенте. Замените модальное открытие на ОткрытьФорму с описанием оповещения о закрытии.

Как вернуть стандартную начальную страницу после экспериментов?

Откройте Главное меню → Вид → Настройка начальной страницы и удалите все формы из правой колонки или верните состав по умолчанию. Если настройки сохранены в пользовательском профиле, их можно сбросить через управление настройками пользователя в разделе администрирования.

Можно ли открыть форму через ярлык запуска, не меняя конфигурацию?

Да. Добавьте в командную строку запуска параметр /C с произвольной строкой, например /C"ОткрытьЗаказы". Но для обработки этого параметра код в ПриНачалеРаботыСистемы всё равно нужен — без него параметр просто игнорируется.