Имя: Пароль:
1C
1С v8
СКД. Оптимизация отчета
0 Flempy
 
14.12.20
10:26
Имеется отчет в скд, состоящий из 6 разных запросов, связанных по регистратору. Данный отчет предназначен для анализа расходов на ТС(расходы на ТС, ГСМ, ЗП водителям и т.д). Собственно сам отчет работает, однако его формирование оставляет желать лучшего. Если рассматривать расходы в пределах месяца, то еще более-менее, а вот если брать хотя бы квартал, тогда процесс может затянуться надолго. Собственно, есть ли какие-то возможности оптимизировать отчет? Мб я просто чего-то не знаю, из-за малого опыта в скд
1 ДенисЧ
 
14.12.20
10:28
А сам запрос выполняется нормально?
2 toypaul
 
гуру
14.12.20
10:32
отчет на СКД формируется долго из-за

1. кривого запроса
2. большого (огромного) объема выводимых пользователю данных
3 Flempy
 
14.12.20
10:32
https://ibb.co/xFbs6BB
Собственно сам отчет
4 Flempy
 
14.12.20
10:33
(1) да, все что необходимо выводит
5 Flempy
 
14.12.20
10:35
(2) а как узнать о "кривости" запроса?
6 toypaul
 
гуру
14.12.20
10:37
(5) пригласить специалиста :)
7 Галахад
 
гуру
14.12.20
10:38
(5) Если запрос долго выполняется, скорее всего он кривоват.
8 toypaul
 
гуру
14.12.20
10:38
отчет по регистратору в 6 запросах не должен строиться за квартал. тут ошибка в проектировании
9 Flempy
 
14.12.20
10:39
Один из запросов отчета. Думаю, что долго формируется отчасти из-за него


ВЫБРАТЬ
    Пробег.Регистратор КАК ПутевойЛист,
    Пробег.ТС КАК ТС,
    Пробег.Количество КАК Пробег,
    0 КАК ВесГруза,
    Пробег.Организация КАК Организация,
    0 КАК КоличествоРасход,
    0 КАК СтоимостьРасход
ИЗ
    РегистрНакопления.уатВыработкаТС КАК Пробег
ГДЕ
    Пробег.ПараметрВыработки = &Пробег
    И Пробег.Период МЕЖДУ &НачалоПериода И &КонецПериода
    И Пробег.ТС.Наименование <> &НаименованиеТС

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    ВесГруза.Регистратор,
    ВесГруза.ТС,
    0,
    ВесГруза.Количество,
    ВесГруза.Организация,
    0,
    0
ИЗ
    РегистрНакопления.уатВыработкаТС КАК ВесГруза
ГДЕ
    ВесГруза.ПараметрВыработки = &ВесГруза
    И ВесГруза.Период МЕЖДУ &НачалоПериода И &конецПериода
    И ВесГруза.ТС.Наименование <> &НаименованиеТС

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    уатОстаткиГСМнаТС.Регистратор,
    уатОстаткиГСМнаТС.ТС,
    0,
    0,
    уатОстаткиГСМнаТС.Организация,
    уатОстаткиГСМнаТС.Количество,
    уатОстаткиГСМнаТС.Стоимость
ИЗ
    РегистрНакопления.уатОстаткиГСМнаТС КАК уатОстаткиГСМнаТС
ГДЕ
    уатОстаткиГСМнаТС.ТС.Наименование <> &НаименованиеТС
    И уатОстаткиГСМнаТС.Период МЕЖДУ &НачалоПериода И &конецПериода
    И уатОстаткиГСМнаТС.ВидДвижения = &Расход
10 Timon1405
 
14.12.20
10:39
(4) если время запроса в консоли сопоставимо с временем в СКД (так же долго), то тормозит запрос. а если в консоли быстро, а в СКД долго то дело в СКД
11 ДенисЧ
 
14.12.20
10:40
ВесГруза.ТС.Наименование <> &НаименованиеТС

https://i.pinimg.com/originals/fa/7e/c3/fa7ec38f684500e2f5867d25b092bf0b.jpg
12 Flempy
 
14.12.20
10:41
(11) Там указано наименование ТС, я тут просто заменил
13 Flempy
 
14.12.20
10:42
(8) Связь устанавливается по Транспортному средству
14 Малыш Джон
 
14.12.20
10:43
(0) переделай на один запрос и оптимизируй его
15 Flempy
 
14.12.20
10:44
(14) Вот тоже про это думал, просто не знал, можно ли так
16 toypaul
 
гуру
14.12.20
10:45
(11) нельзя расстрелять. надо научить :) сейчас молодой 1Сник редкий кадр. все в Андроид норовят
17 Малыш Джон
 
14.12.20
10:47
(15) можно
18 Flempy
 
14.12.20
10:50
(17) Оки, буду пробовать.
Всем спасибо