Имя: Пароль:
1C
1С v8
То ли группировка, то ли условие. Сама не знаю :)))
,
0 Полька
 
24.03.14
10:22
ВЫБРАТЬ
  СрокиИсполненияЗаказов.ЗаказПокупателя,
  СрокиИсполненияЗаказов.Номенклатура,
  СрокиИсполненияЗаказов.Количество,
  СрокиИсполненияЗаказов.УтвержденнаяДатаИсполнения,
  ЗаказыПокупателейОбороты.КоличествоРасход КАК КоличествоОтгружено  

ИЗ
  РегистрСведений.итСрокиИсполненияЗаказов КАК СрокиИсполненияЗаказов
  ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ЗаказыПокупателей.Обороты(, , Авто, ) КАК ЗаказыПокупателейОбороты
ПО СрокиИсполненияЗаказов.ЗаказПокупателя = ЗаказыПокупателейОбороты.ЗаказПокупателя
  И СрокиИсполненияЗаказов.Номенклатура = ЗаказыПокупателейОбороты.Номенклатура

Этот запрос работает как надо. Почти :) Нужно добавить отбор, что регистратор должен быть типа Документ.РеализацияТоваровУслуг.
Если я добавляю в выборку
ЗаказыПокупателейОбороты.Регистратор или ставлю условие, то у меня в выборке отражается для каждой позиции номерклатуры все документы- регистраторы.
Если пытаюсь сделать группировку, то туда вылезает все, что есть в разделе "Выбрать".
А мне нужно только общее кол-во отгруженного по каждой номенклатуре.
1 Нерезидент РФ
 
24.03.14
10:26
1. запрос к РегистрСведений.итСрокиИсполненияЗаказов и помещение во временную
2. запрос к РегистрНакопления.ЗаказыПокупателей.Обороты (в параметрах - отбор по типу регистратора и по таблице из п.1), группировка и помещение во временную
3. временную из п1 соединить с временной из п2
2 Полька
 
24.03.14
10:28
(1) я учусь :)
через временные у меня сделано. Я хотела в один запрос попробовать все запихать.
3 Нерезидент РФ
 
24.03.14
10:34
(2) не стоит.
4 mikecool
 
24.03.14
10:37
(1) что за любовь пихать все во временные таблицы? нет понимания - как связать все в одном запросе?
5 DexterMorgan
 
24.03.14
10:44
(4) а у тебя по-видимому всегда можешь сказать какой план выберет оптимизатор СУБД если все нафигачишь в одном запросе и что этот план будет оптимальным?
6 Нерезидент РФ
 
24.03.14
10:54
(4) чем проще запрос для понимания тебе, тем проще оптимизатору.
7 vmv
 
24.03.14
10:57
а чо не взлетит?

в ГДЕ

ТИПЗНАЧЕНИЯ(ЗаказыПокупателейОбороты.Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)

в параметрах виртуальной

ТИПЗНАЧЕНИЯ(Регистратор) = ТИП(Документ.РеализацияТоваровУслуг)
8 Полька
 
24.03.14
11:02
(7) пробовала
нужно, чтобы выводилось Номенклатура-Отгружено, например
Тарелки 10 шт.
А тут выводится
Тарелки 3 шт
Тарелки 7 шт
И вдобавок все заказы, по которым не было отргузки не попадают в выборку.
9 vmv
 
24.03.14
11:06
(8) мне трудно соображать в примере с тарелками, да уже и давно делаю простейший оптимизированный запрос-источник в СКД, а все муки группировок и т.п. средствами настройки СКД

если нужен вывод не в отчет, а как данные для обработки делаю ветку при компоновке в модуле отчета для вывода в тз.
10 DexterMorgan
 
24.03.14
16:00
(6) "чем проще запрос для понимания тебе, тем проще оптимизатору."

Ерунда это все. Оптимизатору нужно знать какое количество полей в таблицах, которые он соединяет. Т.к. виртуальная таблица транслируется во вложенный запрос на sql, то ему труднее выбрать правильный план, поэтому лучше помещать в вт, в данном случае
11 DexterMorgan
 
24.03.14
16:05
Да кстати, если индексы настроены, РС помещать в вт никакого смысла нет