Имя: Пароль:
1C
 
УФ -Модуль формы
,
0 Вася Теркин
 
12.11.21
13:48
При каждой передаче с клиента на сервер и с сервера на клиент переменные модуля на сервере нужно инициировать?

Делаю в модуле примерно такой вариант:

&НаСервере
Перем ТаблицаСпр;

&НаСервере
Процедура ЗаполнитьТаблицаСпр()

    ...
ТаблицаСпр = Запрос.Выполнить().Выгрузить();
    
КонецПроцедуры


&НаСервере
Функция НайтиСпрПоКодуРекурсивно(Код,КодРодитель)
  
...
Строчки = ТаблицаСпр.НайтиСтроки(Новый Структура("Код, Родитель"), Код, КодРодитель)
...
Возврат Строчки[0].Ссылка;     
КонецФункции

&НаКлиенте
Процедура Сформировать()
    
ЗаполнитьТаблицаСпр();
Для каждого Строчка из Таблица Цикл
  СправочникСсылочка =  НайтиСпрПоКодуРекурсивно(Строчка.Код,Строчка.КодРодитель);
КонецЦикла;
КонецПроцедуры

Не совсем так, немного сложнее рекурсия но идея думаю ясна. Хочется одним запросом на серваке выгрузить весть справочник в ТЗ и по нему серфить. Или можно только с сервака как
массив структур на клиента передать, снова ТЗ собрать и там серфить?
Найти по коду в цикле с рекурсией очень долго однако...
Вопрос конкретный: когда снова возвращаюсь на сервер переменная ТаблицаСпр вроде объявлена, но равна Неопределено.
1 Вася Теркин
 
12.11.21
13:49
Или второй вариант сделать МВТ, но там такие же грабли.
2 ДенисЧ
 
12.11.21
13:49
" когда снова возвращаюсь на сервер переменная ТаблицаСпр вроде объявлена, но равна Неопределено."
Так и должно быть. И это даже описано в документации.
3 Вася Теркин
 
12.11.21
13:49
МВТ - МенеджерВременныхТаблиц.
4 Вася Теркин
 
12.11.21
13:49
(2) Печалька....
5 Вася Теркин
 
12.11.21
13:50
А если МВТ объявить или Запрос она его тоже очевидно занеопределенит. Жаль, будем тогда на клиента массивом все тащить или ещё как.
6 Галахад
 
гуру
12.11.21
13:52
А реквизит добавить?
7 ДенисЧ
 
12.11.21
13:53
А ХЗ взять?
8 Ryzeman
 
12.11.21
13:53
(0) а зачем вообще на клиент возвращаться в цикле\рекурсии? Требуются какие-то интерактивные действия в каждой итерации?
9 bolder
 
14.11.21
08:45
(3) +100500.Тоже непонятно зачем таскать ссылки а клиента.
10 pechkin
 
14.11.21
10:59
нужны не переменные, а поместитьвовременноехранилище
11 pechkin
 
14.11.21
11:00
примерно так
https://infostart.ru/public/76309/
12 ДедМорроз
 
14.11.21
13:05
Если что-то нужно хранить между серверными вызовами,то временное хранилище,если не хочется пихать в базу.
13 серый КТУЛХУ
 
14.11.21
19:25
кстати в связи с тем что переменные модуля &НаСервере живут только один серверный вызов - вопрос: а в каких случаях в принципе может понадобиться использование таких переменных модуля?
14 acht
 
14.11.21
22:00
(13) > в принципе может понадобиться
Для протаскивания приватных данных между методами объекта на протяжении серверного вызова. Ваш К.О.

P.S. Объект.ДополнительныеСвойства - публичный.
15 серый КТУЛХУ
 
14.11.21
22:40
(14): вопрос был про модуль формы а не модуль объекта есичо
16 acht
 
14.11.21
23:00
(15) А, да, точно.
Для протаскивания приватных данных между методами формы на протяжении серверного вызова. Ваш К.О.
17 Ненавижу 1С
 
гуру
10.12.21
10:33
+(16)
еще как счетчик вызовов сервера )))
Программист всегда исправляет последнюю ошибку.