Имя: Пароль:
1C
1С v8
Управляемые формы, хранение в реквизите формы структуры с произвольными данными
,
0 ildary
 
20.03.22
12:01
Уважаемые специалисты, посоветуйте пожалуйста - переписываю чужую обработку, в которой служебные данные хранятся в структуре, причем постоянно (когда надо и не надо) идёт их (служебных данных) сохранение во временное хранилище, отчего бывают тормоза (особенно на слабых машинах). Я пытаюсь сократить количество вызовов временного хранилища, заменяю на хранение на форме строки, куда помещаю данные с помощью ЗначениеИзСтрокиВнутр() и ЗначениеВСтрокуВнутр() - но может быть есть какой-то более феншуйный способ хранения произвольной структуры на форме без риска "Ошибка передачи данных между клиентом и сервером."?
1 acht
 
20.03.22
12:36
Так как ЗначениеВСтрокуВнутр работает только на сервере, то непонятно что ты вообще там "оптимизируешь"
2 ildary
 
20.03.22
12:44
(1) Вызовы ПоместитьВоВременноеХранилище() тоже происходят на сервере, так что тут потери не будет. А что я тут оптимизирую - отказываюсь от ПоместитьВоВременноеХранилище(), которое занимает 95% времени выполнения некоторых процедур.
3 acht
 
20.03.22
12:46
(2) Ты просто меняешь затраты на работу с временным хранилищем на затраты по передачу контекста между клинетом и сервером. Как думаешь, что происходит чаще?
4 ildary
 
20.03.22
12:53
(3) повторяю - я не меняю на затраты по передачу контекста между клиентом и сервером - это затраты УЖЕ есть, так как процесс сейчас начинается так:

1.Пользователь кликает на кнопку
2. Кнопка вызывает команду на клиенте
3. Клиентская процедура вызывает серверную
4. Где уже и вызывается ПоместитьВоВременноеХранилище(), которая ест 95% всего времени и от которой я пытаюсь отказаться, заменив на хранение в реквизите формы.

Я понимаю, что на самом деле виноват ещё и серверный вызов, но отказаться от него невозможно - т.к. там в п.4. есть вызовы прочих нужных серверных процедур.
5 H A D G E H O G s
 
20.03.22
13:00
Ты не в ту сторону воюешь.
6 ildary
 
20.03.22
13:07
(5) Прошу подсказать, в какую сторону воевать? Исключить вызова сервера невозможно. Плюс я как-то сталкивался с тем, что на клиенте обращение к некоторым реквизитам формы было медленее.
7 H A D G E H O G s
 
20.03.22
13:10
(6) если у тебя тормозит ВременноеХранилище - ковыряй настройки сервера, оно не должно тормозить. У тебя либо кластер серверов и медленная синхронизация, либо памяти не хватает и сеансовые данные сразу пишутся на диск.
8 ildary
 
20.03.22
13:25
(7) Спасибо за совет, посмотрел на время выполнения в файловой версии и вижу, что большую часть стал занимать вызов сервера. А от чего он может тормозить? От количества и размера реквизитов формы?
9 ДедМорроз
 
20.03.22
13:45
Вызов сервера в файловой версии-это сериализация и десериализация,вот она и тормозит.
Пореже надо на сервер ходить и лучше без контекста.
10 ildary
 
20.03.22
14:00
Спасибо за помощь, буду думать над этим