Закрепляем окно 1С поверх остальных программ в Windows

· 8 мин

Содержание

Платформа 1С:Предприятие 8.3 не умеет закреплять своё окно поверх других программ: в параметрах запуска и в настройках пользователя такого переключателя нет. Поэтому окно 1С «поверх всех окон» делается средствами Windows: утилитой PowerToys, коротким скриптом AutoHotkey или грамотной раскладкой по мониторам и виртуальным рабочим столам.

Ниже по порядку: от самого простого способа к скриптам, затем про несколько мониторов, потерянные всплывающие окна и ситуации, когда закреплять окно не стоит.

Что нужно закрепить и зачем

Задачу чаще всего решают одним из трёх способов, и выбор зависит от того, чего вы добиваетесь.

  • 📌 Держать 1С на виду над браузером, мессенджером или банк-клиентом, пока переносите данные.
  • 🧾 Держать поверх 1С чужое окно — калькулятор, заметки, PDF со счётом. Здесь закрепляют не 1С, а вспомогательную программу.
  • 🪟 Не терять окна 1С, когда форма открылась, а вы её не видите.

Разберитесь, какая из задач ваша. Для первой и второй нужна утилита закрепления. Для третьей закреплять ничего не надо, достаточно диагностики из последних разделов.

ЗадачаЧто делатьСложность
1С над другими программамиPowerToys или AutoHotkeyнизкая
Справочник или калькулятор над 1Сзакрепить его, а не 1Снизкая
Два монитора, 1С на второмраскладка окон, Win+Shift+стрелканизкая
Окно 1С «пропало»Alt+Tab, диагностика фокусасредняя

Закрепление окна через PowerToys

Microsoft PowerToys — бесплатный набор утилит, в нём есть модуль Always On Top («Поверх других окон»). Ставится из Microsoft Store или с официальной страницы проекта на GitHub. Права администратора для работы модуля не нужны.

Порядок действий:

  1. Установите PowerToys и откройте его настройки.
  2. Включите модуль «Always On Top» (Поверх других окон).
  3. Переключитесь на окно 1С и нажмите сочетание по умолчанию Win + Ctrl + T.
  4. Вокруг окна появится цветная рамка. Повторное нажатие снимает закрепление.

Сочетание клавиш меняется в настройках модуля. Там же отключается рамка и звук. Если окно 1С запущено от имени администратора, а PowerToys нет, закрепить его не получится: Windows не даёт обычному процессу управлять окном процесса с повышенными правами. Запустите PowerToys от администратора (переключатель есть на главной странице настроек).

Закрепляется одно конкретное окно. Если 1С открывает отдельные формы в новых окнах, каждое закрепляется отдельно.

Горячая клавиша на AutoHotkey

Если ставить PowerToys не хочется, хватит скрипта AutoHotkey. Установите AutoHotkey версии 2, создайте текстовый файл с расширением .ahk и вставьте строку:

; Win+Ctrl+Пробел — переключить «поверх всех окон» для активного окна
#^Space::WinSetAlwaysOnTop(-1, "A")

Значение -1 переключает состояние: закрепить или снять. Буква A означает активное окно. Для AutoHotkey версии 1 запись другая:

#^Space::WinSet, AlwaysOnTop, Toggle, A

Двойной щелчок по файлу запускает скрипт, значок появится в области уведомлений. Чтобы скрипт стартовал вместе с Windows, положите ярлык на него в папку автозагрузки (shell:startup в окне «Выполнить»).

Закрепление только окон 1С

Скрипт может срабатывать лишь в окне нужной программы. Тонкий и веб-клиент в Windows запускаются как процесс 1cv8c.exe, толстый клиент и Конфигуратор — как 1cv8.exe. Условие на процесс выглядит так:

#HotIf WinActive("ahk_exe 1cv8c.exe")
F9::WinSetAlwaysOnTop(-1, "A")
#HotIf

Теперь F9 меняет состояние только в тонком клиенте, а в остальных программах остаётся обычной клавишей. Это удобно: нечаянно закрепить браузер не получится.

Не назначайте на горячие клавиши сочетания, которые использует сама 1С. В платформе много своих: F4, Ctrl+F, Ctrl+Shift+F, F9 в Конфигураторе и отладчике работает как «Точка останова». Для отдельного скрипта лучше взять сочетание с клавишей Win.

Параметры запуска тонкого клиента: что они умеют, а чего нет

Строка запуска 1cv8c.exe ENTERPRISE /S "сервер\база" принимает много параметров: имя пользователя, пароль, язык интерфейса, режим запуска, очистку кэша. Параметра, который закрепляет окно поверх остальных, нет. Не ищите его в справке: на форумах иногда советуют «магические» ключи, но они ничего не делают.

Что реально можно сделать при запуске:

  • 🚀 Положить ярлык в автозагрузку, чтобы 1С открывалась вместе со скриптом закрепления.
  • 🔁 Запускать скрипт AutoHotkey из того же .bat-файла, что и 1С. Первой строкой запускается .ahk, второй — клиент 1С.
  • 🧹 Не путать с очисткой кэша. Параметр /ClearCache лечит странности интерфейса и списков, но на поведение окон не влияет.

Для последнего пункта предупреждение: очистка кэша закрывает клиента, поэтому проводите её, когда все формы сохранены.

Несколько мониторов и виртуальные рабочие столы

Закрепление окна «поверх» нужно в основном тем, кто работает на одном экране. Если мониторов два, проблема решается раскладкой: 1С на одном экране, всё остальное на другом.

Полезные сочетания Windows:

  • Win + Shift + ← / → переносит активное окно на соседний монитор.
  • Win + ← / → прижимает окно к половине экрана, что подходит для режима «1С слева, браузер справа».
  • Win + ↑ разворачивает окно на весь экран , Win + ↓ сворачивает.

Виртуальные рабочие столы отделяют 1С от остального шума. Создать стол: Win + Ctrl + D. Переключаться между столами: Win + Ctrl + ← / →. Обзор всех окон и столов: Win + Tab. Хороший вариант: на первом столе почта и мессенджеры, на втором только 1С. Тогда «перекрыть» 1С нечему.

Закреплённое окно (Always On Top) остаётся поверх остальных на текущем столе. На другом столе его не видно, если не закрепить его там отдельно: в обзоре Win + Tab в контекстном меню окна есть вариант показывать окно на всех рабочих столах.

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

Как ведут себя окна в разных версиях платформы

Поведение окон определяет Windows, а не версия платформы. В интерфейсе «Такси» (платформа 8.3.2x и новее) формы по умолчанию открываются во вкладках внутри одного главного окна, поэтому «закреплять» приходится именно главное окно. Отдельные окна появляются в нескольких случаях: вы сами вынесли форму, открылся диалог выбора файла, окно сообщения или форма из другой программы.

Что важно знать об этом:

  • Модальные диалоги — выбор файла, подтверждение закрытия, ввод пароля — зависят от владельца: пока диалог открыт, главное окно не отвечает на щелчки.
  • Веб-клиент работает внутри браузера. Закреплять нужно окно браузера, а не страницу 1С. В PowerToys это делается точно так же.
  • Если 1С опубликована как RemoteApp на терминальном сервере, окно приложения ведёт себя как локальное, и закрепление сработает на вашей машине. Но скрипт AutoHotkey должен выполняться на клиентском компьютере, а не на сервере.

Версия самой платформы (8.3.10, 8.3.20, 8.3.24) на это не влияет. Различия бывают в поведении формы выбора и модальных окон, но к закреплению они отношения не имеют.

Диагностика: окно 1С потерялось, фокус «убегает»

Самая частая жалоба по теме не «хочу закрепить окно», а «окно открылось и пропало». Проверьте по порядку.

  1. Alt+Tab. Потерянное окно обычно живо и стоит в списке. Выберите его и сверните лишнее.
  2. Панель задач. Мигающий оранжевым значок 1С — это окно, которое хочет внимания, но Windows запретила ему перехватить фокус.
  3. Другой монитор. После отключения второго экрана окно может остаться за его пределами. Выберите окно в панели задач, нажмите Win + Shift + ← или →.
  4. Сочетание Alt + Пробел, затем П (Переместить) и стрелки клавиатуры возвращают окно в видимую область.
  5. Кэш и сессия. Если окно «висит» и не отвечает, это уже не фокус, а зависание клиента. Сохраните данные в других окнах и закройте процесс через диспетчер задач.

В Windows есть ограничение на перехват фокуса: фоновая программа не может сама выйти на передний план, пока вы работаете в другой. Реестр содержит параметр ForegroundLockTimeout в ветке HKEY_CURRENT_USER\Control Panel\Desktop. Значение 0 снимает задержку, и окна начинают выходить вперёд сразу.

Правка реестра меняет поведение всей системы, не только 1С. Сделайте точку восстановления или выгрузите ветку в .reg-файл, и примените значение после перезахода в Windows. Без нужды его трогать не стоит: «агрессивные» окна начнут отнимать фокус у браузера и текстового редактора.

Диагностика: выберите симптом

Когда закреплять окно не нужно

Закрепление помогает не всегда. Три случая, где лучше обойтись без него.

  • 🖥️ Работа на одном экране с постоянными переключениями. Закреплённое окно перекрывает остальные, и браузер в углу перестаёт быть видимым. Тут лучше двухоконная раскладка по Win + стрелки.
  • 🧑‍💼 Демонстрация экрана на созвоне. Закреплённое окно остаётся поверх, даже когда вы показываете другое приложение, и вместе с ним попадает в трансляцию. Снимите закрепление до начала показа.
  • 🔐 Общий компьютер. Скрипт в автозагрузке на рабочем месте, где сидят несколько человек, лучше не настраивать: у других пользователей окна поведут себя неожиданно.

Если вам нужно, чтобы поверх 1С висела именно 1С, но другой базы (например, тестовой рядом с рабочей), закрепите тестовую. И выберите различимый цвет рамки в PowerToys, чтобы не перепутать базы.

Настройка закрепления за 5 минут
Выполнено: 0 / 5

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

Есть ли в 1С 8.3 встроенная настройка «поверх всех окон»?
Нет. Платформа такого режима не предлагает ни в пользовательских настройках, ни в параметрах запуска. Используйте средства Windows.
Работает ли PowerToys с веб-клиентом 1С?
Да, но закрепляется окно браузера целиком, а не вкладка. Если нужна именно страница 1С, откройте её в отдельном окне браузера.
Можно ли закрепить окно только на время?
Да. Оба способа работают как переключатель: нажали сочетание, окно закрепилось; нажали ещё раз, закрепление снято. После закрытия окна состояние не запоминается.
Скрипт AutoHotkey можно считать вирусом?
Нет, но антивирусы иногда ругаются на скомпилированные .exe. Запускайте скрипт как обычный .ahk-файл, установив AutoHotkey с официального сайта проекта.
Почему на втором мониторе рамка PowerToys выглядит иначе?
Рамка отрисовывается по масштабу и разрешению конкретного монитора. При разном масштабе (100 % и 150 %) толщина линии может отличаться. На работу закрепления это не влияет.
Закрепление пропадает после перезапуска 1С. Это нормально?
Да. Windows запоминает состояние только для живого окна. После перезапуска клиента окно новое, и закрепить его надо заново.