|
Как оптимизировать запрос - долго выполняется | ☑ | ||
---|---|---|---|---|
0
Adgjj
15.05.12
✎
11:28
|
Запрос.Текст = "ВЫБРАТЬ
| уатМестонахождениеТССрезПоследних.Колонна.Наименование КАК Колонна, | ВыработкаТС_ФТР.ТС.Наименование КАК НаимТС, | уатПервоначальныеСведенияТС.ГосударственныйНомер КАК ГосНомерТС, | уатПервоначальныеСведенияТС.ЕдиницаОборудования КАК ЕдОборуд, | СУММА(ВыработкаТС_ФТР.КоличествоЧасов) КАК ВремяВНаряде, | ВыработкаТС_ФТР.КоличествоКмГруз + ВыработкаТС_ФТР.КоличествоКмПорожний КАК ПробегОбщий, | СУММА(уатРасходГСМнаТС.РасходПоФакту) КАК РасходПоФакту, | уатРасходГСМнаТС.ГСМ, | уатПервоначальныеСведенияТС.ОсновноеСредство |ИЗ | РегистрНакопления.ВыработкаТС_ФТР КАК ВыработкаТС_ФТР | ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.уатРасходГСМнаТС КАК уатРасходГСМнаТС | ПО ВыработкаТС_ФТР.ПутЛист.Ссылка = уатРасходГСМнаТС.Регистратор.Ссылка | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уатПервоначальныеСведенияТС КАК уатПервоначальныеСведенияТС | ПО (уатПервоначальныеСведенияТС.ОсновноеСредство = ВыработкаТС_ФТР.ТС) | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.уатМестонахождениеТС.СрезПоследних(&Дата2, ) КАК уатМестонахождениеТССрезПоследних | ПО (уатПервоначальныеСведенияТС.ОсновноеСредство = уатМестонахождениеТССрезПоследних.ТС) |ГДЕ | ВыработкаТС_ФТР.Период МЕЖДУ &Дата1 И &Дата2 | И ВыработкаТС_ФТР.Активность | И ВыработкаТС_ФТР.ПутЛист.Проведен | И ВыработкаТС_ФТР.ПутЛист.Рассчитан | И уатРасходГСМнаТС.Период МЕЖДУ &Дата1 И &Дата2 | И уатРасходГСМнаТС.Активность | И уатРасходГСМнаТС.Регистратор.Проведен | И уатРасходГСМнаТС.Регистратор.Рассчитан | "; Если НомерТранспортноеСредство <> Справочники.ОсновныеСредства.ПустаяСсылка() Тогда Запрос.Текст = Запрос.Текст + " | И уатПервоначальныеСведенияТС.ОсновноеСредство = &ТС "; КонецЕсли; Если Колонна <> Справочники.уатКолонны.ПустаяСсылка() Тогда Запрос.Текст = Запрос.Текст + " | И уатМестонахождениеТССрезПоследних.Колонна = &Колонна "; КонецЕсли; Запрос.Текст = Запрос.Текст + " //|"; |СГРУППИРОВАТЬ ПО | уатПервоначальныеСведенияТС.ГосударственныйНомер, | уатМестонахождениеТССрезПоследних.Колонна.Наименование, | ВыработкаТС_ФТР.ТС.Наименование, | уатПервоначальныеСведенияТС.ЕдиницаОборудования, | уатРасходГСМнаТС.ГСМ, | уатПервоначальныеСведенияТС.ОсновноеСредство, | ВыработкаТС_ФТР.КоличествоКмГруз + ВыработкаТС_ФТР.КоличествоКмПорожний | |УПОРЯДОЧИТЬ ПО | ГосНомерТС"; |
|||
1
Alex S D
15.05.12
✎
11:30
|
|ИЗ
| РегистрНакопления.ВыработкаТС_ФТР - а здесь нельзя виртуальные таблицы использовать? |
|||
2
Alex S D
15.05.12
✎
11:30
|
ВыработкаТС_ФТР.Период МЕЖДУ &Дата1 И &Дата2
| И ВыработкаТС_ФТР.Активность | И ВыработкаТС_ФТР.ПутЛист.Проведен | И ВыработкаТС_ФТР.ПутЛист.Рассчитан это надо перенести в параметры вирт. таблицы этого регистра |
|||
3
zladenuw
15.05.12
✎
11:31
|
в пакеты добавь где берешь остатки и уже по виртуальным таблицам делай соединение. будет быстрее
|
|||
4
mikecool
15.05.12
✎
11:31
|
| И уатРасходГСМнаТС.Период МЕЖДУ &Дата1 И &Дата2
| И уатРасходГСМнаТС.Активность | И уатРасходГСМнаТС.Регистратор.Проведен | И уатРасходГСМнаТС.Регистратор.Рассчитан как минимум в условия соединения перенести |
|||
5
Adgjj
15.05.12
✎
11:31
|
(1) это самодельный регистр
|
|||
6
Alex S D
15.05.12
✎
11:32
|
(5) и что ?
|
|||
7
mikecool
15.05.12
✎
11:32
|
(5) прикольно, и чо? 1С не добавляет автоматом виртуалы? )
|
|||
8
Adgjj
15.05.12
✎
11:36
|
я с 1С редко сталкиваюсь)) с пакетами никогда не работала, про то, что виртуальные таблицы сами добаляются не в курсе, где их увидеть?
|
|||
9
zladenuw
15.05.12
✎
11:36
|
в конструкторе запросов
|
|||
10
vis_tmp
15.05.12
✎
11:38
|
Фотку?
|
|||
11
Alex S D
15.05.12
✎
11:41
|
(10) неправильно.., надо "Фотку!"
|
|||
12
mikecool
15.05.12
✎
11:42
|
(11) а после - водки!
|
|||
13
Alex375
15.05.12
✎
11:47
|
(0) Вопрос немного не потеме, но ответ поможет автору получить нормальный ответ: каков у тебя уровень владения 1С?
|
|||
14
Adgjj
15.05.12
✎
11:48
|
да вы наверно сами не знаете...
|
|||
15
Adgjj
15.05.12
✎
11:48
|
(13) начальный
|
|||
16
Alex S D
15.05.12
✎
11:49
|
да, мы ниче не знаем, так гадаем..
|
|||
17
acsent
15.05.12
✎
11:50
|
а что в твой регистр пишут непроведенные регистраторы?
|
|||
18
acsent
15.05.12
✎
11:51
|
весь косяк в обращении через точку к регистратору
|
|||
19
Adgjj
15.05.12
✎
11:53
|
(17) спасибо, а
| И ВыработкаТС_ФТР.Активность тоже можно убрать? |
|||
20
Alex375
15.05.12
✎
11:56
|
"Активность" требуется только если не через виртуальные таблицы обращаешься. Если же используются виртуальные таблицы регистров, тогда там "Активность" и не выбрать.
|
|||
21
Alex375
15.05.12
✎
11:59
|
Еще если условия перенести из секции "ГДЕ" в секцию соединений "ПО" так же увеличится производительность, причем может очень существенно. Об этом писали в (4)
|
|||
22
Adgjj
15.05.12
✎
11:59
|
(20) большое спасибо!
|
|||
23
Adgjj
15.05.12
✎
11:59
|
(21) спс попробую
|
|||
24
Alex375
15.05.12
✎
12:06
|
(23) будут вопросы, пиши ;)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |