20.09.2017

Переопределение (подмена) формы при открытии

Автор: Белозерских Евгений

ОбработкаПолученияФормы (FormGetProcessing)

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

ОбработкаПолученияФормы (FormGetProcessing)

  Синтаксис:
ОбработкаПолученияФормы(<ВидФормы>, <Параметры>, <ВыбраннаяФорма>, <ДополнительнаяИнформация>, <СтандартнаяОбработка>) 

  Описание:
Обработчик события вызывается на сервере при получении стандартной управляемой формы. 
Если требуется переопределить выбор открываемой формы, необходимо установить в параметре
<ВыбраннаяФорма> другое имя формы или объект метаданных формы, которую требуется открыть,
и в параметре <СтандартнаяОбработка> установить значение Ложь. 

  Замечание:
Безопасный режим на время исполнения данного обработчика будет отключен.
Данное замечание не относится к обработчикам событий, расположенным в расширении конфигурации.

Переопределяем открываемую форму

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

	СтандартнаяОбработка	= Ложь;
	ВыбраннаяФорма			= "ОбщаяФорма.ОбщаяФорма_1";

КонецПроцедуры
    Собственно и все! В данном примере, мы безусловно открываем общую форму для любого элемента справочника «Номенклатура», будь форма группы или форма элемента. В результате откроется произвольная общая форма

Тестовая общая форма в пользовательском режиме 1С

Подмена формы по условию

   Предположим, что форму необходимо переопределить, только для элементов справочника, а форму группы открывать стандартную
Процедура ОбработкаПолученияФормы(ВидФормы, Параметры, ВыбраннаяФорма,
			ДополнительнаяИнформация, СтандартнаяОбработка)

	Если Параметры.Свойство("ЭтоГруппа") И Параметры.ЭтоГруппа = Ложь Тогда 
	
		СтандартнаяОбработка	= Ложь;
		ВыбраннаяФорма			= "ОбщаяФорма.ОбщаяФорма_1";
		
	КонецЕсли;

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

Спасибо за внимание!



Другие статьи

Запуск фонового задания в 1С

    Наглядный пример выполнения произвольного алгоритма в режиме фонового задания

Функциональные опции 1С 8.3 (Механизм, использование)

    Рассмотрим механизмы, назначение и применение функциональных опций в платформе "1С:Предприятие" 8.3. Для этого возьмем простую конфигурацию и проверим поведение системы при использовании функциональных опций.

Общие реквизиты 1С 8.3

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

Выбор файла 1С 8.3

Диалог выбора файла и отказ от модальности в 1С 8.3

Получение данных динамического списка 1С 8.3

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

Установка отбора в динамическом списке (1C 8.2, 8.3)

Рассмотрим пример программной установки отборов в динамических списках 1С

Представление объектов (ссылок) в 1С

Пара слов о том, как можно изменить получаемое представление объекта (ссылки) в 1С

Работаем с регистрами сведений

Разберем структуру таблиц регистров сведений в СУБД, механизмы предоставляемые платформой для операций чтения, записи и удаления записей периодических и непериодических регистров сведений, а также регистров подчиненных регистратору.

Версия 8.3.7 и приятные новшества

Приветствую! В данном обзоре предлагаю рассмотреть некоторые новшества в механизмах платформы 1С:Предприятие версии 8.3.7.