Имя: Пароль:
1C
1С v8
Зависает запрос 1С 8.3.12 при использовании границ
0 Euroset1
 
15.03.19
13:06
"ВЫБРАТЬ
                   |    ХозрасчетныйОстатки.Субконто1 КАК Номенклатура,
                   |    СУММА(ВЫБОР
                   |            КОГДА ХозрасчетныйОстатки.Субконто2 = &ОснСклад
                   |                ТОГДА ХозрасчетныйОстатки.СуммаОстатокДт
                   |            ИНАЧЕ 0
                   |        КОНЕЦ) КАК СуммаОсн,
                   |    СУММА(ВЫБОР
                   |            КОГДА ХозрасчетныйОстатки.Субконто2 = &ОснСклад
                   |                ТОГДА ХозрасчетныйОстатки.КоличествоОстатокДт
                   |            ИНАЧЕ 0
                   |        КОНЕЦ) КАК КоличествоОсн,
                   |    СУММА(ВЫБОР
                   |            КОГДА ХозрасчетныйОстатки.Субконто2 = &ДопСклад
                   |                ТОГДА ХозрасчетныйОстатки.СуммаОстатокДт
                   |            ИНАЧЕ 0
                   |        КОНЕЦ) КАК СуммаДоп,
                   |    СУММА(ВЫБОР
                   |            КОГДА ХозрасчетныйОстатки.Субконто2 = &ДопСклад
                   |                ТОГДА ХозрасчетныйОстатки.КоличествоОстатокДт
                   |            ИНАЧЕ 0
                   |        КОНЕЦ) КАК КоличествоДоп
                   |ПОМЕСТИТЬ ВТ_Остатки41
                   |ИЗ
                   |    РегистрБухгалтерии.Хозрасчетный.Остатки(&Дата, Счет = &Счет, , ) КАК ХозрасчетныйОстатки
                   |
                   |СГРУППИРОВАТЬ ПО
                   |    ХозрасчетныйОстатки.Субконто1
                   |;

когда &Дата передается как ДатаАктуальности, то на любую дату запрос отрабатывает 5 сек. Когда &Дата передается как Новый Граница(ДатаАктуальности - 1, ВидГраницы.Включая) , то на некоторые даты результат тот же, а на некоторые вообще зависает и вешает SQL на 40 процентов процессорного времени на неопределенное время. Я не использовал границы и не планировал, но "великие умы 1с" советуют делать это. Отсюда вопрос, особенно к тем, кто это советует использовать: почему простейший запрос, в котором результат дай боже двадцать тысяч строк, вешает машину на неопределенный срок? После двух часов ожидания приходилось килять запрос на SQL, потому что он результатов не давал.
Независимо от того, куда вы едете — это в гору и против ветра!