![]() |
|
временная таблица группировка | ☑ | ||
---|---|---|---|---|
0
prtx
15.02.16
✎
00:19
|
Доброй ночи, граждане!
Говорю сразу, на запрос забейте(может пару советов и все) меня колышит одна проблема в запросе: группировка во временной таблице. вариант1 "ВЫБРАТЬ | ТоварыНаСкладахОбороты.Номенклатура, | ТоварыНаСкладахОбороты.Партия, | ТоварыНаСкладахОбороты.Серия, | ТоварыНаСкладахОбороты.КоличествоДробноеОбщееРасход КАК КоличествоДробноеОбщее, | ТоварыНаСкладахОбороты.Документ |ПОМЕСТИТЬ ПроданныеТовары |ИЗ | РегистрНакопления.ТоварыНаСкладах.Обороты( | &НачалоПериода, | &КонецПериода, | Регистратор, | Документ.Организация = &Организация | И Документ.Магазин = &Магазин | И Документ.Касса = &Касса) КАК ТоварыНаСкладахОбороты |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПроданныеТовары.Номенклатура, | СУММА(ОптовыеЦеныТоваров.ЦенаОптоваяБезНДС) КАК ЦенаОптоваяБезНДС, | СУММА(ОптовыеЦеныТоваров.ЦенаОптоваяСНДС) КАК ЦенаОптоваяСНДС, | СУММА(ОптовыеЦеныТоваров.ЦенаОптоваяНДС) КАК ЦенаОптоваяНДС, | СУММА(ОтпускныеЦеныТоваров.ЦенаОтпускнаяБезНДС) КАК ЦенаОтпускнаяБезНДС, | СУММА(ОтпускныеЦеныТоваров.ЦенаОтпускнаяСНДС) КАК ЦенаОтпускнаяСНДС, | СУММА(ОтпускныеЦеныТоваров.ЦенаОтпускнаяНДС) КАК ЦенаОтпускнаяНДС, | СУММА(ПроданныеТовары.КоличествоДробноеОбщее) КАК КоличествоДробноеОбщее, | СУММА(ОптовыеЦеныТоваров.ЦенаОптоваяБезНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее) КАК СуммаОптоваяБезНДС, | СУММА(ОптовыеЦеныТоваров.ЦенаОптоваяСНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее) КАК СуммаОптоваяСНДС, | СУММА(ОптовыеЦеныТоваров.ЦенаОптоваяНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее) КАК СуммаОптоваяНДС, | СУММА(ОтпускныеЦеныТоваров.ЦенаОтпускнаяБезНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее) КАК СуммаОтпускнаяБезНДС, | СУММА(ОтпускныеЦеныТоваров.ЦенаОтпускнаяСНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее) КАК СуммаОтпускнаяСНДС, | СУММА(ОтпускныеЦеныТоваров.ЦенаОтпускнаяНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее) КАК СуммаОтпускнаяНДС, | ПроданныеТовары.Партия, | ПроданныеТовары.Серия, | ДелителиНоменклатуры.Делитель |ИЗ | ПроданныеТовары КАК ПроданныеТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДелителиНоменклатуры КАК ДелителиНоменклатуры | ПО ПроданныеТовары.Номенклатура = ДелителиНоменклатуры.Номенклатура | И ПроданныеТовары.Партия = ДелителиНоменклатуры.Партия | И ПроданныеТовары.Серия = ДелителиНоменклатуры.Серия | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОптовыеЦеныТоваров КАК ОптовыеЦеныТоваров | ПО ПроданныеТовары.Номенклатура = ОптовыеЦеныТоваров.Номенклатура | И ПроданныеТовары.Партия = ОптовыеЦеныТоваров.Партия | И ПроданныеТовары.Серия = ОптовыеЦеныТоваров.Серия | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтпускныеЦеныТоваров КАК ОтпускныеЦеныТоваров | ПО ПроданныеТовары.Номенклатура = ОтпускныеЦеныТоваров.Номенклатура | И ПроданныеТовары.Партия = ОтпускныеЦеныТоваров.Партия | И ПроданныеТовары.Серия = ОтпускныеЦеныТоваров.Серия | И ПроданныеТовары.Документ = ОтпускныеЦеныТоваров.Регистратор | |СГРУППИРОВАТЬ ПО | ПроданныеТовары.Номенклатура, | ПроданныеТовары.Партия, | ПроданныеТовары.Серия, | ДелителиНоменклатуры.Делитель" вариант2 Запрос.Текст = "ВЫБРАТЬ | ТоварыНаСкладахОбороты.Номенклатура, | ТоварыНаСкладахОбороты.Партия, | ТоварыНаСкладахОбороты.Серия, | СУММА(ТоварыНаСкладахОбороты.КоличествоДробноеОбщееРасход) КАК КоличествоДробноеОбщее, | ТоварыНаСкладахОбороты.Регистратор |ПОМЕСТИТЬ ПроданныеТовары |ИЗ | РегистрНакопления.ТоварыНаСкладах.Обороты( | &НачалоПериода, | &КонецПериода, | Регистратор, | Документ.Организация = &Организация | И Документ.Магазин = &Магазин | И Документ.Касса = &Касса) КАК ТоварыНаСкладахОбороты | |СГРУППИРОВАТЬ ПО | ТоварыНаСкладахОбороты.Номенклатура, | ТоварыНаСкладахОбороты.Партия, | ТоварыНаСкладахОбороты.Серия, | ТоварыНаСкладахОбороты.Регистратор |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПроданныеТовары.Номенклатура, | ОптовыеЦеныТоваров.ЦенаОптоваяБезНДС, | ОптовыеЦеныТоваров.ЦенаОптоваяСНДС, | ОптовыеЦеныТоваров.ЦенаОптоваяНДС, | ОтпускныеЦеныТоваров.ЦенаОтпускнаяБезНДС, | ОтпускныеЦеныТоваров.ЦенаОтпускнаяСНДС, | ОтпускныеЦеныТоваров.ЦенаОтпускнаяНДС, | ПроданныеТовары.КоличествоДробноеОбщее, | ОптовыеЦеныТоваров.ЦенаОптоваяБезНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее КАК СуммаОптоваяБезНДС, | ОптовыеЦеныТоваров.ЦенаОптоваяСНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее КАК СуммаОптоваяСНДС, | ОптовыеЦеныТоваров.ЦенаОптоваяНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее КАК СуммаОптоваяНДС, | ОтпускныеЦеныТоваров.ЦенаОтпускнаяБезНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее КАК СуммаОтпускнаяБезНДС, | ОтпускныеЦеныТоваров.ЦенаОтпускнаяСНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее КАК СуммаОтпускнаяСНДС, | ОтпускныеЦеныТоваров.ЦенаОтпускнаяНДС / ДелителиНоменклатуры.Делитель * ПроданныеТовары.КоличествоДробноеОбщее КАК СуммаОтпускнаяНДС |ИЗ | ПроданныеТовары КАК ПроданныеТовары | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ДелителиНоменклатуры КАК ДелителиНоменклатуры | ПО ПроданныеТовары.Номенклатура = ДелителиНоменклатуры.Номенклатура | И ПроданныеТовары.Партия = ДелителиНоменклатуры.Партия | И ПроданныеТовары.Серия = ДелителиНоменклатуры.Серия | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОптовыеЦеныТоваров КАК ОптовыеЦеныТоваров | ПО ПроданныеТовары.Номенклатура = ОптовыеЦеныТоваров.Номенклатура | И ПроданныеТовары.Партия = ОптовыеЦеныТоваров.Партия | И ПроданныеТовары.Серия = ОптовыеЦеныТоваров.Серия | ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ОтпускныеЦеныТоваров КАК ОтпускныеЦеныТоваров | ПО ПроданныеТовары.Номенклатура = ОтпускныеЦеныТоваров.Номенклатура | И ПроданныеТовары.Партия = ОтпускныеЦеныТоваров.Партия | И ПроданныеТовары.Серия = ОтпускныеЦеныТоваров.Серия"; разница между ними в том, что в вариант1 результат я получаю сгруппированный, а вариант2 нет. так вот мой вопрос: какого х**ена? у меня лыжи вообще не едут... я так понимаю вариант2: я достаю то что мне нужно и сразу его группирую, дальше с этими данными еще что-то делаю и выбираю, и на выходе я должен получить сгруппированные данные, в чем моя ошибка... Объясните принцип работы запросов1 |
|||
1
prtx
15.02.16
✎
00:28
|
(0) на всякий пожарный.
вариант1 я группирую во втором запрос вариант2 я группирую в первом запросе |
|||
2
H A D G E H O G s
15.02.16
✎
00:35
|
Вариант 2.
Одной записи таблицы ПроданныеТовары может соответствовать 2 и более записи одной из присоединенных таблиц. |
|||
3
prtx
15.02.16
✎
00:50
|
(2) точно. спасибо. так оно есть, чет я не допетрел)))
сейчас будем думать, как бы это все покрасивее организовать. |
|||
4
H A D G E H O G s
15.02.16
✎
00:53
|
(3) Дин список?
|
|||
5
prtx
15.02.16
✎
01:02
|
(4) ? непонял
|
|||
6
hhhh
15.02.16
✎
01:22
|
(5) ыообще разные запросы:
в первом запросе ТоварыНаСкладахОбороты.Документ во втором ТоварыНаСкладахОбороты.Регистратор поэтому не сворачивает |
|||
7
Vakhrin
15.02.16
✎
01:26
|
Да, регистратор в группировке однозначно лишний. В первом варианте его просто нет )
|
|||
8
prtx
15.02.16
✎
10:55
|
(6) (7) сори, по сути и там и там храниться одно и тоже, это ссылки на документ.
регистратор(документ) - лишний, но это понимаю я и вы, а скд (зараза), или группирует по всем полям или не по каким. |
|||
9
hhhh
15.02.16
✎
11:01
|
(8) документ и регистратор - здесь разные документы. Иногда совпадают. Поставьте во втором запросе Документ и не парьте нам мозг.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |