Тупит форма подбора товара в документы продажи ЕРП 2. Галочка "Только в наличии"

1. AlekseyBelyy 12 08.06.20 18:25 Сейчас в теме
Всем привет.
Вопрос собственно в теме обозначен.

Немного контекста:
платформа - 8.3.15.1830
конфа - 1С:ERP Управление предприятием 2 (2.4.11.104)
Справочник номенклатуры содержит 1 600 000+ элементов

При работе с формой подбора товара в документ продажи или в помощник продажи, при нажатии галки "только в наличии" тупит 10-15 минут, точно не помню. Если есть отбор по складу, то галка уже называется "только в наличии на складе Центральный склад" и выполняется быстрее, но все равно тупит.

На форме добавлены свои галки, которые работают быстро, меньше секунды.
Сразу скажу, тупил функционал и до наших галок, когда все типовое - форма, общие модули и т.д.

В профайлере отловил запросы дин.списка формы подбора, все одинаково, кроме условий запроса:
Отличие в условии следующее:

WHERE
((T1._Fld2329 = *P204)) AND -- разделитель, не используется
((T1._Folder) = 0x01 AND -- условие, что не группа
(T1._Fld55579RRef IN (*P205, *P206, *P207, *P208, *P209)) AND -- условие на тип товара,
CASE WHEN (T13._Fld66874RRef IS NULL) THEN 0x00 WHEN (T13._Fld66874RRef = *P210) THEN 0x00 ELSE 0x01 END = 0x01) --работает быстро, наша галка

WHERE
((T1._Fld2329 = *P204)) AND
((T1._Folder) = 0x01 AND
(T1._Fld55579RRef IN (*P205, *P206, *P207, *P208, *P209)) AND
(ISNULL(CAST(T10.Fld48069Balance_ AS NUMERIC(21, 3)),*P210) > *P211)) -- тупит, типовая "только в наличии"

По плану запроса видно, что не все в порядке, например, при поиске по индексу (регистр сведений цены номенклатуры)
- предполагаемое количество выполнение - 1
- предполагаемое количество строк 1.5
- фактическое количество выполнений - 1
- фактическое колво строк - 1 980 000
из-за этого затем далее используется темпДБ для сброса данных для сортировки. Статистика обновлена по индексам обновлена, индексы не фрагментированы, процедурный кэш чистил, все равно не помогает.
Есть еще другие моменты, все не опишешь, Если интересно могу планы прикрепить.

Кто сталкивался с подобной проблемой?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. soft_wind 08.06.20 23:32 Сейчас в теме
какая-то путаница в описании, то вы пищите что с вашей галкой Тупит, то приводите пример что ваша Галка НЕ Тупит, - Вы уж определитесь!

ну и совет: Попробуйте переписать Запрос, в соответствии с рекомендациями по оптимизации от 1С - помогает.

1.передайте всевозможные отборы в виртуальную таблицу
2.разбейте Номенклатуру по группам, трудно представить что при подборе нужна сразу вся Номенклатура, а выбор по группам значительно сократит список

если выложите весь свой запрос (и если он не 5 метров) подсказки будут более конструктивные!
3. AlekseyBelyy 12 08.06.20 23:40 Сейчас в теме
(2) раз уж не понятно, разжевываю, тупит типовая форма подбора товара ЕРП и без наших доработок - а именно галка "Только в наличии". Но наши галки в этой форме работают мгновенно. Это чтобы отсечь комменты, что мы сломали что-то.
4. AlekseyBelyy 12 08.06.20 23:42 Сейчас в теме
(2)
передайте всевозможные отборы в виртуальную таблицу

спасибо, кэп!
5. Дмитрий74Чел 239 10.06.20 13:12 Сейчас в теме
Найдите запрос на языке 1с. Сравните с бекапом полугодовым. Если менялся - значит 1С опять намудрили.
6. Дмитрий74Чел 239 10.06.20 13:14 Сейчас в теме
Условие "(ISNULL(CAST(T10.Fld48069Balance_ AS NUMERIC(21, 3)),*P210) > *P211))" на языке 1с это что?
7. acanta 10.06.20 13:19 Сейчас в теме
(6) остаток с коэффициентом пересчета в другую единицу измерения больше чего то?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот