При разработке конфигураций на управляемых формах в 1С:Предприятие 8.3 часто возникает задача убрать стандартную вкладку «Рабочий стол» (в интерфейсе «Такси» — «Начальная страница») для всех пользователей сразу, без необходимости ручной настройки интерфейса на каждом клиентском месте.
Рассмотрим архитектурные особенности платформы 1С, выясним, почему системную вкладку нельзя удалить одной галочкой в конфигураторе, и разберем практические способы решения задачи с помощью программного кода и параметров запуска.
Проанализируем, как устроен интерфейс клиентского приложения 1С. Начальная страница является базовым системным контейнером интерфейса управляемого приложения. В структуре платформы не предусмотрено отдельного свойства конфигурации или единого системного флага, позволяющего полностью исключить этот элемент из структуры окон.
Попытка отключить начальную страницу через права или роли также не приведет к желаемому результату: платформа требует наличия стартовой рабочей области. Однако разработчик может полностью контролировать состав начальной страницы, скрывать ее содержимое, массово распространять настройки между пользователями или переопределять стартовый фокус программы.
Разберем самый простой вариант, когда на начальной странице не должно отображаться никаких стандартных форм и отчетов:
Если начальная страница пуста, она не выполняет лишних запросов к базе данных при старте программы, а пользователю отображается чистое рабочее пространство без лишних элементов.
Если для пользователей уже сформированы индивидуальные настройки начальной страницы, или требуется централизованно задать состав форм для сотен учетных записей без использования библиотек вроде БСП, применим метод ХранилищеСистемныхНастроек.Сохранить().
Посмотрим на пример обработки, которая перебирает всех пользователей информационной базы и программно перезаписывает структуру начальной страницы:
НастройкиСтраницы = Новый НастройкиНачальнойСтраницы;
// Задаем пустые или требуемые формы для колонок
// НастройкиСтраницы.ЛеваяКолонка.Добавить(...);
// НастройкиСтраницы.ПраваяКолонка.Добавить(...);
ВыборкаПользователей = ПользователиИнформационнойБазы.ПолучитьПользователей();
Для Каждого ТекПользователь Из ВыборкаПользователей Цикл
ХранилищеСистемныхНастроек.Сохранить(
"Общее/НастройкиНачальнойСтраницы",
"",
НастройкиСтраницы,
,
ТекПользователь.Имя
);
КонецЦикла;
Такой подход позволяет пакетно применить нужный состав интерфейса без подключения сторонних библиотек и прямого вмешательства в клиентские сеансы.
Если цель состоит в том, чтобы пользователи сразу начинали работу с конкретным журналом документов или рабочим местом, минуя начальную страницу, настроим автоматическое открытие целевой формы.
В модуле управляемого приложения в процедуре ПриНачалеРаботыСистемы() добавим открытие нужной формы:
Процедура ПриНачалеРаботыСистемы()
// Открываем основную рабочую форму
ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаСписка");
КонецПроцедуры
При таком подходе фокус клиентского приложения сразу смещается на открытую форму, а начальная страница остается на заднем плане в неактивном состоянии.
Рассмотрим дополнительные возможности платформы для кастомизации интерфейса:
/DisableHomePageForms, который принудительно отключает отображение форм на начальной странице в рамках текущего сеанса.Таким образом, хотя платформенно удалить сам контейнер начальной страницы нельзя, комбинация очистки рабочей области, программного управления через НастройкиНачальнойСтраницы и автоматического открытия рабочих журналов позволяет полностью решить задачу адаптации интерфейса для любого количества пользователей.