Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамРазработка пользовательских…

1С:Предприятие 8.2 /
Разработчикам /
Разработка пользовательских интерфейсов

Оглавление

Правила создания модулей форм

См. также

 

1. В модуле формы размещаются процедуры и функции, которые необходимы только для реализации логики работы этой формы и исполняются в контексте этой формы.

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

1.2. Неправильно использовать экспортные процедуры и функции формы для параметризации формы при открытии. Например, неправильно:

Форма = ПолучитьФорму("ОбщаяФорма.МояФорма");
Форма.Открыть();
Форма.УстановитьПараметрСПомощьюЭтойЭкспортнойФункции(РежимРаботы);

правильно:

ПараметрыФормы = Новый Структура("РежимРаботы", РежимРаботы)
ОткрытьФорму("ОбщаяФорма.МояФорма", ПараметрыФормы)

См. также: Открытие форм

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

1.4. Исключения из этого правила возможны в отдельных, обоснованных случаях. В частности, к ним относятся:

2. В некоторых случаях в модуле формы возникает необходимость реализации процедур и функций, которые выполняются как на стороне клиента, так и на сервере. Например, для обновления данных формы из серверного обработчика ПриСозданииНаСервере и из клиентских событий ПриИзменении.

Для того чтобы избежать дублирования кода, такие процедуры и функции необходимо размещать в модуле формы с директивой компиляции &НаКлиентеНаСервереБезКонтекста и передавать в них контекст самостоятельно в виде параметра. В качестве контекста может выступать либо сама форма (УправляемаяФорма), либо ее реквизит (ДанныеФормыСтруктура).

Пример:

&НаСервере
Процедура ПриСозданииНаСервере()
	УстановитьДоступность(ЭтаФорма);
 КонецПроцедуры 

&НаКлиенте
Процедура РазрешитьРедактированиеСуммыПриИзменении(Элемент)
	УстановитьДоступность(ЭтаФорма);
КонецПроцедуры

&НаКлиентеНаСервереБезКонтекста
Процедура УстановитьДоступность(Форма)
	Форма.Элементы.ТоварыСумма.Доступность = Форма.Объект.РазрешитьРедактированиеСуммы;
КонецПроцедуры

См. также


Нас находят: получитьформу описаниеоповещения, ОповеститьОЗаписиНового 1с, Правила создания общих модулей, правила создания модулей, ОповеститьОЗаписиНового, описаниеоповещения передаче форме, объект в ДанныеФормыСтруктура пример, НаКлиентеНаСервереБезКонтекста, 1с чем плохи экспортные процедуры


Подписка на новости RSS

Мы на Facebook