← Назад к вопросам

Получение списка всех открытых окон

1.0 Junior🔥 141 комментариев
#Формы и интерфейс

Условие

Можно ли программно получить список всех открытых окон в 1С? Если да, напишите код.

Решение

ОткрытыеОкна = ПолучитьОкна();
Для Каждого Окно Из ОткрытыеОкна Цикл
    Сообщить(Окно.Заголовок);
КонецЦикла;

Метод ПолучитьОкна() возвращает коллекцию всех открытых окон клиентского приложения.

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Решение: Получение списка всех открытых окон

Базовый способ

ОткрытыеОкна = ПолучитьОкна();
Для каждого Окно Из ОткрытыеОкна Цикл
    Сообщить(Окно.Заголовок);
КонецЦикла;

Метод ПолучитьОкна() возвращает коллекцию всех открытых окон клиентского приложения.

Расширенный вариант

Функция ПолучитьСписокОткрытыхОкон() Экспорт
    
    ОткрытыеОкна = ПолучитьОкна();
    СписокОкон = Новый Массив;
    
    Для каждого Окно Из ОткрытыеОкна Цикл
        
        СтруктураОкна = Новый Структура;
        СтруктураОкна.Вставить("Заголовок", Окно.Заголовок);
        СтруктураОкна.Вставить("УникальныйИдентификатор", Окно.УникальныйИдентификатор);
        СтруктураОкна.Вставить("Видимость", Окно.Видимость);
        
        СписокОкон.Добавить(СтруктураОкна);
        
    КонецЦикла;
    
    Возврат СписокОкон;
    
КонецФункции

Практические примеры

Закрытие окна по названию:

Процедура ЗакрытьОкноПоЗаголовку(ИскомыйЗаголовок)
    
    ОткрытыеОкна = ПолучитьОкна();
    
    Для каждого Окно Из ОткрытыеОкна Цикл
        Если Окно.Заголовок = ИскомыйЗаголовок Тогда
            Окно.Закрыть();
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры

Активизация окна:

Процедура АктивизироватьОкноПоЗаголовку(ИскомыйЗаголовок)
    
    ОткрытыеОкна = ПолучитьОкна();
    
    Для каждого Окно Из ОткрытыеОкна Цикл
        Если Окно.Заголовок = ИскомыйЗаголовок Тогда
            Окно.Активизировать();
        КонецЕсли;
    КонецЦикла;
    
КонецПроцедуры

Получение активного окна:

Функция ПолучитьАктивноеОкно()
    Возврат ПолучитьОкно();
КонецФункции

Методы объекта Окно

Свойства:

  • Заголовок — заголовок окна
  • Содержимое — содержимое окна
  • УникальныйИдентификатор — уникальный ID
  • Видимость — видимо ли окно

Методы:

  • Закрыть() — закрыть окно
  • Активизировать() — активизировать окно
  • Восстановить() — восстановить из сворачивания
  • Свернуть() — свернуть окно

Ограничения

Метод ПолучитьОкна() работает только в клиентском приложении (не на тонком клиенте и не на сервере). На веб-клиенте эта функция недоступна.