Имя: Пароль:
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 года висят, их чуть позже буду на копии сначала удалять.