При работе в программных продуктах на платформе 1С:Предприятие 8.3 пользователи часто сталкиваются с ситуацией, когда открываемые документы, справочники или отчеты появляются в виде небольших или свободно перемещаемых окон. Это заставляет каждый раз вручную нажимать кнопку развертывания, что существенно снижает скорость работы и утомляет. Особенно остро эта проблема проявляется при переходе между различными конфигурациями или при обновлении платформы.
В этой статье мы подробно разберем, как решить эту задачу раз и навсегда. Мы рассмотрим различные сценарии: от простых пользовательских настроек в современном интерфейсе «Такси» до специализированных конфигурационных изменений для разработчиков, а также нюансы работы в устаревшем толстом клиенте.
В современных конфигурациях 1С (таких как «Бухгалтерия предприятия 3.0», «Управление нашей фирмой», «Зарплата и управление персоналом» и др.), использующих интерфейс «Такси», поведение окон чаще всего определяется персональными настройками отображения. Если у вас документы открываются в отдельных плавающих окнах, скорее всего, в программе включен многооконный режим. Мы можем легко переключить его в режим работы с вкладками.
Давайте разберем этот процесс по шагам:
После перезапуска все открываемые объекты будут автоматически разворачиваться на всю рабочую область программы, а переключение между ними станет удобным благодаря панели вкладок в верхней части экрана.
Если вы являетесь администратором или разработчиком конфигурации, вы можете жестко зафиксировать поведение главного окна программы для всех пользователей без необходимости ручной настройки каждого рабочего места. Начиная с версии платформы 1С 8.3.10, разработчикам доступен специализированный инструмент управления основным окном.
Проанализируем свойства конфигурации в режиме Конфигуратор. У корневого элемента дерева метаданных (конфигурации) существует свойство Режим основного окна клиентского приложения. Мы можем установить его в одно из следующих значений:
Также мы можем управлять этим поведением программно в модуле управляемого приложения. Рассмотрим пример кода, который принудительно запускает систему в режиме полноэкранного рабочего места:
Процедура ПередНачаломРаботыСистемы(Отказ)
// Устанавливаем полноэкранный режим для главного окна приложения
КлиентскоеПриложение.УстановитьРежимОсновногоОкна(РежимОсновногоОкнаКлиентскогоПриложения.ПолноэкранноеРабочееМесто);
КонецПроцедуры
Этот код гарантирует, что у любого пользователя при запуске приложения интерфейс сразу же развернется на весь экран.
Если вы работаете в старых конфигурациях (например, «Управление производственным предприятием 1.3» или «Управление торговлей 10.3»), использующих обычные формы и толстый клиент, поведение окон отличается. В таких интерфейсах нет глобальной настройки «В закладках».
Однако в платформу 1С изначально заложен встроенный механизм сохранения индивидуальных настроек пользователя. Выясним, как заставить его работать на нас:
Esc / Ctrl + Enter).При закрытии формы платформа автоматически запишет текущие координаты и размеры окна в кэш настроек текущего пользователя. При следующем открытии любого документа этого же типа программа считает эти данные и распахнет форму на весь экран. Для управления такими параметрами и их сброса подойдёт обработка для очистки и восстановления хранилища настроек пользователей.
Иногда возникает техническая проблема: пользователь пытается развернуть окно на весь экран, но кнопка «Развернуть» заблокирована (неактивна), либо при попытке растянуть окно мышкой элементы внутри него остаются маленькими, а сама форма сжимается обратно. Это происходит из-за некорректно настроенных привязок в Конфигураторе.
Давайте разберем по шагам, как разработчик может исправить эту ситуацию:
Ctrl + R.После правильной настройки привязок форма станет адаптивной и сможет без проблем разворачиваться на весь экран устройства.
Если нам требуется открывать во весь экран не все приложение целиком, а только определенное специализированное рабочее место (например, интерфейс кассира — РМК или панель оператора склада), мы можем применить программные хитрости.
Во-первых, мы можем использовать свойство формы РежимОткрытияОкна, установив его в значение Блокировать весь интерфейс. Также при вызове метода ОткрытьФорму() мы можем передавать параметры, блокирующие изменение размеров сторонних элементов.
Во-вторых, для толстого клиента существует классический обходной путь с использованием эмуляции нажатия системных клавиш через скрипты операционной системы Windows. Посмотрим на пример кода, который имитирует нажатие комбинации клавиш Alt + Пробел с последующим выбором пункта «Развернуть» при открытии формы:
Процедура ПриОткрытии()
Попытка
// Создаем объект для работы с системным окружением Windows
WSHShell = Новый COMОбъект("WScript.Shell");
// Отправляем комбинацию Alt + Пробел для вызова системного меню окна
WSHShell.SendKeys("% ");
// Имитируем два нажатия стрелки вверх для перехода к пункту "Развернуть" и нажимаем Enter
WSHShell.SendKeys("{UP}{UP}{ENTER}");
Исключение
// Игнорируем ошибку, если COM-объект недоступен (например, в веб-клиенте)
КонецПопытки;
КонецПроцедуры
Этот прием позволяет гарантированно распахнуть окно даже в тех случаях, когда стандартные методы платформы по каким-то причинам не отрабатывают. Для запуска приложения в режиме обычных форм на полный экран без системного заголовка можно применить решение для полноэкранного запуска 1С без заголовка окна.
Стоит отметить, что разработчики платформы постоянно улучшают интерфейс. В последних версиях платформы (начиная с 8.5 и далее) была представлена концепция работы «В диалоговых окнах». В этом режиме система автоматически разделяет формы на две категории:
Таким образом, понимание принципов работы оконной системы 1С позволяет настроить рабочее пространство максимально эффективно как для обычного бухгалтера, так и для оператора на производстве.