При работе с методом ПриАктивизацииСтроки() в модуле формы (на клиенте) может возникнуть потребность использовать контекстный серверный вызов. Например, в форме списка справочника "Номенклатура" при выборе вида номенклатуры мы хотим добавить на форму отображение фильтров для выбранного вида номенклатуры.
![](https://static.tildacdn.com/tild3433-6533-4233-a330-363761316336/1.png)
Метод ИзменитьРеквизиты(), который мы будет использовать для добавления новых фильтров на форму, можно использовать только на сервере. При этом в справке к методу ПриАктивизацииСтроки() сказано, что контекстный вызов сервера использовать нельзя:
![](https://static.tildacdn.com/tild6664-3931-4965-b562-633465643363/2.png)
Как же сделать контекстный вызов из метода ПриАктивизацииСтроки() в случае, когда это необходимо?
Исходные данные:
1. Учебная конфигурация;
2. Платформа 8.3.19.1150.
Решение задачи:
![](https://static.tildacdn.com/tild3939-6539-4931-b965-383865383635/3.png)
Пояснение:
В обработчике события ПриАктивизацииСтроки() подключаем обработчик ожидания ПодключитьОбработчикОжидания(). В качестве первого параметра "ИмяПроцедуры" передаем имя процедуры, которая будет вызвана. Второй параметр "Интервал" отвечает за то время, через которое будет вызван обработчик ожидания. В данном случае это 0.2 секунды. Третий параметр "Однократно" - признак однократного выполнения обработчика ожидания.
Таким образом из метода ПриАктивизацииСтроки() через метод "ПодключитьОбработчикОжидания" на клиенте вызываем процедуру "ОтборВидаНоменклатурыПриАктивизацииСтрокиНаКлиенте", из которой в свою очередь делаем серверный контекстный вызов процедуры "ВидыНоменклатурыПриАктивизацииСтрокиНаСервере", в которой добавляем в форму нужные реквизиты.
Вывод:
Таким образом через использование метода ПодключитьОбработчикОжидания() мы можем передать контекст формы на сервер при возникновении события ПриАктивизацииСтроки.
Ссылки: