Параметры управляемой формы 1Cv82

Материал из КинтВики
Версия от 16:03, 7 октября 2010; Павел Лазарев (обсуждение | вклад) (Новая страница: «Категория:Программирование в 1Cv82 ==Стандартные параметры формы== Для того чтобы поддерж...»)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск


Стандартные параметры формы

Для того чтобы поддерживать автоматическое взаимодействие между формами, система предоставляет ряд стандартных параметров, которые используются для управления формами при их открытии. С помощью этих параметров системой реализуется в полях форм выбор из форм выбора, открытие форм объектов, работа стандартных команд и т. д. То есть они обеспечивают различные заложенные в систему сценарии работы интерфейса. Но разработчик также может использовать эти параметры во встроенном языке, передавая их при вызове метода ОткрытьФорму().


Перечислим предоставляемые системой параметры и их назначение:

  • РежимВыбора – форма открывается в режиме выбора. Предоставляется расширением управляемой формы динамического списка.
  • ТекущаяСтрока – строка, которая будет активизироваться в списке при открытии. Передается значение, идентифицирующее строку. Предоставляется расширением управляемой формы динамического списка.
  • ВыборГруппИЭлементов – по данному параметру устанавливается свойство ВыборГруппИЭлементов таблицы основного реквизита формы. Предоставляется расширением управляемой формы динамического списка.
  • РазрешитьВыборКорня – определяет возможность выбора корня в форме с динамическим списком, отображаемым в виде дерева. Предоставляется расширением управляемой формы динамического списка, отображаемого в виде дерева.
  • Отбор – отбор, устанавливаемый в динамическом списке. Представляет собой структуру. Имена элементов соответствуют именам полей, по которым производится отбор, а значения содержат значения отбора. Предоставляется расширением управляемой формы динамического списка.
  • Ключ – значение, идентифицирующее объект, редактируемый в форме. В случае отсутствия или неверного значения создается новый объект с использованием остальных параметров. Предоставляется расширениями форм объектов и менеджера записи регистра сведений.
  • ЗначениеКопирования – значение, идентифицирующее объект, который будет использован для копирования при создании нового объекта. Предоставляется расширениями форм объектов и менеджера записи регистра сведений.
  • ЗначенияЗаполнения – значения для заполнения реквизитов нового объекта. Представляет собой структуру. Имена элементов соответствуют именам реквизитов, а значения содержат данные, которыми будут заполняться указанные реквизиты. Предоставляется расширениями форм объектов и менеджера записи регистра сведений.
  • Основание – значение, идентифицирующее объект, который будет использован как основание при создании нового объекта вводом на основании. Предоставляется расширениями форм объектов.
  • ЭтоГруппа – определяет вид нового объекта: группа или элемент. Предоставляется расширениями форм объектов.


Пример работы с параметрами формы

Для демонстрации работы параметров формы рассмотрим реализацию выбора элемента в поле ввода. Сутью примера будет реализация механизма выбора элемента из списка на встроенном языке.


К моменту начала работы с примером нужно иметь конфигурацию, обладающую следующими свойствами:

  • Основной режим запуска – Управляемое приложение;
  • имеется справочник Товары с иерархией групп и элементов;
  • имеется справочник Аналоги с реквизитом ВыбранныйТовар типа СправочникСсылка.Товары;
  • оба справочника имеют управляемые формы элементов.


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


Добавим дополнительный флаг, который будет управлять закрытием формы выбора после выбора элемента. Назовем этот флаг ЗакрыватьПослеВыбора (тип Булево). Добавим его параметром формы ФормаВыбора справочника Товары.


Для того чтобы открыть форму выбора элемента, необходимо в форме элемента справочника Аналоги создать обработчик события НачалоВыбора у элемента формы ВыбранныйТовар:

&НаКлиенте

Процедура ВыбранныйТоварНачалоВыбора(Элемент, СтандартнаяОбработка)

  СтандартнаяОбработка = Ложь;


  ПараметрыВыбора = Новый Структура;

  ПараметрыВыбора.Вставить(«РежимВыбора», Истина);

  ПараметрыВыбора.Вставить(«ВыборГруппИЭлементов»,

                           ИспользованиеГруппИЭлементов.Элементы);

  ПараметрыВыбора.Вставить(«РазрешитьВыборКорня», Ложь);

  ПараметрыВыбора.Вставить(«ТекущаяСтрока», Объект.ВыбранныйТовар);

  ПараметрыВыбора.Вставить(«ЗакрыватьПослеВыбора», Ложь);
 

  ОткрытьФорму(«Справочник.Товары.ФормаВыбора»,

               ПараметрыВыбора,

               Элементы.ВыбранныйТовар);
КонецПроцедуры


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