Переключение на Главную Страницу Страницы: 1 ОтправитьПечать
Обычная тема Подмена штатных SQL-запросов (число прочтений - 4228 )
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Подмена штатных SQL-запросов
16. Мая 2007 :: 06:46
Печать  
Пользуюсь ромиксовской компонентой, которая подменяет запросы сиквельные. В частности, в формах списков справочников вот такая замена:
Код
Выбрать все
vk_hook.ТекстSQL="Select COUNT(*) from SC84(NOLOCK) where DESCR<? or (DESCR=? and ROW_ID<=?)";
vk_hook.НовыйSQL="Select COUNT(*) from SC84(NOLOCK) where ISMARK=0 and (DESCR<? or (DESCR=? and ROW_ID<=?))";
vk_hook.УстановитьЗаменуSQL();

vk_hook.ТекстSQL="Select * from SC84(NOLOCK INDEX=DESCR) order by DESCR, ROW_ID";
vk_hook.НовыйSQL="Select * from SC84(NOLOCK INDEX=DESCR) where ISMARK=0 order by DESCR, ROW_ID";
vk_hook.УстановитьЗаменуSQL();  
 


При этом начинаются некоторые торможения.
Почему? Из-за индекса (отсутствия в индексе DESCR учета ISMARK)? как тогда лучше забороть - индекс поменять, или построить свой , и использовать его?
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Подмена штатных SQL-запросов
Ответ #1 - 16. Мая 2007 :: 09:00
Печать  
Даже если на ISMARK поставишь индекс, то использоваться он будет только для помеченных объектов. Какой смысл скулю использовать индекс для записей, где в 99.9% случаях условие верно?
  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Подмена штатных SQL-запросов
Ответ #2 - 16. Мая 2007 :: 10:38
Печать  
Arta писал(а) 16. Мая 2007 :: 09:00:
, где в 99.9% случаях условие верно?

У меня помечена на удаление примерно треть номенклатуры. Удалять "физически" ее нельзя - были движения, и чтоб не путали, "исторически сложилось" так, что ее метят на удаление.
зы.Arta, у тебя сканровать той компонентой получилось? никак разобраться  не могу... Помоги, плз...
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Подмена штатных SQL-запросов
Ответ #3 - 16. Мая 2007 :: 14:51
Печать  
Mikeware писал(а) 16. Мая 2007 :: 10:38:
У меня помечена на удаление примерно треть номенклатуры. Удалять "физически" ее нельзя - были движения, и чтоб не путали, "исторически сложилось" так, что ее метят на удаление.

Не мудри, используй ТП.
А чтобы расставить индексы для SQL - велкам на софтпоинт.ру. Там подробно описано, у меня работает уже скоро как год.


Mikeware писал(а) 16. Мая 2007 :: 10:38:
зы.Arta, у тебя сканровать той компонентой получилось? никак разобраться  не могу... Помоги, плз...


Напомни какая Улыбка У меня их несколько.
  
Наверх
 
IP записан
 
Mikeware
Senior Member
****
Отсутствует


I Love YaBB 2!

Сообщений: 262
Зарегистрирован: 27. Июля 2006
Пол: Мужской
Re: Подмена штатных SQL-запросов
Ответ #4 - 17. Мая 2007 :: 06:38
Печать  
Arta писал(а) 16. Мая 2007 :: 14:51:
Не мудри, используй ТП.
А чтобы расставить индексы для SQL - велкам на софтпоинт.ру. Там подробно описано, у меня работает уже скоро как год.
С ТП разобраться пока ума не хватает, а примеров грида с ТП не нашел в репозитории. На софтпоинт сейчас еще раз гляну

Arta писал(а) 16. Мая 2007 :: 14:51:
Напомни какая Улыбка У меня их несколько.
Atalasoft'овская ImgX. В прочем, я согласен на любую - лишь бы сканировала не через стандартный диалог, а управлялась программно....
  
Наверх
ICQ  
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Подмена штатных SQL-запросов
Ответ #5 - 17. Мая 2007 :: 08:54
Печать  
Mikeware писал(а) 17. Мая 2007 :: 06:38:
С ТП разобраться пока ума не хватает, а примеров грида с ТП не нашел в репозитории. На софтпоинт сейчас еще раз гляну

Не ломай пока голову на счет сабжа. Разберись лучше с ТП. Примеры на форуме были и не раз.

Mikeware писал(а) 17. Мая 2007 :: 06:38:
Atalasoft'овская ImgX. В прочем, я согласен на любую - лишь бы сканировала не через стандартный диалог, а управлялась программно....

С программным сканированием не заморачивался. Мне как раз был нужен диалог.
События будут работать либо при использовании ule.dll, либо с eventproxy.dll.
  
Наверх
 
IP записан
 
my.my
YaBB Newbies
*
Отсутствует


I Love YaBB 2!

Сообщений: 8
Зарегистрирован: 15. Июня 2006
Re: Подмена штатных SQL-запросов
Ответ #6 - 26. Июня 2007 :: 09:11
Печать  
Как поймать такой запрос чере vk_hook:

set rowcount 1
select * from SC46(NOLOCK INDEX=DESCR) where DESCR>='Б' and substring(DESCR,1,1)='Б' order by DESCR,ROW_ID
set rowcount 0

его отправляет 1С при интерактивном подборе элемента в форме списка справочника, когда я уже использую отбор(фильтр) по двум полям
  
Наверх
 
IP записан
 
Phoenix
Senior Member
****
Отсутствует


itpath.ru

Сообщений: 398
Местоположение: Москва
Зарегистрирован: 15. Июня 2006
Пол: Мужской
Re: Подмена штатных SQL-запросов
Ответ #7 - 29. Июня 2007 :: 06:41
Печать  
что за ВК, где ее можно скачать?
у нас подобное от софтпоинта стоит.
  

Лень двигатель прогресса.&&http://www.itpath.ru&&;
Наверх
IP записан
 
Arta
1c++ power user
Отсутствует



Сообщений: 2537
Местоположение: Нижний Новгород
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Подмена штатных SQL-запросов
Ответ #8 - 29. Июня 2007 :: 07:27
Печать  
Да ромиксовская эта ВК. На мисте поищи...
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1
ОтправитьПечать