Открыть форму — различия между версиями
Admin (обсуждение | вклад) (Новая страница: «{{TOCright|width=0|limit=1}} == ПАРАМЕТРЫ == <P class=MsoListParagraph style="MARGIN: 0cm 0cm 8pt 36pt; TEXT-INDENT: -18pt; mso-list: l0 level1 lfo1"><…») |
(нет различий)
|
Текущая версия на 10:18, 1 июня 2018
ПАРАМЕТРЫ
§ Имя формы
Имя открываемой формы. Содержит путь к открываемой форме, например «Документ.Документ1.Форма.Форма1». Также можно указать путь к форме по-умолчанию, например «Документ.Докумнт1.ФормаСписка»
§ Параметры
Структура, содержит список параметров в виде структуры, который становится доступным в открываемой форме в процедуре «ПриСозданииНаСрвере»
§ Владелец
Форма-владелец для открываемой формы
§ Уникальность
Признак уникальности формы
§ Окно
Окно, в которое будет открыта форма
§ Навигационная ссылка
Если указана навигационная ссылка, то она присваивается открываемой форме
§ Описание оповещения о закрытии
Описание оповещения, вызываемое платформой при закрытии формы
§ Режим открытия окна
Указывает режим блокировки интерфейса открываемой формой, когда можно заблокировать весь интерфейс, только форму-владельца или вообще не блокировать ничего
Обязательным параметром для данного варианта вызова функции является только имя формы.
ПАРАМЕТРЫ (2-й вариант)
§ Форма
Параметр типа «Форма» или «УправляемаяФорма», полученный, например, с помощью функции «ПолучитьФорму»
§ Окно
Окно, в которое будет открыта форма
В данном варианте обязательным параметром является «Форма».
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
Возвращается значение типа «Форма» или «УправляемаяФорма». Если формы с указанным именем нет в конфигурации, то будет вызвано исключение.
ДОСТУПНЫЙ КОНТЕКСТ
Может быть вызвана в любом клиентском контексте (толстый, тонкий, мобильный, веб). Недоступно на сервере и во внешнем соединении, веб-сервисах и прочем контексте, в котором нет клиентской части.
ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ
ОТКРЫТИЕ ФОРМЫ ПОДБОРА
&НаКлиенте Процедура Подбор(Команда)
ОткрытьФорму( "Справочник.Справочник1.ФормаВыбора", Новый Структура("ЗакрыватьПриВыборе, РежимВыбора", Ложь, Истина), ЭтаФорма , , , , Новый ОписаниеОповещения( "ПриЗакрытииФормыПодбора", ЭтаФорма, "Подбор"), РежимОткрытияОкнаФормы.БлокироватьОкноВладельца );
КонецПроцедуры |
В данном примере открывается форма для подбора элементов справочника «Справочник1» в вызываемую форму. Предполагается, что вызывающая форма имеет процедуру обработки события «ОбработкаВыбора», в которую будет передаваться выбранное значение и источник выбора (форма). Пример процедуры обработки выбора значения:
&НаКлиенте Процедура ОбработкаВыбора(ВыбранноеЗначение, ИсточникВыбора) Объект.ТабличнаяЧасть1.Добавить().ФИО = ВыбранноеЗначение; КонецПроцедуры |
ОТКРЫТИЕ ФОРМЫ С ДИНАМИЧЕСКИМ СПИСКОМ И ПЕРЕДАЧА ПАРАМЕТРОВ ОТБОРА
Часто необходимо сделать так, чтобы в открываемой форме списка какого-либо справочника, регистра, журнала документов и прочих объектов отображалась только часть информации. Для этого можно использовать два варианта фильтрации.
Первый вариант – фильтрация по структуре «Отбор», передаваемой в качестве параметра
ОткрытьФорму( "Документ.ПоступлениеНаРасчетныйСчет.ФормаСписка", Новый Структура( "Отбор", Новый Структура("ВидОперации", НужныйВидОперации) ), ЭтаФорма, ...); |
В данном случае структура «Отбор» указывает открываемой форме, что необходимо установить отбор по указанному виду операции (можно указывать несколько элементов, для этого необходимо в значение структуры поместить массив элементов).
Для более гибкого отбора можно использовать такие параметры формы, как «ФикстрованныеНастройки» и «ПользовательскиеНастройки» - значения соответствующих типов. В этом случае появляется возможность указать практически любые отборы, например, отобрать данные по значению в табличной части.
&НаКлиенте Процедура ОткрытьСписок(Команда)
Фикс = ПолучитьФиксированныеНастройки(); ОткрытьФорму( "Документ.ПоступлениеНаРасчетныйСчет.ФормаСписка", Новый Структура("ФиксированныеНастройки", Фикс), ЭтаФорма)
КонецПроцедуры |
Функция «ПолучитьФикстрованныеНастройки()» должна возвратить элемент типа «НастройкиКомпоновкиДанных»:
Функция ПолучитьФиксированныеНастройки()
ФиксированныеНастройки = Новый НастройкиКомпоновкиДанных; Элт = ФиксированныеНастройки.Отбор.Элементы.Добавить( Тип("ЭлементОтбораКомпоновкиДанных") ); Элт.ЛевоеЗначение = Новый ПолеКомпоновкиДанных( "РасшифровкаПлатежа.СпособПогашенияЗадолженности" ); Элт.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; Элт.Использование = Истина; Элт.ПравоеЗначение = ПредопределенноеЗначение( "Перечисление.СпособыПогашенияЗадолженности.Автоматически" );
Возврат ФиксированныеНастройки
КонецФункции |
В данном случае в фиксированных настройках компоновки данных устанавливается отбор по элементу «СпособПогашенияЗадолженности» табличной части «РасшифровкаПлатежа» с видом сравнения «Равно» и значением отбора «Автоматически». Т.е. в открывшейся форме будут присутствовать только те документы, которые имеют в табличной части расшифровки платежа строки со значением колонки «СпособПогашенияЗадолженности», равной «Автоматически».