Открыть форму — различия между версиями

Материал из OrticonWiki
Перейти к: навигация, поиск
(Новая страница: «{{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.Добавить().ФИО = ВыбранноеЗначение;

КонецПроцедуры

ОТКРЫТИЕ ФОРМЫ С ДИНАМИЧЕСКИМ СПИСКОМ И ПЕРЕДАЧА ПАРАМЕТРОВ ОТБОРА

Часто необходимо сделать так, чтобы в открываемой форме списка какого-либо справочника, регистра, журнала документов и прочих объектов отображалась только часть информации. Для этого можно использовать два варианта фильтрации.

Первый вариант – фильтрация по структуре «Отбор», передаваемой в качестве параметра

ОткрытьФорму(

"Документ.ПоступлениеНаРасчетныйСчет.ФормаСписка",

Новый Структура(

"Отбор",

Новый Структура("ВидОперации", НужныйВидОперации)

),

ЭтаФорма, ...);

В данном случае структура «Отбор» указывает открываемой форме, что необходимо установить отбор по указанному виду операции (можно указывать несколько элементов, для этого необходимо в значение структуры поместить массив элементов).

Для более гибкого отбора можно использовать такие параметры формы, как «ФикстрованныеНастройки» и «ПользовательскиеНастройки» - значения соответствующих типов. В этом случае появляется возможность указать практически любые отборы, например, отобрать данные по значению в табличной части.

&НаКлиенте

Процедура ОткрытьСписок(Команда)

 

      Фикс = ПолучитьФиксированныеНастройки();

      ОткрытьФорму(

"Документ.ПоступлениеНаРасчетныйСчет.ФормаСписка",

Новый Структура("ФиксированныеНастройки", Фикс),

ЭтаФорма)  

 

КонецПроцедуры

Функция «ПолучитьФикстрованныеНастройки()» должна возвратить элемент типа «НастройкиКомпоновкиДанных»:

Функция ПолучитьФиксированныеНастройки()

 

      ФиксированныеНастройки = Новый НастройкиКомпоновкиДанных;

      Элт = ФиксированныеНастройки.Отбор.Элементы.Добавить(

Тип("ЭлементОтбораКомпоновкиДанных")

);

      Элт.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(

"РасшифровкаПлатежа.СпособПогашенияЗадолженности"

);

      Элт.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;

      Элт.Использование = Истина;

      Элт.ПравоеЗначение = ПредопределенноеЗначение(

"Перечисление.СпособыПогашенияЗадолженности.Автоматически"

);

 

      Возврат ФиксированныеНастройки

 

КонецФункции

В данном случае в фиксированных настройках компоновки данных устанавливается отбор по элементу «СпособПогашенияЗадолженности» табличной части «РасшифровкаПлатежа» с видом сравнения «Равно» и значением отбора «Автоматически». Т.е. в открывшейся форме будут присутствовать только те документы, которые имеют в табличной части расшифровки платежа строки со значением колонки «СпособПогашенияЗадолженности», равной «Автоматически».