|  | v7: Обработка итогов на:.... зависает на долго | ☑ | 
    
        | 0
    
        serpentt   20.06.22✎ 09:14 | 
        Здравствуйте, база SQL. Запрос простой 1Совский(черный)
 ПЕРИОД С НачДата По КонДата;
 Фирма = Регистр.Покупатели.Фирма;
 ДоговорВладелец = Регистр.Покупатели.Договор.Владелец;
 я_ТипУчета = Регистр.Покупатели.я_ТипУчета;
 Себестоимость = Регистр.Покупатели.Себестоимость;
 СуммаВал = Регистр.Покупатели.СуммаВал;
 Группировка Фирма;
 Группировка ДоговорВладелец Без Групп;
 Группировка я_ТипУчета;
 Группировка Документ;
 Функция НачОстСебестоимость = НачОст(Себестоимость);
 Функция ПриходСебестоимость = Приход(Себестоимость);
 Функция РасходСебестоимость = Расход(Себестоимость);
 Функция КонОстСуммаВал = КонОст(СуммаВал);
 Функция КонОстСебестоимость = КонОст(Себестоимость);
 Условие (ДоговорВладелец = Фильтр1);
 Условие (Фирма = Фильтр2);
 
 Если строить запрос на даты с окрнчанием ТочкаАктуальности... то отчет строится быстро(поясняю)
 ТА 20-06-22
 Периоды НачДата = Любаядата и КонДата = ТА.... ВСЕ ок
 но если делать запрос с ДатаКонца меньше ТА, то запрос уходит в долгое плавание и в строке состояния висит сообщение "Обработка итогов на: "
 
 Куда подсмотреть? почему именно так происходит.
 Прямые запросы на 1С++ строятся без проблем.
 |  | 
    
        | 1
    
        Builder   20.06.22✎ 09:32 | 
        (0) Это норма :) 
Итоги хранятся на определенный период, как правило месяц.
 На остальные даты рассчитываются  = Начост + Приход - Расход.
 Если регистр не закрыт или неправильно сделан или много движений - так и будет.
 |  | 
    
        | 2
    
        serpentt   20.06.22✎ 09:35 | 
        (1) Спасибо, буду дальше разбираться.     |  | 
    
        | 3
    
        Злопчинский   20.06.22✎ 10:13 | 
        С учётом измерения я-типучета вангую что регистр таки не закрыт...     |  | 
    
        | 4
    
        Харлампий Дымба   20.06.22✎ 22:43 | 
        С учётом знака "равно" в условиях
 Условие (ДоговорВладелец = Фильтр1);
 Условие (Фирма = Фильтр2);
 
 видно, что
 
 Группировка Фирма;
 Группировка ДоговорВладелец Без Групп;
 
 явно лишнее. А это уже серьёзное ускорение.
 
 Не большой знаток ОУ, но думаю, что КонОст(Себестоимость) можно в запросе не считать, так как всё-равно для Группировки "Документ" НачОст() и КонОст() не определены и их придётся считать вручную по приходу и расходу документа, а также начальному остатку от группировки я_ТипУчета. Так что тут можно уже в момент обхода итогов посчитать КонОст = Начост + Приход - Расход.
 |  | 
    
        | 5
    
        uno-group   21.06.22✎ 10:51 | 
        Если дата = концу периода то тоже должно быстро считаться.
можно попробовать Фильтр1 перед выполением запроса обработать и загнать в фильтр2 список договоров по контрагенту.
 Договор = Регистр.Покупатели.Договор;
 и фильтр по договорам сделать
 |  |