Имя: Пароль:
1C
 
Многократные вызовы запросов SELECT ... FROM Config
0 kortun
 
23.10.23
13:03
День добрый.

Создал обработку, добавил на форму динамический список, который просто выбирает данные из справочника Валюты, никакого кода в ней нет.

При первом открытии, если смотреть профайлером 1С вызывает многократные вызовы запросов вида
exec sp_executesql N'SELECT FileName,Creation,Modified,Attributes,DataSize FROM Config WHERE PartNo = 0 and FileName = @P1',N'@P1 nvarchar(128)',N'3b16a0b2-97ef-416b-b887-7755850ab4ca.1'


При этом, если выполнить запрос в ручную, видно что результат пустой, по таким именам файлов ничего нет.

При повторном открытии формы таких запросов нет. Но если подождать какое-то время и снова открыть форму, то видно что запросы опять выполняются.

Такое ощущение, что 1С пытается обновить какой-то кэш, но откуда она берет эти имена файлов не понятно.

При этом если выполнить запросы
SELECT * FROM Config WHERE FileName like 'DynamicallyUpdated';
SELECT * FROM Params WHERE FileName like 'DynamicallyUpdated';

то результат будет пустой, на проблемы динамического обновления не похоже.

Поискал аналогичные темы, но ответа не удалось найти.

Может у кого то уже есть опыт анализа таких запросов и борьбы с ними?
1 H A D G E H O G s
 
23.10.23
13:42
Зачем с этим бороться?
2 kortun
 
23.10.23
14:21
(1) при открытии формы занимает много времени, минимум 10 секунд.

При повторном открытии, когда эти запросы не выполняются, формы открывается быстро
3 Смотрящий
 
23.10.23
14:55
(0) Замер производительности включи перед открытием формы увидишь где тормоза
4 Лефмихалыч
 
23.10.23
15:04
(2) из чего следует, что это проблема, с которой надо бороться?
5 kortun
 
23.10.23
19:06
(3) замер делал, на передаче с сервера на клиент, если повторно форму открывать, то данные запросы не выполняются и форма открывается за секунду
6 kortun
 
23.10.23
19:07
(4) на слабом железе открывается уже не 10 секунд, а время идет на 5-10 минут
7 Смотрящий
 
23.10.23
20:17
(5) время считал?
8 H A D G E H O G s
 
23.10.23
21:29
(6) Динамическое обновление?
9 H A D G E H O G s
 
23.10.23
21:29
SELECT * FROM Config WHERE FileName like '%Dyn%';
10 kortun
 
24.10.23
00:11
(9) Нет, не динамическое, если выполнить запрос, результат пустой. Это первое что проверял.
11 kortun
 
24.10.23
00:14
(7) Не совсем понятен вопрос. И замером производительности мерил и просто секундомером замерял.
На базе разработки первое открытие секунд 10 и примерно 200 с  лишним запросов. Второе открытие менее секунды и запросы в основном динамического списка только, их там около 25 примерно
12 H A D G E H O G s
 
24.10.23
00:14
(10) like '%Dyn%'
правильно?
13 kortun
 
24.10.23
00:16
(12) делал
SELECT * FROM Config WHERE FileName like 'DynamicallyUpdated'

запрос
SELECT * FROM Config WHERE FileName like '%Dyn%'
показал 5 строк, сейчас удалю их
14 kortun
 
24.10.23
00:18
(12) После удаление при открытии стало около 30 запросов.

Помогло, спасибо большое. Правда не совсем понятна связь.
15 H A D G E H O G s
 
24.10.23
00:30
(13) Вы прям смелый.

Перед удалением надо сохранять cf-Шник и потом через сравнение - объединение натягивать динамическое на основное.
Сейчас вы могли потерять динамические накаты.
16 kortun
 
24.10.23
00:45
(15) Я на базе разработки все это проверял. На бою там данные 2018 года висят, их чуть позже буду на копии сначала удалять.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн