Имя: Пароль:
1C
1С v8
Дважды активизирует строку
,
0 obama
 
08.12.14
23:41
Имеем динамический список на форме.. Все вроде хорошо.
Ползаем по списку, активизация строки ловится.

&НаКлиенте
Процедура ПриАктивизацииСтроки(Элемент)
  сообщить("я тут");
  ПоискЭлементов(Элемент.ТекущаяСтрока);
КонецПроцедуры

&НаСервере
Процедура ПоискЭлементов(СерверТекущаяСтрока)
    Если СерверТекущаяСтрока.ЭтоГруппа Тогда
              Элементы.ФормаКнопка.Доступность=Истина;
    Иначе
          Элементы.ФормаКнопка.Доступность=Ложь;
    КонецЕсли;
КонецПроцедуры


Происходит загадка для меня, когда нужно изменить доступность кнопки на форме - он ее меняет отлично, но потом второй раз срабатывает при активизации строки.
Как будто он прыгает курсором на кнопку, а потом возвращается в строку. В итоге к серверу идет 2 запроса..

1С:Предприятие 8.3 (8.3.5.1248)
мой уровень - начальный
1 Записьдампа
 
08.12.14
23:53
Потому что передача контекста сюда-туда происходит лишняя и для платформы неожиданная. В синтакс-помощнике иногда подсказки публикуют:

ТаблицаФормы (FormTable)
ПриАктивизацииСтроки (OnActivateRow)
Синтаксис:

ПриАктивизацииСтроки()
Описание:

Вызывается при активизации строки таблицы.
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.
2 Armando
 
09.12.14
00:36
При изменении формы может происходить обмен с сервером, в этом случае на клиент может вернуться новое описание формы, тогда произойдет новая активация строки.
3 Armando
 
09.12.14
00:38
Можно в реквизите формы хранить последнюю активированную строку и в обработчике ПриАктивизацииСтроки сравнивать. Если строка изменилась, то выполнять какие-то действия.
4 obama
 
09.12.14
14:53
(1,2,3) спасибо большое. особенно за 3
буду искать выход
5 Feunoir
 
09.12.14
15:00
(4) Можно при активизации строки подключать обработчик ожидания с параметрами один раз через 0.1 секунды, а потом в обработчике уже проверять.
6 obama
 
09.12.14
16:47
(5) я решил попробовать свой способ..динамический список формировать произвольным запросом и уже там добавить свою скрытую переменную. а пробегаясь по списку активизация строки не будет делать никаких запросов на сервер, а просто будет смотреть в строку и менять доступность на форме.
думаю этот способ гуру 1с не забракуют :)
7 Aleksandr N
 
09.12.14
16:52
(0) А я думал, что это делается через условное оформление.
8 Armando
 
09.12.14
16:56
(7) и как? работает?
9 Aleksandr N
 
09.12.14
16:57
(8) х.з. не пробовал
10 Armando
 
09.12.14
16:57
(9) Понятно. Не думай так больше.
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.