1С список открытых форм
Открыть форму справочника можно несколькими способами:
А. По имени формы
Если требуется открыть основную форму нового элемента справочника или форму списка, достаточно написать следующий код:
Где ФормаОбъекта — имя основной формы открываемого справочника. Вместо нее можно указать другую основную форму, которую требуется открыть:
ФормаОбъекта | основная форма элемента справочника |
ФормаГруппы | основная форма группы справочника |
ФормаСписка | основная форма списка справочника |
ФормаВыбора | основная форма выбора справочника |
ФормаВыбораГруппы | основная форма выбора группы |
Чтобы открыть любую другую форму, необходимо указать ее имя после ключевого слова Форма (точно так, как оно задано в конфигураторе):
Б. По ссылке
Если в контексте вызова доступна ссылка на элемент или группу справочника, можно воспользоваться параметрами формы:
а можно воспользоваться универсальными методами и просто открыть значение:
Получение списка открытых окон и вывод свойств элементов
Похожие FAQ
Еще в этой же категории
Заполнение списка значений в элементе поле выбора на форме 10
//Заполнение списка перебором данных // Элемент формы МетаданныеВыбор имеет тип – Произвольный, Использование – Режим выбора из Списка, кнопка списка Для Каждого Метаданное из Метаданные.РегламентныеЗадания Цикл ЭлементыФормы.МетаданныеВыбор.Спи Как установить параметр динамического списка? 9
Когда используете для вывода данных динамический список и произвольный запрос, то бывают ситуации когда надо указать параметр используемый в этом запросе. Ниже пример вывода данных регистра сведений в карточке клиента Для вывода используется исп Как обновить динамический список или реквизит на форме клиента? 7
Если вы, открыв форму справочника или документа, выполнили некоторое действие, код который должен изменить состояние данных в динамических списках или значение реквизита. Данные изменены, но в открытой форме осталось все как было, можно конечно закр Форма
Программное создание таблицы значений с условным оформлением 6
Как создать на форме таблицу и сделать для нее подсветку содержимого колонки в строке по условию? Итак для начала нам надо добавить реквизиты в форму. Для этого у нас есть метод: ИзменитьРеквизиты(). Перед тем как его использовать мы сформируем ма Посмотреть все в категории Работа с Формой (Диалог) и её элементами
В 1С есть возможность перебрать все открытые окна и проанализировать их содержимое. Рассмотрим работу с открытыми окнами на примере.
Ниже представлен код для решения поставленной задачи:
При нахождении нужного заголовка происходит получение управляемой формы и анализ реквизита «Контрагент». Если контрагент пустой, то текущее окно активизируется методом Активизировать () и выполнение процедуры прекращается.
Остались вопросы?
Спросите в комментариях к статье.
2 комментария
Здравствуйте, при написании этого кода:
Процедура СохранитьДанныеКлиенскогоПриложения()
Окна = ПолучитьОкна();
Для каждого Окно Из Окна Цикл
Формы = Окно.Содержимое;
Для каждого Форма из Формы Цикл
Если Форма.Модифицировать Тогда
Файл = Новый ЗаписьXML
ФАйл.ОткрытьФайл0(«D:/Working»+Форма,ИмяФормы».xml»);
СериализаторXDTO.ЗаписатьXML(Файл,Форма.Объект);
Файл.Закрыть();
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
После уго запуска высвечивает ошибку:
Поле объекта не обнаружено (Содержимое)
Добрый день!
Возможно, Вы пробуете выполнить код в режиме обычного приложения. В этом случае метод ПолучитьОкна() возвращает значение Неопределено. Данный метод работает только в режиме управляемого приложения. К тому же, «Окно» — это зарезервированная переменная в режиме управляемого приложения, необходимо использовать другую переменную.
Список открытых форм (УФ)
Часто бывает так, что нужно узнать, какая открыта сейчас форма и как найти ее в конфигурации. Обработка выводит список открытых форм в текущем сеансе. Если в одном окне используется несколько форм, например как в Начальной странице(см. скриншот), в Представление окна выводится Нет отдельного окна.
Тестировалась на платформах 8.3.14.1854, 8.3.15.1747.
Скачать файлы
Специальные предложения
Автор запретил комментарии
Обновление 25.12.20 10:39
См. также
Шпаргалка разработчика для работы с формами Промо
Сборник помогает быстро освоить встроенный язык и средства конфигурирования при разработке обычных и управляемых форм.
31.10.2018 18481 87 ELAM 3
K-SOFT: Улучшенная форма отчета
Если вы любитель добавлять много отборов на форму отчета, и вас раздражает, что отборы занимают большую часть отчета, и их никак не убрать, то вам сюда. Простая доработка, что позволит скрыть отборы на время анализа отчета.
19.05.2021 6186 6 karpik666 18
Отображение времени в документах и списках
Расширение предназначено для отображения времени документов в списках и журналах, а также для ручного редактирования времени в открытых формах.
10.03.2020 3681 1 Nuuq 4
СКД: красивые надписи в заголовках колонок
Необходимо немного исправить вывод надписей в заголовках колонок, сделать более читаемый вариант. Как это сделать?
27.02.2020 13172 8 wowik 36
Каталог игр с приставок из моего детства Промо
Каталог игр Dendy, Sega, Nintendo из нашего детства.
06.02.2018 17445 70 user621724_Dimav1979 37
Пример реализации HTML-формы календаря для мобильного приложения
Реализация функциональной мобильной формы календаря, которая красиво трансформируется в список задач.
13.02.2020 7103 23 ingeneerz@gmail.com 3
Прорыв и провал 3D графики в 1С
Здравствуйте, уважаемые. Эта статья опоздала, хотя я спешил как мог. В любом случае, речь тут пойдет про WebGL и технологии работы с 3D в 1C. Сразу оговорюсь, что всё это работало до последнего времени и на тонком, толстом, вэб клиентах, платформах 8.3 и на 8.2. Единственное, что изменило ситуацию, это WebKit, внедренный в 1С начиная с релиза 8.3.14.1565.
11.02.2020 9734 14 dinopopyys 29
Скромный вклад в юзабилити
Оптимизация рутинных действий. Вызов отчетов по Партнеру и Номенклатуре сразу из документа. Выбор объекта для журнала регистрации из открытых окон.
11.02.2020 5136 6 andryandry 0
Сетевая игра «СловоБой» на управляемых формах Промо
10.11.2016 21121 8 woldemarr 0
Общая форма отчета (для отчета с СКД)
Единообразная форма отчёта для отчётов с СКД. Режим совместимости платформы должен быть не ниже версии 8.3.7.
04.02.2020 4248 3 olegpkc 4
Сохранение и изменение настроек форм у всех пользователей 1С: Документооборот
Расширение позволяет быстро и удобно сохранять и тиражировать настройки форм от Администратора всем пользователям программы.
01.02.2020 10968 36 st_Etlau 7
Подпись в почтовом клиенте 1С управляемые формы HTML кодом
Хоть в 1С:Комплексная автоматизация 2.4 и есть возможность добавить подпись в формате HTML типовыми средствами, в форме создания подписи нет возможности размещения нескольких строк справа или слева от картинки, а также невозможно создать таблицу.
23.01.2020 5559 0 DevilBit 0
Игра «Самоцветы» (Bejeweled теперь и в 1С) + звук Промо
20.10.2010 32317 276 Tatitutu 68
Изменение масштаба интерфейса «Такси» 1С (управляемые формы)
13.01.2020 4698 4 Denr83 0
Ханойские башни
Решение головоломки «Ханойская башня» с визуализацией в среде 1С.
23.12.2019 6049 3 13vap 0
Альтернатива меню «Все функции»
Просмотр доступных объектов, когда не знаешь, где их найти, и недоступно меню «Все функции» Доступно с версии платформы 8.3.6.1977 (используется СтрРазделить()) Тестировалось на 8.3.11.
07.12.2019 6310 6 user1217016 1
Игра: Лабиринт для 1С (теперь и для 8.0-8.2) Промо
24.09.2010 30506 453 Tatitutu 24
Динамическое управление свойствами реквизитов управляемых форм
Расширение позволяет для указанных пользователей или роли динамически изменять доступность, видимость и заголовок реквизитов форм справочников или документов.
20.11.2019 6822 13 shalex5 5
Наглядные доп.реквизиты товара в табличной части документа за 5 минут
Это расширение конфигурации даёт возможность отображать произвольные «дополнительные реквизиты» Номенклатуры и Характеристик в колонках табличной части «Товары». Позволяет свои настройки доп.реквизитов для каждого пользователя и для каждого типа документа. Без программиста и без конфигуратора, подключи в базу файл, задай настройки и получи в документах СВОИ столбцы с доп.данными о товаре.
20.11.2019 11642 48 itsmith 28
Формы открытых окон
Какие формы сейчас открыты? Обработка ответит на этот вопрос.
12.11.2019 5048 1 user1214217 1
Игра «2048» Промо
Убьем рабочее время, господа! Суть игры набрать 2048 в одном квадратике, складывая квадратики с одинаковыми цифрами
13.03.2014 54223 45 mrmasson 11
Коллекция иконок Material Design для 1С
Стандартная коллекция иконок от Google, импортированная в отдельную конфигурацию для удобного использования в различных проектах.
06.11.2019 9684 46 L0z4 6
«Все функции» с плюшками
Замена штатному меню для тех, кто хочет открывать «Все функции» быстро и кто скучает по быстрому позиционированию по первым символам, как было раньше.
06.11.2019 8890 26 codejs 6
Отображение дополнительных сведений на форме документа как реквизитов
Расширение позволяет редактировать дополнительные сведения не в отдельно открываемом окне, а непосредственно на форме документа.
05.11.2019 13699 31 9269477065 20
Tactical 1C 2.1: Тактическая сетевая игра на двух (и более) человек для 1С 8.1 Промо
03.09.2009 27280 145 Greymem 18
Пример вывода картинок в отчете на СКД.
Коллеги, в данной публикации я хочу поделиться отчетом «Остатки и доступность товаров» для ERP 2.4, КА 2.4, УТ 11 с выводом картинок.
21.10.2019 6783 8 pavelpribytkin96 0
Индикатор выполнения (прогресс-бар) с таймером остаточного времени выполнения (обычное приложение + УФ)
08.10.2019 9983 17 slayer-ekb 5
Блэк Джек
Блэк джек, написанный на платформе 1С 8.2 (обычные формы).
07.10.2019 6304 1 Azamatex 2
1С помощник игры в ЭРУДИТ Промо
1С помощник игры в ЭРУДИТ для платформы 8.2
13.05.2013 20016 7 shevchen88 6
Заголовок окна операционной системы при работе под управлением ОС Windows в терминальном режиме или в режиме удаленного рабочего стола (Такси)
После перехода на версию 8.3.15 переключение вариантов отображения главного окна приложения выполняется автоматически, в зависимости от того, в какой ОС и каком окружении запускается клиентское приложение. Кроме того, при работе клиентского приложения в ОС Windows имеется возможность управления отображением заголовка ОС с помощью методов ПолучитьОтображениеЗаголовкаОС()/УстановитьОтображениеЗаголовкаОС() объекта КлиентскоеПриложение. Установить отображение заголовка окна ОС можно только в обработчике события ПередНачаломРаботыСистемы.
17.09.2019 6459 5 tsatsur 8
Картинки конфигурации
Иногда перед разработчиками 1С встает вопрос: есть ли подходящая общая картинка в конфигурации или нужно рисовать свою для кнопки? А какие вообще картинки есть в конфигурации и какие у них размеры? Поиск подходящей картинки через конфигуратор мне показался не совсем удобным, поэтому и появился отчет по общим картинкам конфигурации. Отчет универсальный, должен работать в любой конфигурации и на обычных, и на управляемых формах. Важно: версия платформы 1С должна быть 8.3.14 или выше.
10.09.2019 7735 18 rusmil 6
Пример простого и приятного внешнего HTML интерфейса для мобильного приложения
Реализация простого и приятного внешнего HTML интерфейса для мобильного приложения. Делимся исходниками, чтобы разработчики мобильных приложений разрабатывали больше приятных интерфейсов для приложений.
05.09.2019 11859 71 Baksheev-Nikita 13
Игра «Сапер» by STivO (v.1.2) Промо
Написана максимально приближенно к оригиналу игры «Сапер» для Windows
19.04.2012 25817 61 STivO 13
Вывод напоминаний со звуком
Вывод напоминания пользователю со звуком для привлечения внимания.
29.08.2019 5028 8 Kutuzov 11
Как изменить видимость, доступность и взаимозависимости дополнительных реквизитов видов номенклатуры в 1С:ERP?
Как изменить видимость, доступность и взаимозависимости дополнительных реквизитов видов номенклатуры в 1С:ERP? Есть решение, а точнее расширение для типовой конфигурации, которое не потребует снимать её с полной поддержки.
26.08.2019 7449 12 Igor030370 1
Перемещение дополнительных реквизитов на форме
Перемещение дополнительных реквизитов, без изменения конфигурации (расширение) (конфигурация остается типовой).
27.06.2019 5202 6 sulig 3
Подъем Наверх! вер.1.62 Промо
22.08.2010 27459 618 aximo 50
Внесение изменения в формы с помощью расширений, без заимствования формы.
Как получить список открытых окон 1С
В 1С есть возможность перебрать все открытые окна и проанализировать их содержимое. Рассмотрим работу с открытыми окнами на примере.
Ниже представлен код для решения поставленной задачи:
При нахождении нужного заголовка происходит получение управляемой формы и анализ реквизита «Контрагент». Если контрагент пустой, то текущее окно активизируется методом Активизировать () и выполнение процедуры прекращается.
Остались вопросы?
Спросите в комментариях к статье.
2 комментария
Здравствуйте, при написании этого кода:
Процедура СохранитьДанныеКлиенскогоПриложения()
Окна = ПолучитьОкна();
Для каждого Окно Из Окна Цикл
Формы = Окно.Содержимое;
Для каждого Форма из Формы Цикл
Если Форма.Модифицировать Тогда
Файл = Новый ЗаписьXML
ФАйл.ОткрытьФайл0(«D:/Working»+Форма,ИмяФормы».xml»);
СериализаторXDTO.ЗаписатьXML(Файл,Форма.Объект);
Файл.Закрыть();
КонецЕсли;
КонецЦикла;
КонецЦикла;
КонецПроцедуры
После уго запуска высвечивает ошибку:
Поле объекта не обнаружено (Содержимое)
Добрый день!
Возможно, Вы пробуете выполнить код в режиме обычного приложения. В этом случае метод ПолучитьОкна() возвращает значение Неопределено. Данный метод работает только в режиме управляемого приложения. К тому же, «Окно» — это зарезервированная переменная в режиме управляемого приложения, необходимо использовать другую переменную.
Как открыть форму списка с некоторым отбором?
Есть несколько способов для того, чтобы открыть форму списка с некоторым, заранее установленным отбором. Рассмотрим их по-порядку:
ЗначениеОтбора = Новый Структура(«Номер», «333»);
ПараметрыВыбора = Новый Структура(«Отбор», ЗначениеОтбора);
2. Можно открыть форму списка без параметров:
И затем, в обработчике события формы списка приходных накладных ПриСозданииНаСервере написать код, который создает отбор в динамическом списке, являющемся основным реквизитом формы:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ЭлементОтбора = Список.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Номер»);
ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше;
ЭлементОтбора.Использование = Истина;
ЭлементОтбора.РежимОтображения = РежимОтображенияЭлементаНастройкиКомпоновкиДанных.Недоступный;
ЭлементОтбора.ПравоеЗначение = «000000001»;
3. И наконец, условие отбора можно поместить в произвольный запрос, выбирающий данные для динамического списка. Например, нам нужно открыть список приходных накладных, в которых присутствует номенклатура, выделенная в списке номенклатуры.
Обработчик выполнения этой команды заполним следующим образом:
ФормаСписка = ПолучитьФорму(«Документ.ПриходнаяНакладная.ФормаСписка»);
ФормаСписка.ФильтрПоТовару = Элементы.Список.ТекущаяСтрока;
ФормаСписка.Открыть();
В этом обработчике мы получаем форму списка приходных накладных и передаем в параметр формы ФильтрПоТовару ссылку на текущий элемент в списке номенклатуры и открываем форму с этим параметром.
В поле Запрос введем следующий текст запроса:
В результате по нажатию кнопки Приходные накладные в форме списка номенклатуры мы будем получать список только тех приходных накладных, в которых присутствует номенклатура, выделенная в данный момент в списке номенклатуры.
Демонстрационный пример для 3-го варианта находится в каталоге 1CITS/EXE/FAQ/ОткрытьФормуСОтбором.dt. Пример выполнен на версии платформы 8.2.9.356.
Открытие форм
Область применения: управляемое приложение, мобильное приложение.
Рекомендация обусловлена соображениями
2. В случаях когда форма требует параметризации при открытии, все ее параметры следует указывать в наборе параметров формы. Таким образом, набор параметров формы декларативно описывает возможности формы по ее параметризации.
Параметры формы из этого набора могут быть указаны в вызывающем коде при открытии формы ( ОткрытьФорму ).
3. Не следует применять другие способы параметризации формы при открытии. Например, нужно избегать обращения к методам и свойствам формы после ее открытия.
Например, вместо
ФормаПутеводитель = Форма.ОткрытьФорму(«ОбщаяФорма.ПутеводительПоСистеме»);
ФормаПутеводитель.Элементы.ГруппаШаг.ТекущаяСтраница = ФормаПутеводитель.Элементы.ГруппаШаг.Страницы.Приветствие;
следует по той же причине использовать параметры формы:
ОткрытьФорму(«ОбщаяФорма.ПутеводительПоСистеме», Новый Структура(«РежимОткрытия», «Приветствие»));
4. Для получения результата работы формы, вместо непосредственного обращения к элементам и реквизитам формы
ФормаВопроса = ПолучитьФорму(«ОбщаяФорма.ФормаВопроса»);
ФормаВопроса.ОткрытьМодально();
Если ФормаВопроса.БольшеНеПоказыватьНапоминание Тогда
// …
следует использовать процедуры-обработчики оповещений, которые будут вызваны при завершении работы пользователя с формой:
Оповещение = Новый ОписаниеОповещения(«БольшеНеПоказыватьНапоминаниеЗавершение», ЭтотОбъект);
ОткрытьФорму(«ОбщаяФорма.ФормаВопроса». Оповещение, РежимОткрытияОкнаФормы.БлокироватьВеcьИнтерфейс);
.
&НаКлиенте
Процедура БольшеНеПоказыватьНапоминаниеЗавершение(БольшеНеПоказыватьНапоминание, Параметры) Экспорт
Если БольшеНеПоказыватьНапоминание = Неопределено Тогда
Возврат;
КонецЕсли;
Если БольшеНеПоказыватьНапоминание Тогда
// …
5. Другие ограничения:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Если Не ПользователиКлиентСервер.ЭтоСеансВнешнегоПользователя() Тогда
Отказ = Истина;
Возврат;
КонецЕсли;
…
КонецПроцедуры
6. Следующие виды форм должны быть всегда доступны пользователю в режиме 1С:Предприятия из меню «Все функции» вне зависимости от того, размещены ли соответствующие объекты в командном интерфейсе приложения или нет: