Имя: Пароль:
1C
 
Ускорение выдачи динамического списка. Какие отборы работают быстрее?
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С говорил, что когда сидите в СКД то забирайте все подряд, а всякие отборы делайте в настройках компоновщика.
Если прочтете, Сергей, вам спасибо, теперь буду знать это на собственном опыте с ДС.