Вход | Регистрация
 

почему падает платформа

почему падает платформа
Я
   vde69
 
26.10.21 - 15:53
форма, на ней есть динамический список

и есть программно создаваемая таблица (не связанная со списком), код ниже.
если снять коммент то форма валится с дампом.
Валится после окончания процедуры Подключаемый_ЭлементНавигацииПриАктивизацииСтроки, то есть передача контекста с сервера и обратно проходит нормально.
ЖР - пустой

&НаКлиенте
Процедура Подключаемый_ЭлементНавигацииПриАктивизацииСтроки(Элемент)
    а=1;
    //Подключаемый_ЭлементНавигацииПриАктивизацииСтрокиНаСервере_1();
КонецПроцедуры  

&НаСервере
Процедура Подключаемый_ЭлементНавигацииПриАктивизацииСтрокиНаСервере_1()
    а=1;
КонецПроцедуры
   Волшебник
 
Модератор
1 - 26.10.21 - 15:57
почисти кэш
   Ненавижу 1С
 
2 - 26.10.21 - 15:58
Что такое а?
   arsik
 
3 - 26.10.21 - 16:01
(0) Это норма. Даже объяснения 1с по этому поводу были.
   arsik
 
4 - 26.10.21 - 16:03
+(3) У тебя там ьесконечная лабуда
   vde69
 
5 - 26.10.21 - 16:07
(1) не помогает
(2) просто локальная переменная, для удобства устанавливания точки остановки.
(3) можно подробнее?
   arsik
 
6 - 26.10.21 - 16:11
(5)
ПриАктивизацииСтроки (OnActivateRow)
Синтаксис:
ПриАктивизацииСтроки()
Описание:
Вызывается при активизации строки таблицы.
Примечание:
В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере, а также изменять свойства, которые могут привести к серверному вызову.

   arsik
 
7 - 26.10.21 - 16:14
+(6) При возврате контекста на клиент у тебя снова вызывается ПриАктивизацииСтроки()
   vde69
 
8 - 26.10.21 - 16:14
(6) у меня есть несколько других форм (абсолютно аналогичных) где все работает
   arsik
 
9 - 26.10.21 - 16:17
(8) Гугли.
   Ненавижу 1С
 
10 - 26.10.21 - 17:25
(8) сделай однократную подписку на событие как это сделано в типовых
   hhhh
 
11 - 26.10.21 - 20:32
(8) это русская рулетка: называется вызов серверных процедур там где не нужно. Иногда вот выстреливает. А иногда нормально. Вы любитель острых ощущений.
   palsergeich
 
12 - 26.10.21 - 20:39
(8) Используете серверные вызовы там где они явно запрещены.
Не просто так.
Выстрелить может сразу, а может и не выстрелить, но в любом случае это ошибка
   vde69
 
13 - 26.10.21 - 20:44
(10) туда параметры не просто передать....

(12) если они там явно запрещены почему не генерится исключение типа "процедура не найдена" ???
   Asmody
 
14 - 26.10.21 - 20:50
после контекстного серверного вызова таблица фактически рендерится заново (на самом деле нет, но можно считать что да).
в общем, не надо ходить в ПриАктивацииСтроки на сервер. Максимум - без контекста. Нужно что-то такое считать от строки - считай при получении данных и кешируй
   Ненавижу 1С
 
15 - 26.10.21 - 20:56
(13) используй реквизиты формы или переменные
с другой стороны в ПриАктивизацииСтроки передается только элемент, остальные параметры ты получаешь из-вне, вот также и получай
   pechkin
 
16 - 26.10.21 - 21:24
А падает из-за бесконечной рекурсии

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.