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

Долгое время обновления динамического списка

Долгое время обновления динамического списка
Я
   maksyandra
 
30.12.21 - 19:54
Есть доработанная УПП. В ней есть обработка с управляемой формой, на которой размещен динамический список. В зависимости от выбранных на форме отборов динамический список обновляется. Проблема в том что обновление этого списка у всех происходит
с разным временем у кого-то 10 сек, а у кого-то 80. В не зависимости от прав пользователя. Подскажите куда рыть???
   H A D G E H O G s
 
1 - 30.12.21 - 19:57
В сторону отборов
   SuperMario
 
2 - 03.01.22 - 13:23
(0) в сторону запроса этого динамического списка. Идеально, конечно, увидеть план запроса и покури внимательней код 1С.  
Не исключаю, что с клиента дергают его обновление по несколько раз без толку.

Более подробно только вскрытие покажет ))
   timurhv
 
3 - 03.01.22 - 13:59
(0) Отключить группировку и все полетит
   maksyandra
 
4 - 04.01.22 - 11:55
ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
    РеализацияТоваровУслуг.Дата КАК Дата,
    РеализацияТоваровУслуг.Номер КАК Номер,
    РеализацияТоваровУслуг.Контрагент КАК Получатель,
    РеализацияТоваровУслуг.ГородДоставки КАК ГородДоставки,
    РеализацияТоваровУслуг.Комментарий КАК Комментарий,
    тчРТиУ.Количество КАК Количество,
    тчРТиУ.Вес КАК Вес,
    тчРТиУ.Объем КАК Объем,
    РеализацияТоваровУслуг.Ответственный КАК Ответственный,
    РеализацияТоваровУслуг.СпособДоставки КАК СпособДоставки,
    "РТИУ" КАК ТипДокумента
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            РеализацияТоваровУслугТовары.Ссылка КАК Ссылка,
            СУММА(РеализацияТоваровУслугТовары.Количество) КАК Количество,
            СУММА(РеализацияТоваровУслугТовары.Номенклатура.ЕдиницаХраненияОстатков.Вес * РеализацияТоваровУслугТовары.Количество) КАК Вес,
            СУММА(РеализацияТоваровУслугТовары.Номенклатура.ЕдиницаХраненияОстатков.Объем * РеализацияТоваровУслугТовары.Количество) КАК Объем
        ИЗ
            Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
        ГДЕ
            РеализацияТоваровУслугТовары.Ссылка.Проведен = ИСТИНА
            И РеализацияТоваровУслугТовары.Ссылка.Склад В(&СписокСкладов)
            И НЕ РеализацияТоваровУслугТовары.Ссылка В (&СписокОбработаныхНакладных)
            И РеализацияТоваровУслугТовары.Ссылка.ТипДоставки <> ЗНАЧЕНИЕ(Перечисление.ТипДоставки.Самовывоз)
            И РеализацияТоваровУслугТовары.Ссылка.Дата > ДАТАВРЕМЯ(2020, 5, 1, 0, 0, 0)
        
        СГРУППИРОВАТЬ ПО
            РеализацияТоваровУслугТовары.Ссылка) КАК тчРТиУ
        ПО РеализацияТоваровУслуг.Ссылка = тчРТиУ.Ссылка
ГДЕ
    РеализацияТоваровУслуг.Проведен = ИСТИНА
    И РеализацияТоваровУслуг.Склад В(&СписокСкладов)
    И НЕ РеализацияТоваровУслуг.Ссылка В (&СписокОбработаныхНакладных)
    И РеализацияТоваровУслуг.ТипДоставки <> ЗНАЧЕНИЕ(Перечисление.ТипДоставки.Самовывоз)
    И РеализацияТоваровУслуг.Дата > ДАТАВРЕМЯ(2020, 5, 1, 0, 0, 0)

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ПеремещениеТоваров.Ссылка,
    ПеремещениеТоваров.Дата,
    ПеремещениеТоваров.Номер,
    ПеремещениеТоваров.СкладПолучатель,
    ПеремещениеТоваров.СкладПолучатель.ГородДоставки,
    ПеремещениеТоваров.Комментарий,
    тчПеремещение.КоличествоЕдиницТоваров,
    тчПеремещение.Вес,
    тчПеремещение.Объем,
    ПеремещениеТоваров.Ответственный,
    "Перемещение",
    "Перемещение"
ИЗ
    Документ.ПеремещениеТоваров КАК ПеремещениеТоваров
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            ПеремещениеТоваровТовары.Ссылка КАК Ссылка,
            СУММА(ПеремещениеТоваровТовары.Количество) КАК КоличествоЕдиницТоваров,
            СУММА(ПеремещениеТоваровТовары.Номенклатура.ЕдиницаХраненияОстатков.Вес * ПеремещениеТоваровТовары.Количество) КАК Вес,
            СУММА(ПеремещениеТоваровТовары.Номенклатура.ЕдиницаХраненияОстатков.Объем * ПеремещениеТоваровТовары.Количество) КАК Объем
        ИЗ
            Документ.ПеремещениеТоваров.Товары КАК ПеремещениеТоваровТовары
        ГДЕ
            ПеремещениеТоваровТовары.Ссылка.Проведен = ИСТИНА
            И ПеремещениеТоваровТовары.Ссылка.СкладОтправитель В(&СписокСкладов)
            И НЕ ПеремещениеТоваровТовары.Ссылка В (&СписокОбработаныхНакладных)
            И ПеремещениеТоваровТовары.Ссылка.Дата > ДАТАВРЕМЯ(2020, 5, 1, 0, 0, 0)
        
        СГРУППИРОВАТЬ ПО
            ПеремещениеТоваровТовары.Ссылка) КАК тчПеремещение
        ПО ПеремещениеТоваров.Ссылка = тчПеремещение.Ссылка
ГДЕ
    ПеремещениеТоваров.Проведен = ИСТИНА
    И ПеремещениеТоваров.СкладОтправитель В(&СписокСкладов)
    И НЕ ПеремещениеТоваров.Ссылка В (&СписокОбработаныхНакладных)
    И ПеремещениеТоваров.Дата > ДАТАВРЕМЯ(2020, 5, 1, 0, 0, 0)
   maksyandra
 
5 - 04.01.22 - 11:56
Запрос из ДС выше
   hhhh
 
6 - 04.01.22 - 12:01
(5) ну вот эта хрень должна обязательно тормозить
         И РеализацияТоваровУслугТовары.Ссылка.Склад В(&СписокСкладов)
            И НЕ РеализацияТоваровУслугТовары.Ссылка В (&СписокОбработаныхНакладных)
            И РеализацияТоваровУслугТовары.Ссылка.ТипДоставки <> ЗНАЧЕНИЕ(Перечисление.ТипДоставки.Самовывоз)
   
поэтому смиритесь.
   acht
 
7 - 04.01.22 - 12:08
(6) Да это еще малая из бед. Основное там в ПОЛНОЕ СОЕДИНЕНИЕ и ОБЪЕДИНИТЬ ВСЕ в списке без основной таблицы... Боюсь представить, во что СКД превращает ЭТО после наложения отборов и группировок.

(0) Смиритесь, вы сами создали эту реальность.
   SuperMario
 
8 - 04.01.22 - 12:08
(4) Ёптудэй )))
У вас не динамический список, а целый отчет зафигачен))

(6) да там не только на этом будет тормозить. Там и полное соединение с вложенным запросом и агрегация... ужас. А если еще и RLS то бедный планировщик запроса :(

Вы себе отдаете отчет, что при каждом скороллинге этого списка будет полностью запрос выполнен?

Хотя бы какая в этом списке основная таблица?
   Ёпрст
 
9 - 04.01.22 - 12:08
ПОЛНОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ

дальше можно не читать
   acht
 
10 - 04.01.22 - 12:09
(8) > основная таблица
Никакая. Оно не даст ее установить.
   SuperMario
 
11 - 04.01.22 - 12:11
(10) ну тогда мои соболезнования автору)
   maksyandra
 
12 - 04.01.22 - 12:27
Я предупреждал заказчиков что будет тормозить. Но им нужны все эти данные.
   SuperMario
 
13 - 04.01.22 - 12:59
(12) а  оставить список в покое и сделать его по прямому назначению?

Вынести "хотелки" заказчика в отчет?


имхо: если заказчик попросит спрыгнуть с крыши, не делайте этого! ))))))))))
   Xapac
 
14 - 04.01.22 - 13:01
(0) Сортировки нет? по како-муто "нехорошему" полю
   SuperMario
 
15 - 04.01.22 - 13:12
(14)  прием тут сортировка? Запрос в корне неверно построен.
   palsergeich
 
16 - 04.01.22 - 13:32
(12) Ну если нужно - подождут.
   maksyandra
 
17 - 04.01.22 - 13:46
(13) Им нужно вывести эти данные на форму, выбирать их в табличную часть, потом на основании выбранных данных создается документ и т.д. Видеть они хотят все в одном окне. Отчет тут не поможет.
   maksyandra
 
18 - 04.01.22 - 13:47
(15) Я понимаю что в ДС такое количество данных не выводят. Но может можно как-то оптимизировать запрос.
   acanta
 
19 - 04.01.22 - 13:53
Или городить архитектуру с регистра сведений, который будет отображаться один-к,одному в динамическом списке, а формироваться где-то как-то другими способами
   opus70
 
20 - 04.01.22 - 13:56
заведите регистр сведений и при записи из формы обновляйте его а от туда уже тяните данные по документам
   opus70
 
21 - 04.01.22 - 13:58
ВЫБРАТЬ
    РеализацияТоваровУслуг.Ссылка КАК Ссылка,
    РеализацияТоваровУслуг.Дата КАК Дата,
    РеализацияТоваровУслуг.Номер КАК Номер,
    РеализацияТоваровУслуг.Контрагент КАК Получатель,
    РеализацияТоваровУслуг.ГородДоставки КАК ГородДоставки,
    РеализацияТоваровУслуг.Комментарий КАК Комментарий,
    тчРТиУ.Количество КАК Количество,
    тчРТиУ.Вес КАК Вес,
    тчРТиУ.Объем КАК Объем,
    РеализацияТоваровУслуг.Ответственный КАК Ответственный,
    РеализацияТоваровУслуг.СпособДоставки КАК СпособДоставки,
    "РТИУ" КАК ТипДокумента
ИЗ
    Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг
        СОЕДИНЕНИЕ регистрсведений.тчРТиУ .....
   Xapac
 
22 - 04.01.22 - 14:37
(15)Сортировка  для динамического списка - это прям зло.
   maksyandra
 
23 - 04.01.22 - 14:37
(20) Думал об этом. Надо попробовать.
   Смотрящий
 
24 - 04.01.22 - 14:46
(23) Перепиши запрос. С ходу - накладывай отбор один раз, группируй и разыменовывай. В 2-3 раза скорость повысится


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