Переключение на Главную Страницу Страницы: 1 [2]  ОтправитьПечать
Горячая тема (более 10 ответов) Очень тормозит ТП (число прочтений - 2976 )
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: Очень тормозит ТП
Ответ #15 - 10. Ноября 2010 :: 14:23
Печать  
Leierkastenmann - Спасибо большое!!! Летает просто супер. А страдали больше года ))))))))))))))))
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Очень тормозит ТП
Ответ #16 - 10. Ноября 2010 :: 14:59
Печать  
Можно еще так попробовать
Код
Выбрать все
	ТекстЗапроса = "
	|SELECT Журнал.IDDOC as [Док $Документ]
	|	, Журнал.IDDOCDEF as Док_вид
	|	, Журнал.DOCNO as Номер
	|	, (Журнал.CLOSED & 1) as Проведен
	|	, Журнал.ISMARK as ПометкаУдаления
	|	, Журнал.DATE_TIME_IDDOC as ДатаВремяИдДок
	|	, Журнал.DATE_TIME_IDDOC as ID
	|FROM  _1SJOURN AS Журнал (nolock)
	|JOIN	(
	|			select 	РасхНакл.iddoc as Документ
	|			from	$Документ.РасходнаяНакладная РасхНакл (nolock)
	|			where	$РасхНакл.ПризнакНакладной = $Перечисление.ПризнакРасх.Продажа
	|					and
	|					$РасхНакл.Клиент = :ВыбКлиент
	|
	|			union all
	|
	|			select 	РасхНаклБ.iddoc
	|			from	$Документ.РасходнаяБух  РасхНаклБ (nolock)
	|			where	$РасхНаклБ.ПризнакНакладной = $Перечисление.ПризнакРасхБух.РасходнаяБух
	|					and
	|					$РасхНаклБ.Клиент = :ВыбКлиент
	|
	|			union all
	|
	|			select 	ВводДолгов.iddoc
	|			from	$Документ.ВводДолгов ВводДолгов (nolock)
	|			join	_1scrdoc as ГрафыОтбора (nolock)
	|			on		ГрафыОтбора.chilid = ВводДолгов.iddoc
	|					and
	|					ГрафыОтбора.mdid = $ГрафаОтбора.Клиент
	|			where	ГрафыОтбора.parentval = :ВыбКлиент*
	|		) Документы
	|on		Документы.Документ = Журнал.iddoc";
 



А по расходным накладным точно нет граф отбора никаких по видам, пусть даже по разным, только бы в шапках не рыться...
  
Наверх
 
IP записан
 
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: Очень тормозит ТП
Ответ #17 - 10. Ноября 2010 :: 15:39
Печать  
Leierkastenmann писал(а) 10. Ноября 2010 :: 14:59:
А по расходным накладным точно нет граф отбора никаких по видам, пусть даже по разным, только бы в шапках не рыться...


Можно сделать, это не проблема
  
Наверх
ICQ  
IP записан
 
Bagirius
Full Member
***
Отсутствует



Сообщений: 135
Зарегистрирован: 19. Февраля 2008
Пол: Мужской
Re: Очень тормозит ТП
Ответ #18 - 10. Ноября 2010 :: 15:44
Печать  
Сделал графу отбора по двум типам дока РасходнаяНакладнаяТ и РасходнаяБух тип как неопределенный.
По третьему доку ВводДолгов отбор не нужен, т.к. доки попадают из отбора по Клиенту
  
Наверх
ICQ  
IP записан
 
Leierkastenmann
Full Member
***
Отсутствует


I Love YaBB 2!

Сообщений: 114
Зарегистрирован: 30. Марта 2007
Re: Очень тормозит ТП
Ответ #19 - 11. Ноября 2010 :: 06:24
Печать  
Ну тогда так
Код
Выбрать все
	ТекстЗапроса = "
	|SELECT Журнал.IDDOC as [Док $Документ]
	|	, Журнал.IDDOCDEF as Док_вид
	|	, Журнал.DOCNO as Номер
	|	, (Журнал.CLOSED & 1) as Проведен
	|	, Журнал.ISMARK as ПометкаУдаления
	|	, Журнал.DATE_TIME_IDDOC as ДатаВремяИдДок
	|	, Журнал.DATE_TIME_IDDOC as ID
	|FROM  _1SJOURN AS Журнал (nolock)  
	|JOIN	(
	|			select 	РасхНакл.iddoc as Документ
	|			from	$Документ.РасходнаяНакладная РасхНакл (nolock)
	|			join	_1scrdoc as ГрафыОтбора (nolock)
	|			on		ГрафыОтбора1.chilid = РасхНакл.iddoc
	|					and
	|					ГрафыОтбора1.mdid = $ГрафаОтбора.Клиент
	|					and
	|					ГрафыОтбора1.parentval = :ВыбКлиент*
	|			join	_1scrdoc as ГрафыОтбора (nolock)
	|			on		ГрафыОтбора2.chilid = РасхНакл.iddoc
	|					and
	|					ГрафыОтбора2.mdid = $ГрафаОтбора.ВидРасходнойНакладной
	|					and
	|					ГрафыОтбора2.parentval = :ВидРасходнойНакладной*
	|
	|			union all
	|
	|			select 	РасхНаклБ.iddoc
	|			from	$Документ.РасходнаяБух  РасхНаклБ (nolock)
	|			join	_1scrdoc as ГрафыОтбора1 (nolock)
	|			on		ГрафыОтбора1.chilid = РасхНаклБ.iddoc
	|					and
	|					ГрафыОтбора1.mdid = $ГрафаОтбора.Клиент
	|					and
	|					ГрафыОтбора1.parentval = :ВыбКлиент*
	|			join	_1scrdoc as ГрафыОтбора2 (nolock)
	|			on		ГрафыОтбора2.chilid = РасхНаклБ.iddoc
	|					and
	|					ГрафыОтбора2.mdid = $ГрафаОтбора.ВидРасходнойНакладной
	|					and
	|					ГрафыОтбора2.parentval = :ВидРасходнойНакладнойБ*
	|
	|			union all
	|
	|			select 	ВводДолгов.iddoc
	|			from	$Документ.ВводДолгов ВводДолгов (nolock)
	|			join	_1scrdoc as ГрафыОтбора (nolock)
	|			on		ГрафыОтбора.chilid = ВводДолгов.iddoc
	|					and
	|					ГрафыОтбора.mdid = $ГрафаОтбора.Клиент
	|			where	ГрафыОтбора.parentval = :ВыбКлиент*  
	|		) Документы
	|on		Документы.Документ = Журнал.iddoc";
 



ВидРасходнойНакладной и ВидРасходнойНакладнойБ это нужные значения перечисления, я правда никогда не пробовал перечисления приводить к строке 23 в 1с++, если такой записью не приведет, то надо будет как-то иначе в запрос подпихнуть соответствующие строки.

Но графу отбора вы слегка поторопились добавлять  Улыбка Может вам бы и с шапками сгодился вариант, зависит от количества документов. Хотя если тормозило, то количество наверное немаленькое.
В общем у вас два варианта есть, можете оба попробовать и сделать вывод как в вашем случае будет лучше - запрос по шапкам или по графам отбора.
  
Наверх
 
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 
ОтправитьПечать