Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема медленно работают запросы (число прочтений - 6843 )
Vladibor
Junior Member
**
Отсутствует


Адреналин гуляет по крови

Сообщений: 17
Зарегистрирован: 09. Октября 2006
медленно работают запросы
09. Октября 2006 :: 20:49
Печать  
Странно но замерил скорость формирования запросов на основании
Быстрых итогов и Бухгалтерских Итогов - одно и то же.

Даже иногда БыстрыеИтоги отстают. В чем прокол??

Я понимаю, что с целью увеличения скорости формивания отчетов, желательно все переписать
на прямые sql запросы. Для этого нам в помощь дана 1с++  и accntQuery компоненты для упрощения
написания запросов .

скорость не увеличилась.


  
Наверх
ICQ  
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: медленно работают запросы
Ответ #1 - 10. Октября 2006 :: 04:26
Печать  
медленно выполняется не запрос к БухИтогам, а выборка данных по методологии 1С, которая реализована в это классе для совместимости со стандартными БухИтогами: ВыбратьСубконто()->ПолучитьСубконто() и т.д.

с помощью этого замечательного класса выгоднее получать таблицу результатов и обрабатывать ее непосредственно
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: медленно работают запросы
Ответ #2 - 10. Октября 2006 :: 04:31
Печать  
кстати, собственное наблюдение:
в некоторых случаях, когда имеется без меры опухшая таблица остатков _1SBKTTL, удобнее обращаться непосредственно к таблице проводок _1SENTRY - получается даже быстрее и нет заморочек с кучей правил обработки флага kind и прочих недоразумений от 1С
  
Наверх
 
IP записан
 
tav13
1c++ donor
Отсутствует



Сообщений: 108
Местоположение: Donetsk
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: медленно работают запросы
Ответ #3 - 10. Октября 2006 :: 05:40
Печать  
Vladibor писал(а) 09. Октября 2006 :: 20:49:
скорость не увеличилась.

DrACe совершенно прав класс не является просто заменой БухгалтерскихИтогов, его функционал гораздо шире.
  
Наверх
ICQ  
IP записан
 
bidler
Junior Member
**
Отсутствует



Сообщений: 68
Зарегистрирован: 06. Октября 2006
Re: медленно работают запросы
Ответ #4 - 24. Октября 2006 :: 09:02
Печать  
А можно где-нибудь посмотреть примеры работы с таблицей _1SENTRY ?
У меня есть ну оччень опухшая таблица остатков.
И мне быстрее пройтись по проводкам, по одному конкретному счету.
  
Наверх
 
IP записан
 
val
Full Member
***
Отсутствует


Дорогу осиливает идущий

Сообщений: 137
Зарегистрирован: 07. Июля 2006
Re: медленно работают запросы
Ответ #5 - 24. Октября 2006 :: 10:01
Печать  
(4)
     |select
     |      sum(Проводки.amount)    [Колич],
     |      Проводки.ktsc0                      [ТоварID]
     |from
     |   _1sentry Проводки (nolock)
     |where
     |   Проводки.accktid = :СчетКр
     |and
     |   Проводки.date_time_docid between :Квартал and :КонецВыборки~
     |and
     |   Проводки.number>=0
     |and
     |   Проводки.corno>=0
     |group by
     |   Проводки.ktsc0
  
Наверх
 
IP записан
 
bidler
Junior Member
**
Отсутствует



Сообщений: 68
Зарегистрирован: 06. Октября 2006
Re: медленно работают запросы
Ответ #6 - 24. Октября 2006 :: 11:24
Печать  
Спасибо, буду бороться Озадачен
  
Наверх
 
IP записан
 
bidler
Junior Member
**
Отсутствует



Сообщений: 68
Зарегистрирован: 06. Октября 2006
Re: медленно работают запросы
Ответ #7 - 24. Октября 2006 :: 14:04
Печать  
select 
     Проводки.SUM_,
     Проводки.DocID as [Док $Документ]
from
   _1sentry Проводки (nolock) 
Left JOIN _1SJourn as Жур ON Жур.IDDOC=Проводки.DocID
where
   Проводки.accdtid = 'Z142AD   '
and 
   Проводки.date_time_docid between '20060901' and '20060930Z'

ТЗ = RS.ВыполнитьИнструкцию(ТекстЗапроса); 
{C:\ПРОВОДКИ.ERT(62)}: Metaname рarser: для типизации поля "Док", не найдено дополнительное типизирующее поле

Как вытащить документ ?
  
Наверх
 
IP записан
 
DrACe
1c++ donor
1c++ power user
Отсутствует


1С++ любитель

Сообщений: 447
Местоположение: г. Новосибирск
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: медленно работают запросы
Ответ #8 - 25. Октября 2006 :: 07:10
Печать  
Цитата:
Metaname рarser: для типизации поля "Док", не найдено дополнительное типизирующее поле

это означает, что для типизации поля типа "Документ" нужно 2 поля в запросе:
1) поле, представляющее собой идентификатор документа
2) поле, представляющее собой идентификатор вида документа, причем это алиас этого поля должен быть составлен из алиаса поля(1) + _вид , т.е. Док_вид - регистр букв важен(!)

на твоем примере:
в таблице _1sentry нет поля с идентификатором вида документа, оно есть в Журнале(благо у тебя он уже присоединен) - IDDOCDEF
Код
Выбрать все
select  
     Проводки.SUM_,
     Проводки.DocID as [Док $Документ],
     Жур.IDDOCDEF as Док_вид
from  
   _1sentry Проводки (nolock)  
Left JOIN _1SJourn as Жур ON Жур.IDDOC=Проводки.DocID
where  
   Проводки.accdtid = 'Z142AD   '
and  
   Проводки.date_time_docid between '20060901' and '20060930Z'   

  
Наверх
 
IP записан
 
bidler
Junior Member
**
Отсутствует



Сообщений: 68
Зарегистрирован: 06. Октября 2006
Re: медленно работают запросы
Ответ #9 - 25. Октября 2006 :: 08:25
Печать  
Спасибо, работает.
Есть где-нибудь краткое описание полей файла _1sentry,
где субконто1 и т.д. дебета, кредита ...?
Чтоб не доставать народ на форуме.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать