Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Запрос по прибыли - 50 минут...
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.2 > Программирование обычных форм 1С 8.2 и не интерфейсной логики
bolobol
Здравствуйте!

Занялся отладкой регламентированного отчёта по прибыли. Выявил первый запрос, что выполняется ПЯТЬДЕСЯТ минут. Подскажите пожалуйста, что можно доработать в конфигурации, чтобы запрос этот... побыстрее выполнялся?

ВЫБРАТЬ
    ВЫБОР
        КОГДА ЕСТЬNULL(Выручка.КоличествоОборотКт, 0) = 0
            ТОГДА ЕСТЬNULL(Выручка.СуммаНУОборотКт, 0)
        ИНАЧЕ ЕСТЬNULL(Выручка.СуммаНУОборотКт, 0) / ЕСТЬNULL(Выручка.КоличествоОборотКт, 0) * ЕСТЬNULL(Себестоимость.КоличествоОборотКт, 0)
    КОНЕЦ КАК СуммаДохода
ИЗ
    РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&ДатаНач, &ДатаКон, Запись, СчетДт В ИЕРАРХИИ (&Счет9002), , СчетКт В ИЕРАРХИИ (&СчетаУчетаТоваров), &Номенклатура, Организация В (&СписокОрганизаций)) КАК Себестоимость
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрБухгалтерии.Хозрасчетный.ОборотыДтКт(&ДатаНач, &ДатаКон, Запись, (НЕ СчетДт В ИЕРАРХИИ (&Счет9001)), , СчетКт В ИЕРАРХИИ (&Счет9001), &Номенклатура, Организация В (&СписокОрганизаций)) КАК Выручка
        ПО (Выручка.Регистратор = Себестоимость.Регистратор)
            И (Выручка.СубконтоКт1 = Себестоимость.СубконтоКт1)

Параметры:
ДатаНач 01.01.2011 0:00:00 Дата
ДатаКон 31.08.2011 23:59:59 Дата
СписокОрганизаций Наша организация ООО СписокЗначений
Номенклатура Номенклатура ПланВидовХарактеристикСсылка.ВидыСубконтоХозрасчетные
Счет9001 90.01.1 ПланСчетовСсылка.Хозрасчетный
Счет9002 90.02.1 ПланСчетовСсылка.Хозрасчетный
СчетЕН Массив Массив:
90.07.2
90.08.2
99.01.2
СчетаУчетаТоваров Массив Массив:
41
45.01
Ardi
Убрать левое соединение. А результаты обработать на следующем этапе.

Цитата(bolobol @ 17.09.11, 7:55) необходимо зарегистрироваться для просмотра ссылки
Занялся отладкой регламентированного отчёта по прибыли. Выявил первый запрос, что выполняется ПЯТЬДЕСЯТ минут.

Ложь. Ложь. Ложь.
Так как запрос выбирает данные по одному товару.
bolobol
Цитата(Ardi @ 17.09.11, 12:21) необходимо зарегистрироваться для просмотра ссылки
Убрать левое соединение. А результаты обработать на следующем этапе.

Не, ну я не могу убрать в регламентированном отчёте левое соединение - результаты изменятся, а это, всё-таки, налоги.

Цитата(Ardi @ 17.09.11, 12:21) необходимо зарегистрироваться для просмотра ссылки
Ложь. Ложь. Ложь.
Так как запрос выбирает данные по одному товару.

В чём бы был смысл этого запроса, если бы товар был один? Один облагается прибылью, а тысячи остальных - нет?
В результате запроса - 962 432 строки с разными цифрами - СуммаДохода.
pablo
Возможно, проблема в СУБД?
bolobol
Цитата(pablo @ 19.09.11, 9:36) необходимо зарегистрироваться для просмотра ссылки
Возможно, проблема в СУБД?

Этот вопрос изучается методом: план переустановки сервера ))
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.