Рекурсивный вызов ПриАктивизацииСтроки()
Из синтакс-помощника:
Синтаксис:
ПриАктивизацииСтроки()
Описание:
Вызывается при активизации строки таблицы.
Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
Однако если очень хочется, то можно вызывать из этой процедуры необходимый серверный обработчик. Сделать это можно следующим образом: нужно самостоятельно отслеживать рекурсию. Создавать клиентскую переменную модуля, хранить в ней текущую строку. Если текущая строка отличается от того, что в переменной – делать серверный вызов. Если не отличается – не делать.
Вот пример кода:
&НаКлиенте
Перем ТекущиеДанныеПоказатель;
&НаКлиенте
Перем ТекущиеДанныеБА;
…
&НаКлиенте
Процедура СписокПриАктивизацииСтроки(Элемент)
ТекущиеДанные = Элементы.Список.ТекущиеДанные;
Если ТекущиеДанные <> Неопределено Тогда
Если ТекущиеДанныеПоказатель<> ТекущиеДанные.Показатель ИЛИ ТекущиеДанныеБА<>ТекущиеДанные.БА Тогда
ТекущиеДанныеПоказатель = ТекущиеДанные.Показатель;
ТекущиеДанныеБа = ТекущиеДанные.БА;
Показатель = ТекущиеДанные.Показатель;
УстановитьОтборНПА(Показатель);
ЗаполнитьСуммыПоПоказателю(ТекущиеДанные.Показатель, ТекущиеДанные.БА);
КонецЕсли;
КонецЕсли;
КонецПроцедуры