Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

При скролле в динамическом списке выбирается содержимое всех табличных частей?

При скролле в динамическом списке выбирается содержимое всех табличных частей?
Я
   vdeemer
 
27.05.21 - 11:34
Здравствуйте!
Посмотрел в профайлере запросы, которые 1С формирует при изменении активной строки табличного поля динамического списка и затуманился взор мой...
Преамбула: динамический список с основной таблицей Справочник.Номенклатура.
Амбула: При переходе на другую строки ДС по данным профайлера из базы выбирается содержимое всех табличных частей активного элемента справочника. Собственно, вопрос: с чем это связано и можно ли этого избежать?
Меня этого только что коснулось, а я ни сном ни духом...
 
 Партнерская программа EFSOL Oblako
   ДенисЧ
 
1 - 27.05.21 - 11:35
А что в запросе написано?
   vdeemer
 
2 - 27.05.21 - 11:38
(1)  
SELECT
T3._LineNo4342,
T3._Fld4343RRef,
0 AS SDBL_IDENTITY
FROM dbo._Reference61_VT4341 T3 WITH(REPEATABLEREAD)
WHERE T3._Reference61_IDRRef = P1
ORDER BY 3 ASC, T3._LineNo4342

Это один из запросов, табличная часть с одним реквизитом. Если реквизитов больше, выбираются все.
   ДенисЧ
 
3 - 27.05.21 - 11:40
(2) В запросе динсписка. Зачем ты мне скуль суёшь?
   vdeemer
 
4 - 27.05.21 - 11:46
(3) так речь шла о запросах скуля)

ВЫБРАТЬ
    СправочникНоменклатура.Ссылка КАК Ссылка,
    СправочникНоменклатура.Родитель КАК Родитель,
    СправочникНоменклатура.Родитель.Представление КАК ПредставлениеРодителя,
    СправочникНоменклатура.ЭтоГруппа КАК ЭтоГруппа,
    СправочникНоменклатура.Код КАК Код,
    СправочникНоменклатура.Наименование КАК Наименование
ИЗ
    Справочник.Номенклатура КАК СправочникНоменклатура
   Fragster
 
5 - 27.05.21 - 11:47
а что в обработчике "при активизации строки"?
   polosov
 
6 - 27.05.21 - 11:49
(5) Ну а там наверняка запуск однократного обработчика ожидания с выборкой данных текущего элемента, чтобы отобразить доп. данные.
   vdeemer
 
7 - 27.05.21 - 11:50
(5) Есть серверный вызов с РеквизитФормыВЗначение, отдельно табличная часть не выбирается
   Fragster
 
8 - 27.05.21 - 11:52
(7) если есть обращение через точку к реквизиту ссылки - то будет чтение всего объекта.
   Fragster
 
9 - 27.05.21 - 11:52
сам ДС тут не причем.
   vdeemer
 
10 - 27.05.21 - 11:53
(5) пардон, нет там такого (это ПриВыборе). Вот там что  (Аналоги - другой ДС, в нем ТЧ тоже не трогаются):

    Если Элементы.Список.ТекущиеДанные = Неопределено Тогда
        Возврат;
    КонецЕсли;
    ОбщегоНазначенияКлиентСервер.УстановитьПараметрДинамическогоСписка(Аналоги, "Ссылка", Элементы.Список.ТекущаяСтрока, Истина);
   Fragster
 
11 - 27.05.21 - 11:53
вообще такие данные надо действительно делать в однократном обработчике ожидания, который запускается через 0.5 секунды. примерно так:
при активизации отменяем обработчик ожидания, запускаем новый. тогда при скролле стрелками он выполнится только после того, как скролл остановится
   Fragster
 
12 - 27.05.21 - 11:54
(10) ну судя по всему у тебя устанавливается параметр другого динамического списка и он (этот другой список) логично обновляется
   Fragster
 
13 - 27.05.21 - 11:55
а что в другом динамическом списке?
   Fragster
 
14 - 27.05.21 - 11:55
и в другом динамическом списке тоже, наверное, навешены обработчики? которые вызываются при его обновлении
   vdeemer
 
15 - 27.05.21 - 11:58
(11) Идея понятна, спасибо
(13) Аналогичный запрос, но с условием ГДЕ МОЙРЕКВИЗИТ=&ЗНАЧЕНИЕ И ССЫЛКА <> &ССЫЛКА
(14) Он вообще невидим + на нем обработчиков нет
   Fragster
 
16 - 27.05.21 - 12:15
кстати, почему в (10) в отдном месте текущие данные, а в другом - текущая строка?
   vdeemer
 
17 - 27.05.21 - 12:42
(16) передаю идентификатор строки, а не структуру данных
   vdeemer
 
18 - 27.05.21 - 12:43
Ради интереса создам чистую конфигурацию с одним справочником и погляжу, ху из ху.
   vdeemer
 
19 - 27.05.21 - 13:33
Создал пустую базу, в ней два справочника, в первом две табличных части. Динамический список на форме списка справочника, в трассировке при переходе по строкам ПУСТО. Так что поведение 1С корректно, где-то табличные части задеваются обработкой событий или еще чем, вопрос закрыт.

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