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



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите увидеть ошибку в запросе
Ответ #15 - 01. Июня 2006 :: 08:19
Печать  
да понял я, но не думаю что ты так получишь оперативнее итоги, дело твое...
дай другой алиас в подзапросе и думаю оно тебе перестанет ругаться...
но я бы таки в ВТ приджоинил ТЧ...
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Помогите увидеть ошибку в запросе
Ответ #16 - 01. Июня 2006 :: 08:20
Печать  
Bess_Tolkovaia писал(а) 01. Июня 2006 :: 08:17:
2 Славко
Я тут хочу получить актуальные отстатки. Чтоб не через ВТ. Чтоб быстрее было. Через ВТ, когда док. проводится задним числом, у меня все чудненько получается.

если будешь актуалные итоги получать с помошью ВТ то получишь также быстро ибо запрос получится только к итогам
  

1&&2&&3
Наверх
 
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите увидеть ошибку в запросе
Ответ #17 - 01. Июня 2006 :: 08:21
Печать  
Bess_Tolkovaia писал(а) 01. Июня 2006 :: 08:19:
Ну да, ты правильно понял.
Я и пытаюсь фильтр сделать по ТЧ дока, но чего-то не так делаю...

делаешь:
select трата-та
from Регистр
where Товар in (выборка товара из ТЧ)
шото вроде этого
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите увидеть ошибку в запросе
Ответ #18 - 01. Июня 2006 :: 08:23
Печать  
trad писал(а) 01. Июня 2006 :: 08:20:
если будешь актуалные итоги получать с помошью ВТ то получишь также быстро ибо запрос получится тотже - только к итогам

она наверное просто не пользовалась на ВТ Запрос.Отладка(1), поэтому не знает, шо то шо она пытается "изобрести" сама, довольно таки красиво и оптимально уже реализовано в ВТ...
по крайней мере меня код ВТ уодвлетворяет и желания его оптимизировать нет, т.к. вроде там и оптимизировать то нечего  Подмигивание
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Помогите увидеть ошибку в запросе
Ответ #19 - 01. Июня 2006 :: 08:41
Печать  
Так, у меня получилось, разобралась с алиасами, спасибо. Сейчас проверю на скорость и расскажу, что получилось.
Отладку я делаю и мне кажется, что получение актуальных остатков напрямую из РегистрИтоги - проще запрос получается.

2Славко
Цитата:
делаешь:
select трата-та
from Регистр
where Товар in (выборка товара из ТЧ)
шото вроде этого


Так меня не устраивает, потому что мне нужно получить в итоге табличную часть, к которой были бы пришиты остатки и еще кое-какие данные из справочников. Чтоб в результирующей таблице было все, необходимое для анализа и формирования движений, если все правильно.
  
Наверх
ICQ  
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите увидеть ошибку в запросе
Ответ #20 - 01. Июня 2006 :: 08:45
Печать  
Солнышко, если ты правильно заносишь данные в регистр, то из него ты легко можешь получить ТЧ дока...
речь идет по привязке строки в модуле документа, но делай так как ты сама все это представляешь, не слушай никого кто тебе навязывает свои алгоритмы, ведь кроме тебя всю задачу никто ведь не знает...
ЗЫ но между "фром" и "вх#ре" можно "наджоинить" необходимые тебе справочники и т.п.
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Помогите увидеть ошибку в запросе
Ответ #21 - 01. Июня 2006 :: 09:02
Печать  
По скорости получает немного быстрее, если через РегистрИтоги. Особенно на документах с небольшой табличной частью. На "длинных" табличных частях временя получения остатков ничтожно мало по сравнению со временем формирования движений.

Теперь что выдает отладка в том и другом случае.

вариант 1. Запрос актуальных итогов через ВТ РегистрОстатки (привожу только часть, которая джойнится

Код
Выбрать все
LEFT JOIN
   (
select
rg4827_vt.sp4823 as Товар,
rg4827_vt.sp4824 as Склад,
rg4827_vt.sp4825 as СН,
rg4827_vt.sp4826 as КоличествоОстаток
from rg4827 as rg4827_vt (nolock)
INNER JOIN dt4752 as ТЧД (NOLOCK) 			ON (rg4827_vt.sp4823 = ТЧД.sp4750) and (rg4827_vt.sp4825 = ТЧД.sp4748)
where rg4827_vt.period={d '2006-03-01'}
and (
rg4827_vt.sp4826 <> 0
)
and ((ТЧД.IDDOC = '  G14LADB') and (rg4827_vt.sp4824 = '  BY' + '   1TO   ') 		and (rg4827_vt.sp4825 = ТЧД.sp4748) and (rg4827_vt.sp4823 = ТЧД.sp4750))
) as Рег

 



2. Напрямую из РегистрИтоги

Код
Выбрать все
LEFT JOIN
	(SELECT Рег0.sp4826 as  КоличествоОстаток,
		Рег0.sp4823 as Товар,
		Рег0.sp4825 as СН
    FROM rg4827  as Рег0 (NOLOCK)
    where  
		Рег0.Period = '20060301'
		and (Рег0.sp4824 = '  BY' + '   1TO   ')
		and (Рег0.sp4823 in
				(select ТЧД1.sp4750
				FROM dt4752 as ТЧД1 (NOLOCK)
               where ТЧД1.IDDOC = '  G14LADB')
			)
		and (Рег0.sp4825 in
				(select ТЧД2.sp4748
				FROM dt4752 as ТЧД2 (NOLOCK)
               where ТЧД2.IDDOC = '  G14LADB')
			)                                            
    
   ) as Рег
 




А теперь объясните мне, если можно, откуда берется таблица rg4827_vt? Озадачен
  
Наверх
ICQ  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Помогите увидеть ошибку в запросе
Ответ #22 - 01. Июня 2006 :: 09:06
Печать  
Цитата:
trad писал(а) 01. Июня 2006 :: 08:20:
если будешь актуалные итоги получать с помошью ВТ то получишь также быстро ибо запрос получится тотже - только к итогам

она наверное просто не пользовалась на ВТ Запрос.Отладка(1), поэтому не знает, шо то шо она пытается "изобрести" сама, довольно таки красиво и оптимально уже реализовано в ВТ...
по крайней мере меня код ВТ уодвлетворяет и желания его оптимизировать нет, т.к. вроде там и оптимизировать то нечего  Подмигивание


Ну мне просто не интересно 10 раз делать все одинаково, вот и пытаюсь попробывать что-то еще, благо пока что работой не завалили (почему-то).
  
Наверх
ICQ  
IP записан
 
trad
1c++ power user
1c++ donor
1c++ moderator
Отсутствует



Сообщений: 3046
Местоположение: Киров
Зарегистрирован: 23. Мая 2006
Пол: Мужской
Re: Помогите увидеть ошибку в запросе
Ответ #23 - 01. Июня 2006 :: 09:10
Печать  
Bess_Tolkovaia писал(а) 01. Июня 2006 :: 09:02:
А теперь объясните мне, если можно, откуда берется таблица rg4827_vt? Озадачен

а это не таблица это всего лишь алиас таблицы rg4827 так же как у тебя является алиасом Рег0
  

1&&2&&3
Наверх
 
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Помогите увидеть ошибку в запросе
Ответ #24 - 01. Июня 2006 :: 09:10
Печать  
Цитата:
Солнышко, если ты правильно заносишь данные в регистр, то из него ты легко можешь получить ТЧ дока...
речь идет по привязке строки в модуле документа, но делай так как ты сама все это представляешь, не слушай никого кто тебе навязывает свои алгоритмы, ведь кроме тебя всю задачу никто ведь не знает...
ЗЫ но между "фром" и "вх#ре" можно "наджоинить" необходимые тебе справочники и т.п.

Нет, ну послушать-то можно.   Улыбка Даже нужно. Хотя скорее всего я в итоге сделаю по-своему, но возможно с улучшениями Улыбка


  
Наверх
ICQ  
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите увидеть ошибку в запросе
Ответ #25 - 01. Июня 2006 :: 09:11
Печать  
Bess_Tolkovaia писал(а) 01. Июня 2006 :: 09:06:
Ну мне просто не интересно 10 раз делать все одинаково, вот и пытаюсь попробывать что-то еще, благо пока что работой не завалили (почему-то).

везуха тебе... у меня када то тоже так было... так немного погодя и попадешь в 1С++ дивелоперы...

  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Помогите увидеть ошибку в запросе
Ответ #26 - 01. Июня 2006 :: 09:11
Печать  
trad писал(а) 01. Июня 2006 :: 09:10:
Bess_Tolkovaia писал(а) 01. Июня 2006 :: 09:02:
А теперь объясните мне, если можно, откуда берется таблица rg4827_vt? Озадачен

а это не таблица это всего лишь алиас таблицы rg4827 так же как у тебя является алиасом Рег0

Ой, точно... смотрела-смотрела, а не увидела... Теперь вижу  Улыбка
  
Наверх
ICQ  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Помогите увидеть ошибку в запросе
Ответ #27 - 01. Июня 2006 :: 09:18
Печать  
Меня вот одна мысль беспокоит. Не уверена я, что правильно понимаю...

При получении отстатков чере ВТ РегистрОстатки как оптимальнее наложить фильтр по табличной части? Я делаю через второй параметр, то есть через джойн. Но может еще нужно в третьем параметре фильт задать? Или только в 3-м? а то у меня получается джойн в параметрах и такой же по сути  джойн "снаружи"...
И еще. В регистре остатки по складу, товару и СН. Склад у меня в шапке документа, товар и СН - в табличной. Есть ли смысл указывать Склад во втором параметре, или лучше только в 3-ем (where)?

  
Наверх
ICQ  
IP записан
 
Славко
Senior Member
****
Отсутствует



Сообщений: 467
Местоположение: Украина, г. Днепропетровск
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: Помогите увидеть ошибку в запросе
Ответ #28 - 01. Июня 2006 :: 09:29
Печать  
а как ты себе представляешь условие то отработает если джина не будет?
в разделе джина в ВТ я бы ставил джины нужные, а в разделе условий условия по присоединенным таблицам...
  

Ламер, самый обычный ламер...    сначала мы ...   а потом мы ...
Наверх
wwwICQ  
IP записан
 
Bess_Tolkovaia
Junior Member
**
Отсутствует


Натуральная блондинка,
1 штука

Сообщений: 89
Местоположение: Минск, РБ
Зарегистрирован: 26. Мая 2006
Пол: Женский
Re: Помогите увидеть ошибку в запросе
Ответ #29 - 01. Июня 2006 :: 09:33
Печать  
Мммм... то есть джойны в ВТ одновременно накладывают фильт на выборку остатков, да?

Хм... а если мне нужно получить остаток по конкретному товару по всем складам и СН. Тогда где и как лучше накладывать условия и джойны?
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 [2] 3 
ОтправитьПечать