|
v7: Получить Дату и номер документа Запросом. | ☑ | ||
---|---|---|---|---|
0
Владимир1С
24.01.17
✎
16:23
|
Здравствуйте.
Появилась необходимость получить Даты и Номера документов из регистров базы. Оптимизировал текст, получение даты и номера внёс в запрос, и ... -------------------- Запрос 1 - без оптимизации -------------------- Запрос выполнялся 0 ч. 0 м. 1 с. (1 сек.) Таблица выводилась 0 ч. 0 м. 12 с. (12 сек.) Общая длительность 0 ч. 0 м. 13 с. (13 сек.) -------------------- Запрос 2 - оптимизация справочников -------------------- Запрос выполнялся 0 ч. 0 м. 1 с. (1 сек.) Таблица выводилась 0 ч. 0 м. 8 с. (8 сек.) Общая длительность 0 ч. 0 м. 9 с. (9 сек.) -------------------- Запрос 3 - оптимизация справочников и документов -------------------- Запрос выполнялся 0 ч. 0 м. 50 с. (50 сек.) Таблица выводилась 0 ч. 0 м. 1 с. (1 сек.) Общая длительность 0 ч. 0 м. 51 с. (51 сек.) Это тест серверного варианта базы данных. Есть какое нибудь решение , кроме использования 1СPP? |
|||
1
Aleksey
24.01.17
✎
16:26
|
Попробуй 25 строку закоментировать
|
|||
2
Владимир1С
24.01.17
✎
16:28
|
(1) Вопрос по существу, у кого нибудь получыалось использованием штатных методов избежать участи получить результат по третьему варианту?
|
|||
3
Владимир1С
24.01.17
✎
16:31
|
Без Оптимизации:
ЗП=СоздатьОбъект("Запрос"); ТЗ="Период с НачДата По КонДата; |Склад=Регистр.Прибыль.Склад; |Товар=Регистр.Прибыль.Товар; |Количество=Регистр.Прибыль.Количество; | |Группировка Склад Упорядочить по Склад.КодИБ; |Группировка Товар Без Групп Упорядочить по Товар.Код; |Группировка Документ; | |Функция Продано=Сумма(Количество);"; Оптимизация справочников: ЗП=СоздатьОбъект("Запрос"); ТЗ="Период с НачДата По КонДата; |Склад=Регистр.Прибыль.Склад; |СкладКодИБ=Регистр.Прибыль.Склад.КодИБ; |СкладНаим=Регистр.Прибыль.Склад.Наименование; |Товар=Регистр.Прибыль.Товар; |ТоварКод=Регистр.Прибыль.Товар.Код; |ТоварНаим=Регистр.Прибыль.Товар.Наименование; |Количество=Регистр.Прибыль.Количество; | |Группировка Склад Упорядочить по Склад.КодИБ; |Группировка Товар Без Групп Упорядочить по Товар.Код; |Группировка Документ; | |Функция Продано=Сумма(Количество);"; И справочников и документов: ЗП=СоздатьОбъект("Запрос"); ТЗ="Период с НачДата По КонДата; |Склад=Регистр.Прибыль.Склад; |СкладКодИБ=Регистр.Прибыль.Склад.КодИБ; |СкладНаим=Регистр.Прибыль.Склад.Наименование; |Товар=Регистр.Прибыль.Товар; |ТоварКод=Регистр.Прибыль.Товар.Код; |ТоварНаим=Регистр.Прибыль.Товар.Наименование; |Количество=Регистр.Прибыль.Количество; |ТекДок=Регистр.Прибыль.ТекущийДокумент; |ТекДокНомерДок=Регистр.Прибыль.ТекущийДокумент.ЗакрытиеСмены.НомерДок, | Регистр.Прибыль.ТекущийДокумент.НакладнаяРасход.НомерДок, | Регистр.Прибыль.ТекущийДокумент.ОтчетРеализатора.НомерДок, | Регистр.Прибыль.ТекущийДокумент.Возврат.НомерДок, | Регистр.Прибыль.ТекущийДокумент.ВозвратПоОтчетуРеализатора.НомерДок, | Регистр.Прибыль.ТекущийДокумент.Сторно.НомерДок, | Регистр.Прибыль.ТекущийДокумент.НакладнаяРасходРаспр.НомерДок; |ТекДокДатаДок= Регистр.Прибыль.ТекущийДокумент.ЗакрытиеСмены.ДатаДок, | Регистр.Прибыль.ТекущийДокумент.НакладнаяРасход.ДатаДок, | Регистр.Прибыль.ТекущийДокумент.ОтчетРеализатора.ДатаДок, | Регистр.Прибыль.ТекущийДокумент.Возврат.ДатаДок, | Регистр.Прибыль.ТекущийДокумент.ВозвратПоОтчетуРеализатора.ДатаДок, | Регистр.Прибыль.ТекущийДокумент.Сторно.ДатаДок, | Регистр.Прибыль.ТекущийДокумент.НакладнаяРасходРаспр.ДатаДок; | |Группировка Склад Упорядочить по Склад.КодИБ; |Группировка Товар Без Групп Упорядочить по Товар.Код; |Группировка ТекДок; | |Функция Продано=Сумма(Количество);"; |
|||
4
Ёпрст
24.01.17
✎
16:31
|
(2) есть
|
|||
5
Ёпрст
24.01.17
✎
16:32
|
(3) выкинь упорядочивание к едрени фени из текста запроса
|
|||
6
Владимир1С
24.01.17
✎
16:32
|
(4) Если не секрет, какой?
|
|||
7
Владимир1С
24.01.17
✎
16:33
|
(5) последую совету, отпишусь.
|
|||
8
Ёпрст
24.01.17
✎
16:34
|
ну и 3-ий запрос, в топку, как и второй
|
|||
9
Владимир1С
24.01.17
✎
16:37
|
(8) я потому и задал вопрос, что не понимаю особо, какая логика внутри 7.7 ... можно чуть поподробнее?
|
|||
10
Ёпрст
24.01.17
✎
16:38
|
(9) открой профайлер, отлови запрос - вот и вся логика.
|
|||
11
Ёпрст
24.01.17
✎
16:39
|
посмотри, что происходит, если втыкаешь упорядочивание или пишешь условия через точку.
|
|||
12
Ёпрст
24.01.17
✎
16:39
|
или, перечисляешь что либо через зпт как в 3-ем запросе.
|
|||
13
МихаилМ
24.01.17
✎
16:46
|
учтите, что для скл версии быстрее данные получить запросом
(кроме бух компоненты) , а для дбф - выборкой. |
|||
14
Builder
24.01.17
✎
16:52
|
Кто нибудь объясните зачем ТС в 3-м запросе ТекДокНомерДок и ТекДокДатаДок ????
|
|||
15
Владимир1С
24.01.17
✎
16:55
|
(14) этот вопрос ещё будет обсуждаться..
Результатик не обнадёжил: -------------------- Запрос 1 - без оптимизации БЕЗ УПОРЯДОЧИВАНИЯ -------------------- Запрос выполнялся 0 ч. 0 м. 4 с. (4 сек.) Таблица выводилась 0 ч. 0 м. 15 с. (15 сек.) Общая длительность 0 ч. 0 м. 19 с. (19 сек.) -------------------- Запрос 2 - оптимизация справочников БЕЗ УПОРЯДОЧИВАНИЯ -------------------- Запрос выполнялся 0 ч. 0 м. 5 с. (5 сек.) Таблица выводилась 0 ч. 0 м. 8 с. (8 сек.) Общая длительность 0 ч. 0 м. 13 с. (13 сек.) -------------------- Запрос 3 - оптимизация справочников и документов БЕЗ УПОРЯДОЧИВАНИЯ -------------------- Запрос выполнялся 0 ч. 0 м. 57 с. (57 сек.) Таблица выводилась 0 ч. 0 м. 3 с. (3 сек.) Общая длительность 0 ч. 1 м. 0 с. (60 сек.) -------------------- Запрос 1 - без оптимизации -------------------- Запрос выполнялся 0 ч. 0 м. 1 с. (1 сек.) Таблица выводилась 0 ч. 0 м. 12 с. (12 сек.) Общая длительность 0 ч. 0 м. 13 с. (13 сек.) -------------------- Запрос 2 - оптимизация справочников -------------------- Запрос выполнялся 0 ч. 0 м. 1 с. (1 сек.) Таблица выводилась 0 ч. 0 м. 7 с. (7 сек.) Общая длительность 0 ч. 0 м. 8 с. (8 сек.) -------------------- Запрос 3 - оптимизация справочников и документов -------------------- Запрос выполнялся 0 ч. 0 м. 51 с. (51 сек.) Таблица выводилась 0 ч. 0 м. 1 с. (1 сек.) Общая длительность 0 ч. 0 м. 52 с. (52 сек.) |
|||
16
Ёпрст
24.01.17
✎
16:57
|
(15) как ты меряешь выполнение запроса то хоть ?
И зачем ЭТО всё вообще упало ? Тем более, с такими полями |
|||
17
Builder
24.01.17
✎
16:57
|
(15) Что, ТекДок.ДатаДок и ТекДок.НомерДок не работает уже?
|
|||
18
Ёпрст
24.01.17
✎
16:58
|
ну и выкинб слово оптимизация - там её никакой нет
|
|||
19
Владимир1С
24.01.17
✎
16:59
|
В запросе .текущийДокумент.НомерДок и .ДатаДок нет, не работают. Только через строку вида документа.
|
|||
20
Ёпрст
24.01.17
✎
17:00
|
(19) работают, зависит от версии ИБ (в скуле возвращает что-то одно из НомерДок/ДатаДок в ДБФ - наеборот)
|
|||
21
Ёпрст
24.01.17
✎
17:00
|
не помню ужо, ибо нафик оно не надо
|
|||
22
Владимир1С
24.01.17
✎
17:01
|
от 20 до 25 % дало прирост скорости только по справочникам, и то, учтя, что у меня переменные среды сеансча пользователя на РАМ диске в оперативке. мдя..
(18) Спасибо, запомню. |
|||
23
Ёпрст
24.01.17
✎
17:01
|
+Зависит еще от флага быстрая обработка движений (или хотя бы галки на одном из измерений регистра в отборе движений/итогов)
|
|||
24
Builder
24.01.17
✎
17:03
|
(19) А зафига они в запросе то?
После запроса дату с номером не получить? |
|||
25
Владимир1С
24.01.17
✎
17:08
|
Можно, однако был расчёт на скорость пакетного получения данных. Увы, всё понятно. :(
|
|||
26
Builder
24.01.17
✎
17:16
|
(25) А сразу озвучить цель можно было?
|
|||
27
Ёпрст
24.01.17
✎
17:33
|
(25) быстрее, чем прямым запросом не получить, и то, там надо тоже стремится попадать в индекс
|
|||
28
Ёпрст
24.01.17
✎
17:34
|
а тут, воткни галку в регистр - быстрая обработка движений, тогда у тя будет и номер и дата в запросе в чорном
|
|||
29
Злопчинский
24.01.17
✎
17:57
|
нафига в отчете который выполняетс 50 секунд детализация дпо прибылеобразующим документам...? смотреть кто накосячил?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |