Быстрый старт · 10 мин
Как раскрыть окно в 1С: инструкция для пользователя и разработчика
Как открыть окно в 1С: развёртывание окна программы, открытие форм и документов, методы ОткрытьФорму и ОткрытьЗначение, типичные ошибки и проверка результата.
Под формулировкой «раскрыть окно в 1С» чаще всего скрывается одна из трёх задач: развернуть само окно программы на весь экран, открыть свёрнутую или скрытую форму документа либо программно открыть нужную форму из встроенного языка. У каждой задачи свой способ решения, и путаница между ними — главная причина, почему простые действия не дают результата.
В пользовательском режиме окна 1С управляются стандартными средствами Windows: кнопками в правом верхнем углу, сочетаниями клавиш и меню навигации. В режиме разработчика формы открываются методами встроенного языка — ОткрытьФорму(), ОткрытьЗначение(), ПолучитьФорму(). Ниже разобраны оба сценария с проверкой результата и типичными ошибками.
Как развернуть окно программы 1С на весь экран
Если окно 1С открылось маленьким или смещённым, самый быстрый способ — нажать кнопку «Развернуть» (квадратик) в правом верхнем углу рядом с крестиком. Альтернатива — дважды щёлкнуть по заголовку окна: двойной клик переключает окно между развёрнутым и обычным состоянием.
Если окно вообще не видно на экране, но значок программы есть на панели задач, нажмите Alt + Пробел, выберите «Развернуть». Когда окно «уехало» за пределы видимой области (часто после отключения второго монитора), помогает комбинация Win + стрелка влево или вправо — Windows прикрепит окно к краю текущего экрана.
Для удобной работы с двумя документами одновременно используйте Win + стрелки: одно окно 1С закрепите слева, другое справа. Это особенно удобно при сверке данных между базами или при переносе данных между документами.
- 1Щёлкните по значку 1С на панели задач, чтобы окно стало активным
- 2Нажмите Alt+Пробел и выберите «Развернуть», если окно видно частично
- 3Если окно не видно, нажмите Win+стрелка влево — окно прикрепится к краю экрана
- 4Проверьте, что окно заняло весь экран и все панели навигации видны
Как открыть скрытую или свёрнутую форму внутри 1С
Внутри сеанса 1С формы открываются в закладках рабочей области. Если нужная форма «пропала», посмотрите список открытых окон: в тонком клиенте он доступен через меню с иконкой окон в верхней части рабочей области или по сочетанию клавиш переключения между закладками. Каждая открытая форма — это отдельная закладка, и переключение между ними не закрывает данные.
Если форма была закрыта, её можно открыть заново из истории работы — кнопка со стрелкой в области системных команд показывает недавно открытые объекты. Также любую форму можно открыть повторно через основной раздел: список документов, справочник или журнал, из которого объект открывался изначально.
Отдельный случай — скрытые панели навигации и командный интерфейс. В управляемом приложении панель разделов и панель функций можно скрыть и вернуть через меню «Вид» в настройках интерфейса. Если пропали привычные пункты меню, проверьте именно эти настройки, а не права доступа.
Программное открытие формы: метод ОткрытьФорму
Основной способ открыть окно (форму) из кода — глобальный метод ОткрытьФорму(). Он принимает имя формы, структуру параметров и необязательные параметры владельца и уникальности. Типовой вызов выглядит так:
ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта",
Новый Структура("Ключ", СсылкаНаДокумент));
Имя формы строится по шаблону: вид объекта, имя объекта, имя формы. Для основных форм можно использовать короткие варианты — ФормаОбъекта, ФормаСписка, ФормаВыбора. Если у объекта назначена основная форма, достаточно указать Документ.РеализацияТоваровУслуг.ФормаОбъекта без явного имени конкретной формы.
Параметр «Ключ» передаёт ссылку на открываемый объект. Без него откроется форма нового элемента. Дополнительные параметры передаются той же структурой — например, Новый Структура("Ключ, РежимВыбора", Ссылка, Истина) откроет форму в режиме выбора.
Параметры = Новый Структура("Ключ", СсылкаНаДокумент);
ОткрытьФорму("Документ.РеализацияТоваровУслуг.ФормаОбъекта", Параметры);Модальные и блокирующие окна: ОткрытьФормуМодально и оповещения
Когда нужно, чтобы пользователь не мог работать с остальными окнами, пока не закроет текущее, используется блокирующее открытие. В современных конфигурациях прямая модальность запрещена или ограничена режимом совместимости: вместо ОткрытьФормуМодально() применяется ОткрытьФорму() с описанием оповещения о закрытии.
Механика такая: вы передаёте в форму описание оповещения, а при закрытии формы выполняется указанная процедура, куда приходит результат. Это асинхронный подход — код не останавливается, а продолжает работу после того, как пользователь закрыл окно. В обычном приложении (устаревшие конфигурации) модальные методы работают напрямую.
Оповещение = Новый ОписаниеОповещения("ПослеЗакрытияФормы", ЭтотОбъект);
ОткрытьФорму("Обработка.ПодборТоваров.Форма", , ЭтотОбъект, , , ,
Оповещение, РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Открытие значений и внешних окон: ОткрытьЗначение и связанные методы
Метод ОткрытьЗначение() открывает объект в той форме, которая назначена ему по умолчанию: документ — в форме документа, элемент справочника — в форме элемента. Это удобно, когда тип объекта заранее неизвестен — например, при открытии ссылки из универсального списка или сообщения.
Для открытия внешних окон — браузера, проводника, других программ — используется НачатьЗапускПриложения() или ПерейтиПоНавигационнойСсылке() для URL. В файловом режиме и на сервере эти методы ведут себя по-разному: запуск приложений возможен только на клиенте, поэтому вызов нужно оборачивать в директиву &НаКлиенте.
| Метод | Что открывает | Когда использовать |
|---|---|---|
| ОткрытьФорму() | Конкретную форму объекта | Нужны параметры, владелец, уникальность |
| ОткрытьЗначение() | Объект в форме по умолчанию | Тип ссылки заранее неизвестен |
| ПолучитьФорму() | Объект формы без открытия | Нужно заполнить данные до показа |
| НачатьЗапускПриложения() | Внешнюю программу или файл | Открытие окон вне 1С, только на клиенте |
Параметры открытия: владелец, уникальность и режим окна
Параметр «Владелец» связывает открываемую форму с родительской: при закрытии владельца дочерняя форма закроется автоматически, а РежимОткрытияОкнаФормы.БлокироватьОкноВладельца запретит работу с родительской формой, пока открыта дочерняя. Это стандартный способ организовать подбор или выбор значения.
Ключ уникальности предотвращает открытие дублей. Если форма с таким ключом уже открыта, платформа активирует существующее окно вместо создания нового. Если ключ не задан, каждый вызов ОткрытьФорму() создаст новое окно — при массовом открытии это приводит к десяткам одинаковых закладок и росту потребления памяти.
Проверка результата и поиск неисправностей
После открытия окна проверьте три вещи: форма открылась именно та, что нужна; в неё передались параметры (объект по ключу, отборы, режим); поведение соответствует ожиданию — блокировка владельца, реакция на закрытие. Если форма открылась пустой, чаще всего не передан параметр «Ключ» или передана пустая ссылка.
Если ОткрытьФорму() выдаёт ошибку «Форма не найдена», сверьте имя с конфигуратором: вид объекта, имя объекта и имя формы должны совпадать посимвольно, включая регистр букв в некоторых контекстах. Если ошибка контекста — проверьте директиву компиляции: вызов должен находиться в процедуре с &НаКлиенте.
Как проверить результат
Открылась нужная форма с заполненными данными объекта
Пустая форма нового объекта — не передан параметр «Ключ»
Дочерняя форма блокирует владельца и закрывается вместе с ним
Окна живут независимо — не задан владелец и режим открытия
Активируется уже открытое окно
Создаются дубли — не задан ключ уникальности
Что важно запомнить
Развернуть окно 1С помогают кнопка «Развернуть», Alt+Пробел и Win+стрелки. Программно формы открываются через ОткрытьФорму() только на клиенте: передавайте ключ объекта, владельца и ключ уникальности, а результат закрытия получайте через описание оповещения.
Частые вопросы
Почему ОткрытьФорму() выдаёт ошибку «Метод недоступен»?
Метод работает только в клиентском контексте. Проверьте, что процедура помечена директивой &НаКлиенте, а вызов не выполняется в серверной процедуре или фоновом задании. Для серверной логики сначала получите нужные данные, затем верните управление клиенту и откройте форму там.
Как открыть форму списка с отбором по конкретному контрагенту?
Передайте в параметрах структуру с ключом «Отбор»: внутри — ещё одна структура, где имя поля соответствует реквизиту объекта, а значение — нужная ссылка. Например, Отбор по полю «Контрагент». Форма списка применит отбор автоматически при создании.
Можно ли открыть окно 1С на весь экран по умолчанию?
Да, Windows запоминает последнее состояние окна: разверните окно, закройте программу и откройте снова — обычно размер сохраняется. Если настройка сбрасывается, проверьте ярлык запуска: в свойствах ярлыка есть параметр «Окно», где можно принудительно выбрать «Развернутое на весь экран».
Чем ОткрытьЗначение() отличается от ОткрытьФорму()?
ОткрытьЗначение() не требует знать тип объекта и имя формы — платформа сама выбирает форму по умолчанию для переданной ссылки. ОткрытьФорму() даёт полный контроль: конкретная форма, параметры, владелец, уникальность и оповещение о закрытии. Для универсального кода подходит первый метод, для точной настройки — второй.
Как открыть форму нового документа с уже заполненными реквизитами?
Передайте в параметрах структуру с ключом «ЗначенияЗаполнения» — внутри структура с именами реквизитов и их значениями. Платформа заполнит новый объект этими данными при создании формы. Альтернатива — ключ «Основание», если документ вводится на основании другого объекта.
Почему после открытия формы код продолжает выполняться, не дожидаясь закрытия?
ОткрытьФорму() — асинхронный метод: он открывает окно и сразу возвращает управление. Чтобы получить результат работы пользователя с формой, передайте описание оповещения — указанная процедура выполнится после закрытия формы и получит возвращённое значение.