8.х Время выполнения отчета

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Ольгусик, 29 ноя 2010.

  1. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Здравствуйте. Вариант работы клиент-серверный. Очень долго выполняются некоторые запросы и в том числе стандартный "отчет по проводкам". В файловом варианте все нормально. Причем это началось недавно.
    Запрос:
    Код:
    "ВЫБРАТЬ
    ХозрасчетныйДвиженияССубконтоРасход.Регистратор,
    ХозрасчетныйДвиженияССубконтоРасход.Период,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт2,
    ХозрасчетныйДвиженияССубконтоРасход.НомерСтроки,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт1,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт1.БазоваяЕдиницаИзмерения,
    СУММА(ХозрасчетныйДвиженияССубконтоРасход.КоличествоКт) КАК КоличествоКт,
    СУММА(ХозрасчетныйДвиженияССубконтоРасход.Сумма) КАК Сумма,
    ХозрасчетныйДвиженияССубконтоРасход.СчетДт,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт1,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт2,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт3,
    ХозрасчетныйДвиженияССубконтоРасход.СчетКт,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт3,
    ХозрасчетныйДвиженияССубконтоРасход.Регистратор.Ответственный КАК Ответственный,
    ХозрасчетныйДвиженияССубконтоРасход.Содержание
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
    &ДатаН,
    &ДатаК,
    СубконтоКт2 = &Склад
    И СчетКт В ИЕРАРХИИ (&Счет10)) КАК ХозрасчетныйДвиженияССубконтоРасход
    </span>
    СГРУППИРОВАТЬ ПО
    ХозрасчетныйДвиженияССубконтоРасход.Регистратор,
    ХозрасчетныйДвиженияССубконтоРасход.Период,
    ХозрасчетныйДвиженияССубконтоРасход.СчетКт,
    ХозрасчетныйДвиженияССубконтоРасход.СчетДт,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт1,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт2,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт3,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт1,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт2,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт3,
    ХозрасчетныйДвиженияССубконтоРасход.НомерСтроки,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт1.БазоваяЕдиницаИзмерения,
    ХозрасчетныйДвиженияССубконтоРасход.Регистратор.Ответственный,
    ХозрасчетныйДвиженияССубконтоРасход.Содержание"
    </FONT></FONT></pre>
  2. Itsys
    Offline

    Itsys Опытный в 1С

    Регистрация:
    3 янв 2010
    Сообщения:
    1.394
    Симпатии:
    0
    Баллы:
    26
    Код:
    И СчетКт В ИЕРАРХИИ (&Счет10)
    
    Это условие очень плохо сказывается на производительности, лучше все нужные элементы в массив или список и искать вхождение в него.
  3. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Я не очень еще в этом разбираюсь. Точнее совсем нет. Этот отчет был на предприятии задолго до меня. Все нормально было. А теперь стал долго выполняться почему-то.
  4. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Меня смущает больше всего как раз то, что раньше нормально было, а теперь именно этот отчет очень долго формируется.
  5. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Подскажите, пожалуйста на примере как это сделать
  6. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    Делаете временную таблицу выше основного запроса, а тут делаете условие В
  7. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    Не очень пока в этом. Можете ссыль кинуть, где можно почитать про это?
  8. BabySG
    Offline

    BabySG Администраторы Команда форума Администратор

    Регистрация:
    10 июн 2007
    Сообщения:
    11.853
    Симпатии:
    12
    Баллы:
    29
    1.
    Код:
    "ХозрасчетныйДвиженияССубконтоРасход.Регистратор.Ответственный КАК Ответственный"
    
    Это полный привет на сервере, под РЛС еще и даст ошибку в 256 таблиц (MS SQL)
    2.
    Код:
    "СГРУППИРОВАТЬ ПО"
    
    Зачем вообще это?
    3.
    Код:
    "ХозрасчетныйДвиженияССубконтоРасход.Содержание"
    
    Группировать по строке - это очень накладная операция
  9. TopicStarter Overlay
    Ольгусик
    Offline

    Ольгусик Опытный в 1С Команда форума

    Регистрация:
    4 фев 2010
    Сообщения:
    646
    Симпатии:
    3
    Баллы:
    29
    учту ваши советы. Спасибо
  10. shurikvz
    Offline

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

    Регистрация:
    1 окт 2009
    Сообщения:
    8.410
    Симпатии:
    316
    Баллы:
    104
    Есть статья на диске ИТС по поводу оптимизации, называется "Типичные причины неоптимальной работы запросов и методы оптимизации" (раздел "Технологические вопросы крупных внедрений"), т.е. будет приблизительно так:
    Код:
    "ВЫБРАТЬ
    ХозрасчетныйДвиженияССубконтоРасход.Регистратор,
    ХозрасчетныйДвиженияССубконтоРасход.Период,
    ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт2 КАК Справочник.Склады) КАК СубконтоКт2,
    ХозрасчетныйДвиженияССубконтоРасход.НомерСтроки,
    ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт1 КАК Справочник.Номенклатура) КАК СубконтоКт1,
    ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт1 КАК Справочник.Номенклатура).БазоваяЕдиницаИзмерения КАК БазоваяЕдиницаИзмерения,
    ХозрасчетныйДвиженияССубконтоРасход.КоличествоКт КАК КоличествоКт,
    ХозрасчетныйДвиженияССубконтоРасход.Сумма КАК Сумма,
    ХозрасчетныйДвиженияССубконтоРасход.СчетДт,
    ВЫБОР
    КОГДА ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт1 ССЫЛКА Справочник.Номенклатура
    ТОГДА ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт1 КАК Справочник.Номенклатура)
    КОГДА ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт1 ССЫЛКА Справочник.ПодразделенияОрганизаций
    ТОГДА ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт1 КАК Справочник.ПодразделенияОрганизаций)
    КОГДА ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт1 ССЫЛКА Справочник.Контрагенты
    ТОГДА ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт1 КАК Справочник.Контрагенты)
    КОНЕЦ КАК СубконтоДт1,
    ВЫБОР
    КОГДА ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт2 ССЫЛКА Справочник.Склады
    ТОГДА ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт2 КАК Справочник.Склады)
    КОГДА ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт2 ССЫЛКА Справочник.ДоговорыКонтрагентов
    ТОГДА ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт2 КАК Справочник.ДоговорыКонтрагентов)
    КОГДА ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт2 ССЫЛКА Справочник.СтатьиЗатрат
    ТОГДА ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт2 КАК Справочник.СтатьиЗатрат)
    КОНЕЦ КАК СубконтоДт2,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоДт3,
    ХозрасчетныйДвиженияССубконтоРасход.СчетКт,
    ХозрасчетныйДвиженияССубконтоРасход.СубконтоКт3,
    ХозрасчетныйДвиженияССубконтоРасход.Регистратор.Ответственный КАК Ответственный,
    ХозрасчетныйДвиженияССубконтоРасход.Содержание
    ИЗ
    РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто(
    &ДатаН,
    &ДатаК,
    (ВЫРАЗИТЬ(СубконтоКт2 КАК Справочник.Склады)) = &Склад
    И СчетКт В ИЕРАРХИИ (&Счет10),
    ,
    ) КАК ХозрасчетныйДвиженияССубконтоРасход"
    

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