Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Где глобальная ошибка в запросе?

↓ [Волшебник, 02.11.19 - 13:31]
Где глобальная ошибка в запросе?
Я
   Sanya_95
 
02.11.19 - 13:30
Добрый день! На работе коллега подкинул задачку, нужно в данном простом запросе найти глобальную ошибку:

ВЫБРАТЬ
   РеализацияТоваровУслугТовары.Склад,
   РеализацияТоваровУслугТовары.Номенклатура,
   РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры,
   ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
   Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары
   ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки(&ДатаДокумента,) КАК ТоварыНаСкладахОстатки
   ПО РеализацияТоваровУслугТовары.Номенклатура = ТоварыНаСкладахОстатки.Номенклатура
   И РеализацияТоваровУслугТовары.ХарактеристикаНоменклатуры = ТоварыНаСкладахОстатки.ХарактеристикаНоменклатуры
   И РеализацияТоваровУслугТовары.Склад = ТоварыНаСкладахОстатки.Склад
ГДЕ РеализацияТоваровУслуг.Ссылка = &Ссылка

Я, сколько ни ломал голову, "глобальной ошибки" здесь не нашел.
Может кто подскажет, в чем она?
 
 
   Волшебник
 
1 - 02.11.19 - 13:31
спросите у коллеги
   Волшебник
 
2 - 02.11.19 - 13:32
обратите внимание на параметры виртуальной таблицы
   Mankubus
 
3 - 02.11.19 - 13:36
Всн данные нужно брать из регистра. Документ выкинуть
   PR
 
4 - 02.11.19 - 13:41
(3) Экий ты рьяный
А если это выборка для проведения?
   ГдеСобакаЗарыта
 
5 - 02.11.19 - 13:46
Я этот запрос на себеседованиях показываю. Жутко тупят большинство кандидатов.
   PR
 
6 - 02.11.19 - 13:48
(2) ПВТ здесь не при чем, в соединении нет отбора по ссылке, то есть он сначала выберет все РТУ со всеми остатками по этим РТУ, а потом уж отфильтрует по ссылке
   ale-sarin
 
7 - 02.11.19 - 13:52
Возможно имеется ввиду, что надо соединить еще по сериям, качеству и чего еще там есть в ТЧ и в регистре. Но это от конфы зависит, конечно.
   ale-sarin
 
8 - 02.11.19 - 13:53
Ну и сгруппировать еще.
   Йохохо
 
9 - 02.11.19 - 13:57
(6) склада там нет
   ale-sarin
 
10 - 02.11.19 - 13:57
аааа, вместо ГДЕ РеализацияТоваровУслуг.Ссылка = &Ссылка 
надо ГДЕ РеализацияТоваровУслугТовары.Ссылка = &Ссылка
   PR
 
11 - 02.11.19 - 13:58
(9) Где склада нет, ты о чем?
   ale-sarin
 
12 - 02.11.19 - 13:59
(9) И не надо в ПВТ склад. Склад в ТЧ. Разные склады.
   PR
 
13 - 02.11.19 - 14:00
Не запрос, а говно полное какое-то
   Sapiens_bru
 
14 - 02.11.19 - 15:07
(0) Мне лениво проверять, но, имхо, оптимизатор нормальной СУБД даже эту жуть скушает и соберёт данные как надо. А вот за файловую я бы беспокоился.
   КнОпка
 
15 - 02.11.19 - 15:13
Отбора по организации нету. Это обязательный параметр по этому регистру

(10) это разве глобальная ошибка? Просто очепятка
   1С Ассенизатор ПРОФ
 
16 - 02.11.19 - 15:35
(0) Мы не видим структуру рега. Но возможно пропущено измерение. И отборов в вт можно побольше поставить.

Да и ГДЕ РеализацияТоваровУслуг.Ссылка = &Ссылка я бы перенес в условие соединения, хоть это скорее всего также отработает, но риски есть.
   Sanya_95
 
17 - 02.11.19 - 16:00
(6) Да, похоже на правду
   Sanya_95
 
18 - 02.11.19 - 16:07
(16) Да, дело скорее всего, в том, что условие нужно в соединении
   PR
 
19 - 02.11.19 - 18:24
(18) Условие надо не в соединение, а и в соединение тоже, то есть и туда и туда
   Сияющий в темноте
 
20 - 03.11.19 - 00:56
с точки зрения производительности нужно:
выбрать в таблице остатков только те товары,которые есть в документе,но,1с не умеет отбор по структуре,поэтому,можно только выгрузить из документа номенклатуру,характеристики и склады и наложить условие в списке.

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.