Крайне низкокачественный код у отчета. Так писали 25 лет назад на заре 7.7
Если база работает на SQL, то 10 минут говорят о том, что не так уж и много товаров.
Увеличить скорость, в принципе, не сложно. Отказаться от обращений через точку, т.е. Запрос.Товар.ЭтоГруппа() заменять на Запрос.ЭтоГруппа("Товар"). Более того, там где не надо групп, необходимо использовать конструкцию "Группировка Товар без групп;"
Необходимо стараться получать максимум информации в запросе. Т.е. вместо Запрос.Партия.ПерваяЦена в запросе добавить "ПерваяЦена = Регистр.ОстаткиТоваров.Партии.ПерваяЦена;" и потом обращаться Запрос.ПерваяЦена
Не использовать функции в запросе типа ПустаяСтрока(Артикул) = 0. Можно заменить на Артикул >= "!". На SQL версии 1С такие функции приводят к тому, что все эти функции выполняются на клиенте, а не на SQL-сервере. Это ОЧЕНЬ медленно.
Ну и вообще надо читать же документацию - там всего 4 книги. Лучше за неделю научиться и за день сделать, чем неделю экспериментировать с таким позорным результатом. Надо изучать типовые конфигурации и стараться писать лучше, чем там.
|