Каталог решений - Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере

Как сделать из &НаКлиентеНаСервереБезКонтекста почти &НаКлиентеНаСервере

В наличии

Как сделать метод формы, доступный на клиенте и на сервере одновременно, и сохранить при этом удобство разработки

Категория:

Описание

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

В случае управляемой формы такая процедура должна быть доступна и на клиенте и на сервере и не должна делать серверных вызовов. К сожалению в модуле управляемой формы недоступна директива компиляции &НаКлиентеНаСервере, а вместо нее есть &НаКлиентеНаСервереБезКонтекста. Поэтому у этой процедуры я всегда делаю параметр ЭтаФорма и передаю в него саму форму. Таким образом в теле процедуры контекст формы будет доступен через этот параметр.

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	НастроитьЭлементыФормы(ЭтаФорма);
КонецПроцедуры

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

&НаКлиентеНаСервереБезКонтекста
Процедура НастроитьЭлементыФормы(ЭтаФорма)
	Элементы = ЭтаФорма.Элементы;
	Элементы.Реквизит1.Видимость = ЭтаФорма.Реквизит2;
КонецПроцедуры

has been added to your cart:
Оформление заказа