Имя: Пароль:
1C
1С v8
Где глобальная ошибка в запросе?
🠗 (Волшебник 02.11.2019 13:31)
, ,
0 Sanya_95
 
02.11.19
13:30
Добрый день! На работе коллега подкинул задачку, нужно в данном простом запросе найти глобальную ошибку:

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

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

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

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