|
Ускорение выдачи динамического списка. Какие отборы работают быстрее? | ☑ | ||
---|---|---|---|---|
0
23th
04.04.25
✎
15:31
|
В компановщике настроек есть отборы:
Настройки.Отбор и ФиксированныеНастройки.Отбор Я всю жизнь добавлял в фиксированные настройки. Но сегодня столкнулся с тормозами в базе. При установке отборов (их 4) у меня выдача "думает" 4-5 сек. А это слишком много. Хотелось бы сократить хотя бы до 2 сек. Тут в темах ранее писали, что отбор отличается от установки параметров тем, что отбор работает с уже сформрованной выборкой. Но ведь когда мы делаем отборы все равно срабатывает событие ПриЧтенииДанныхНаСервере, т.е. как будто бы все равно запрос обновляется. |
|||
2
Fragster
гуру
04.04.25
✎
15:31
|
(0) тебя обманывают. скорее всего тормозит из-за кривого запроса или архитектуры, например из-за сортировки по колонке со справочником, на котором RLS
|
|||
3
23th
04.04.25
✎
15:31
|
Вдогонку. У меня просто запрос тяжелый, там есть выбор когда и гурппировки. Я пока не могу от них избавиться, если от них уйду, то придется делать несколько временных таблиц, а это опять же тормоза. Во всем виноват регистр сведений "РаспределениеЗапасов" в УТ или КА и характеристики номенклатуры.
Самой номенклатуры тоже не мало, более 500 к. Причем она очень ветвистая, мне кажется еще в этом проблема. |
|||
5
23th
04.04.25
✎
15:32
|
(2) В УТ или КА есть форма подбора номенклатуры, но она неудобная и как раз работает супер медленно. Там еще когда по веткам скачешь, то не показывает все что входит в эту ветку по наследству, а только то что в самой находится, а это просто супер неудобно.
|
|||
6
Fragster
гуру
04.04.25
✎
15:35
|
ещё отборы автоматически не пробрасываются во вложенные запросы, надо делать это руками с помощью вкладки "компоновка данных" конструктура запроса (ну или руками добавляя конструкции в фигурных скобках {Где Поле.* КАК Поле} во вложенных запросах)
|
|||
7
23th
04.04.25
✎
15:59
|
Куку
|
|||
8
23th
04.04.25
✎
16:01
|
(6) У меня нет вложенных.
Мне в принципе отборы нужны только на последнем пакете запросов. Там стоит поставить поля в компановкеданных? |
|||
9
23th
04.04.25
✎
16:16
|
Так все-таки меня обманывают?
Я про то, что, как ни крути, а запрос на сервер идет и переформировывается каждый раз, когда я устанавливаю отбор? |
|||
10
Fragster
гуру
04.04.25
✎
16:17
|
(9) да.
(8) для наиболее эффективного использования возможно стоит рассмотреть реальные запросы, которые генерит платформа, например с помощью ПолучитьИсполняемуюСхемуКомпоновкиДанных и ПолучитьИсполняемыеНастройкиКомпоновкиДанных. можно почитать полуюмористическую статью на эту тему: https://infostart.ru/1c/articles/559370/ |
|||
11
23th
04.04.25
✎
16:40
|
(10) Спасибо!
Щас прочекал, что через Настройки, что через ФиксированныеНастройки все одно, порядка 4-5 сек делает и читает сервер. Короче для самоуспокоения затолкал все в Настройки. Я вот вспомнил в отчетах я дурковал еще хлеще. Я делал табчасть "ТАбЗапроса", и присозданиинасервере ее заполнял 1 раз. Потом через СКД ее считывал, так получалось быстрее раз в 10 наверное. Но это реально костыль был. |
|||
12
23th
04.04.25
✎
16:43
|
в динамическом списке нету наборов данных и самое главное считывание идет только из данных бд. Вообще я уже начинаю думать, что может сойти с ума и заполнять тупо ТаблицуЗначений из спецреквизита ТабЗапроса. Тогда походу если шарахаться по папкам в которых около 1000 позиций будет работать быстрее. Пока правда лень все переделывать... Все таки прятница на носу.
|
|||
13
Михаил Козлов
04.04.25
✎
17:11
|
(5) Коллега в КА переделывал, чтобы показывало всю номенклатуру. Если нужно, могу посмотреть.
|
|||
14
23th
05.04.25
✎
01:20
|
(13) Если не сложно, то посмотрите.
Я где-то читал, что вид сравнения В ИЕРАРХИИ работает медленно. Я правда не шарю в СКЛ, как я понимаю этот метод и есть по сути ИЛИ и причем так как Номенклатура это реальная таблица, то там приходится еще и подсчитывать каждый раз список этой номенклатуры. Можно было бы сделать через Виды номенклатуры или иным способам отбора. Но люди не хотят менять иерархию на виды номенклатуры. Я еще не использую как основную таблицу справочник Номенклатура, так как все равно весь список никто не смотрит, только если поиск по частям слов наименования. Так что мне как в типовом решении динамическое считывание не нужно (по порциям). Хотя конечно пробовал делать и с основной таблицей справочник номенклатура. Эффекта никакого, даже еще медленне стало. |
|||
15
23th
05.04.25
✎
02:43
|
Всем спасибо!
Недаром говориться, утро вечера мудренее. Мне изначально не нужна была вся номенклатура, а только одна родительская папка, а в ней 100+кило позиций из 500к тотал. И я изначально ставил параметр на эту папку в условиях и параметрах вирт. таблиц. Сейчас убрал этот параметр, а на папку ставлю отбор. Ведь когда я хожу по вложенным папкам и подпапкам получается я всегда делал двойной отбор - сначала по параметру, а потом еще и по отбору. Сейчас довел выдачу списка до 2 сек. Ведь Сергей Арутюнов методист из УЦ1 1С говорил, что когда сидите в СКД то забирайте все подряд, а всякие отборы делайте в настройках компоновщика. Если прочтете, Сергей, вам спасибо, теперь буду знать это на собственном опыте с ДС. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |