8.х СКД. отбор в отчете

Тема в разделе "Система компоновки данных (СКД)", создана пользователем Elenachka, 23 сен 2014.

  1. TopicStarter Overlay
    Elenachka
    Offline

    Elenachka Опытный в 1С

    Регистрация:
    15 авг 2011
    Сообщения:
    484
    Симпатии:
    0
    Баллы:
    26
    Добрый день. есть отчет на скд. формируется по времени прилично, т.к. данных много. через стандартные настройки выбираю отбор номенклатура в группе... так отчет начинает формироваться еще раз в 5 медленнее. в чем причина такой ситуации и какие могут быть варианты по исправлению?
  2. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    Вариант один. анализировать запрос и в нужных местах вставлять {} такие констуркции с определенными отборами. Других вариантов нет.
  3. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.781
    Симпатии:
    509
    Баллы:
    204
    Оптимизация запроса.
  4. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    /telepathist mode on/
    код отчета/запросы написаны не оптимально
    /telepathist mode off/
  5. Draco
    Offline

    Draco Модераторы Команда форума Модератор

    Регистрация:
    28 окт 2009
    Сообщения:
    13.647
    Симпатии:
    948
    Баллы:
    204
    Надо смотреть запрос и настройки СКД. просто когда Вы делаете отбор в отчете, то на самом деле СКД сначала получает все данные которые требуются запросом, а затем уже накладывает фильтр, который указал пользователь.
    Т.е если бы этот фильтр был в запросе (обычно он тогда в параметрах присутвует), то тогд аработало бы быстрее.
    --- Объединение сообщений, 23 сен 2014 ---
    Это как условие либо поставить его в отборе в Виртуальной таблице, либо в оперторе ГДЕ разницу понимаете?
    Elenachka нравится это.
  6. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    Я да :)
  7. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    Было бы намного интереснее, если бы нет :)
  8. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    :D. Все, прекращаем флуд. Elenachka, Вам все понятно?
  9. TopicStarter Overlay
    Elenachka
    Offline

    Elenachka Опытный в 1С

    Регистрация:
    15 авг 2011
    Сообщения:
    484
    Симпатии:
    0
    Баллы:
    26
    Да, всем спасибо! понятно в каком направлении работать.
  10. TriviumFan
    Offline

    TriviumFan Опытный в 1С Заблокирован

    Регистрация:
    19 мар 2013
    Сообщения:
    92
    Симпатии:
    15
    Баллы:
    29
    Извиняюсь, но мне не понятно, как при добавлении отбора в СКД возможно "падение производительности".
    Ведь при любом отборе (будь то ВТ или после ГДЕ) записей в результате запроса будет меньше, соответственно и вывод в табличное поле будет быстрее. Разве не так? (имеется ввиду отбор из доступных полей отбора, а не программный "ГДЕ Номенклатура В (Подзапрос)"
    Можно наглядный пример?
  11. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    СКД при наложении отбора делает именно конструкцию "ГДЕ......"
  12. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    Вы ошибаетесь. Отбор в СКД как раз накладывает свои условия через ГДЕ. Что это означает, означает то, что сначала будет выведено полное количество записей, и только потом на них условие будет наложено. А если условие стоит в услвиях виртуальной таблицы, то записи отбираются сразу.
  13. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    ?
    с чего бы это?
  14. TriviumFan
    Offline

    TriviumFan Опытный в 1С Заблокирован

    Регистрация:
    19 мар 2013
    Сообщения:
    92
    Симпатии:
    15
    Баллы:
    29
    Прочитайте ещё раз, что я написал.
    Не правда, СКД изменит сам запрос к БД и добавит условие "ГДЕ" - записей в результате запроса будет меньше.
  15. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    СКД добавит условия там, где она сама посчитает нужным. И где она думает, что будет самым оптимальным вариантом. Но условия все равно через ГДЕ идут.
    Не понимаю, что Вы хотите доказать.
  16. TriviumFan
    Offline

    TriviumFan Опытный в 1С Заблокирован

    Регистрация:
    19 мар 2013
    Сообщения:
    92
    Симпатии:
    15
    Баллы:
    29
    Вы только что сказали, что отбор происходит не на уровне запроса к БД, а после - в самой СКД
  17. nomad_irk
    Offline

    nomad_irk Гуру в 1С

    Регистрация:
    20 окт 2008
    Сообщения:
    7.573
    Симпатии:
    717
    Баллы:
    204
    на уровне запроса, но с помощью конструкции ГДЕ
    --- Объединение сообщений, 23 сен 2014 ---
    простой замер времени выполнения отчета ответит на этот вопрос.
  18. shurikvz
    Offline

    shurikvz Модераторы Команда форума Модератор

    Регистрация:
    1 окт 2009
    Сообщения:
    8.409
    Симпатии:
    316
    Баллы:
    104
    Бррр...
    Всем стоп! nbIpKuH_BaH9I, nomad_irk с чего вы взяли что СКД накладывает условия отбора исключительно конструкцией "ГДЕ"?

    TriviumFan вас я также слабо понимаю, что вы хотите донести. Вы акцентируете свои посты на количестве строк в итоговой выборке и соответственно скорости ее вывода на экран. Да, табличный документ может медленно выводится, но это заметно только на отчетах с большим количеством строк. В большинстве отчетов этой скоростью вывода в табличный документ можно запросто пренебречь.
  19. nbIpKuH_BaH9I
    Offline

    nbIpKuH_BaH9I Модераторы Команда форума Модератор

    Регистрация:
    16 сен 2009
    Сообщения:
    6.988
    Симпатии:
    398
    Баллы:
    104
    Где я это сказал?
  20. TriviumFan
    Offline

    TriviumFan Опытный в 1С Заблокирован

    Регистрация:
    19 мар 2013
    Сообщения:
    92
    Симпатии:
    15
    Баллы:
    29
    Тогда что Вы пытаетесь объяснить мне уже 2й раз? Я это итак знал.
    Шурик, в описании темы сказано, что данных много, а раз так - то пренебречь вывод в ТабДок никак нельзя
Похожие темы
  1. Romik
    Ответов:
    5
    Просмотров:
    900
  2. BigAnn
    Ответов:
    1
    Просмотров:
    496
Загрузка...

Поделиться этой страницей