Переключение на Главную Страницу Страницы: 1 2 3 [4] 5  ОтправитьПечать
Очень популярная тема (более 25 ответов) Инспекция прямого запроса (число прочтений - 20633 )
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #45 - 15. Декабря 2007 :: 23:28
Печать  
понял... вот здесь
| AND IIF(ISNULL($Док.ДатаОтгрузки),0,IIF(:ДатуТА~~ >$Док.ДатаОтгрузки,1,0))=:парамРежимФормирования
надо не ДатуТА, а ДатуРаботы
| AND IIF(ISNULL($Док.ДатаОтгрузки),0,IIF(:ДатаРаботы~~ >$Док.ДатаОтгрузки,1,0))=:парамРежимФормирования
...
только непонятно, зачем в таком случае в выборке
           ТекстЗапроса = " 
           |SELECT
           |  РегЗаявки.ЗаявкаПокупателя      as [Заявка $Документ.ЗаявкаПокупателя]
           | ,РегЗаявки.ДоговорПокупателя      as [Договор $Справочник.Договоры]
           | ,РегЗаявки.Фирма                        as [Фирма $Справочник.Фирмы]
           | ,$Док.Склад                              as [Склад $Справочник.Склады]
           | ,$Док.ДатаОтгрузки                  as ДатаОтгрузки
           | ,Спр1.id                                    as [Контрагент $Справочник.Контрагенты]
           | ,$Спр1.БВК_Менеджер                as [Менеджер $Справочник.Пользователи]
           | ,РегЗаявки.Количество                  as КонОстК
           | ,РегЗаявки.Сумма                        as КонОстС
           | ,IIF(:ДатаРаботы~~ >$Док.ДатаОтгрузки,1,0) as Флаг
..
стока с "...as Флаг" нужна...?
  
Наверх
www  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Инспекция прямого запроса
Ответ #46 - 15. Декабря 2007 :: 23:34
Печать  
Понятия не имею Улыбка
Была в исходном запросе.
  
Наверх
 
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #47 - 15. Декабря 2007 :: 23:46
Печать  
ФЛАГ - признак просрочена заявка или нет
т.е. было
| ,IIF(:ДатаРаботы~~ >$Док.ДатаОтгрузки,1,0) as Флаг
и фильтр на него
| and Флаг=:парамРежимФормирования";
теперича фильтр стоит унизу
| AND IIF(ISNULL($Док.ДатаОтгрузки),0,IIF(:ДатаРаботы~~ >$Док.ДатаОтгрузки,1,0))=:парамРежимФормирования";
и определение "...as Флаг" - не нужно...
  
Наверх
www  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #48 - 15. Декабря 2007 :: 23:47
Печать  
а вот сейчас уже сожно задавать вопросу по сути запроса? Подмигивание
  
Наверх
www  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #49 - 16. Декабря 2007 :: 00:08
Печать  
думаю, что аналогичный запрос по просроченным резервам - постараюсь сам осилит.. тупыт так сказать дятлокопированием Подмигивание
  
Наверх
www  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #50 - 17. Декабря 2007 :: 09:06
Печать  
Затестил на рабочей базе в офисе.
Все нормуль.
старый запрос - порядка 2.2 сек
новый запрос - порядка 1.2 сек
  
Наверх
www  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #51 - 17. Декабря 2007 :: 09:13
Печать  
А "старый" - это тот, который лежит в 0-вом посте? А можешь показать циферьки, которые были до использования прямого запроса, т.е. "штатным" запросом?
  
Наверх
 
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #52 - 17. Декабря 2007 :: 09:15
Печать  
могу и штатным показать... навскидку насколько помню - секунд 7... сейчас просчитаю...
  
Наверх
www  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #53 - 17. Декабря 2007 :: 09:25
Печать  
штатный запрос
           ТекстЗапроса      = "
           |Заявка            = Регистр.Заявки.ЗаявкаПокупателя;
           |Контрагент      = Регистр.Заявки.ДоговорПокупателя.Владелец;
           |Менеджер            = Регистр.Заявки.ДоговорПокупателя.Владелец.БВК_Менеджер;
           |Договор            = Регистр.Заявки.ДоговорПокупателя;
           |Склад                  = Регистр.Заявки.ЗаявкаПокупателя.Склад;
           |Фирма                  = Регистр.Заявки.Фирма;
           |ДатаОтгрузки      = Регистр.Заявки.ЗаявкаПокупателя.ДатаОтгрузки;
           |СуммаЗаявки      = Регистр.Заявки.СтоимостьРасход;
           |КолЗаявки            = Регистр.Заявки.КоличествоРасход;
           |Функция КонОстС = КонОст(СуммаЗаявки);
           |Функция КонОстК = КонОст(КолЗаявки);";
     
           Если  парамРежимФормирования = -1
           Тогда //условий не накладываем, полный отчет
           Иначе
                 ТекстЗапроса = ТекстЗапроса +"
                 |Условие(ЗаявкаУжеПросрочена(ДатаОтгрузки)=парамРежимФормирования);";
           КонецЕсли;
           
           Если НАЙТИ(ВРЕГ(НазваниеНабораПрав()),"АДМИН")=0 Тогда
                 ТекстЗапроса = ТекстЗапроса +"
                 |Условие (Менеджер в глПользователь);";
           КонецЕсли;      
           
           ТекстЗапроса = ТекстЗапроса +"
           |Группировка Контрагент Без Групп;
           |Группировка Заявка;
           |";
     
           Запрос = СоздатьОбъект("Запрос");
         Если Запрос.Выполнить(ТекстЗапроса) = 0 Тогда Возврат; КонецЕсли;
//
время выполнения = 26 сек... пару раз замерял - стабильно...
  
Наверх
www  
IP записан
 
JohnyDeath
1c++ power user
1c++ donor
Отсутствует



Сообщений: 3050
Местоположение: Волгоград
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #54 - 17. Декабря 2007 :: 09:41
Печать  
ПолуОФФ: а говорят, что прямые запросы для ДБФ-это баловство. Вот реальные результаты тов. Чебур получил:
Штатный - 26 сек
Прямой - 1.2 сек.
Прирост в 22(!) раза??  Ужас (ажник самому слабо верится)
  
Наверх
 
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #55 - 17. Декабря 2007 :: 10:37
Печать  
Это просто ОЧЕНЬ криво написано штатно
Итоги надобно выгружать и все Улыбка
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #56 - 17. Декабря 2007 :: 10:40
Печать  
2 Вадимко: согласен... Подмигивание тут я лажанулся конкретно... $-)
тем не менее - цифры они и есть цифры...
итоги можно выгрузить на ТА, но не выгрузишь на вчера - а иногда бывает надо... + всякие допусловия в запросе "проще" налагать...
вот ради интереса к концу дня перепишу с выгрузкой итогов и фильтрацией ТЗ - посмотрим что получится...
  
Наверх
www  
IP записан
 
Вадимко
God Member
*****
Отсутствует


Нам бы чего про ОдноЦэ...

Сообщений: 1048
Местоположение: Минск
Зарегистрирован: 24. Мая 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #57 - 17. Декабря 2007 :: 10:50
Печать  
На вчера - временный расчет регистра с фильтрами
В любом случае быстрее (особенно если учесть что 2 группировки)
  

Кампутер, кофе и сигареты - это очень плохо для моего здоровья...
Наверх
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: Инспекция прямого запроса
Ответ #58 - 17. Декабря 2007 :: 10:51
Печать  
А чем временный расчет на вчера отличается от штатного запроса на вчера?
  
Наверх
www  
IP записан
 
kiruha
1c++ power user
Отсутствует



Сообщений: 1249
Зарегистрирован: 11. Апреля 2007
Re: Инспекция прямого запроса
Ответ #59 - 17. Декабря 2007 :: 10:52
Печать  
Цитата:
На вчера - временный расчет регистра с фильтрами
В любом случае быстрее (особенно если учесть что 2 группировки)


Извини, но -  Злой

Зачем такое писать???
Ведь легко все проверить

P.S. Очень уважаю сообщения Вадимко, замечание исключительно к этому вопросу.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 2 3 [4] 5 
ОтправитьПечать