Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   запрос задваивает номенклатуру (http://forums.kuban.ru/f1040/zapros_zadvaivaet_nomenklaturu-4511256.html)

LivingStar 17.07.2013 05:07

запрос задваивает номенклатуру
 
Имеется запрос, первыми двумя полями которого идет "Дата" и "Номер" документа реализация. В объединеннии по остальным документам в дате и номере поставил 0, думал что строки свернутся как и по числовым полям и задвоения не получится. Сейчас данные по каждому документу идут разными строками, можно ли их объединить?

ВЫБРАТЬ
ВложенныйЗапрос.Дата КАК День,
ВложенныйЗапрос.Номер КАК НомерДокумента,
АдресныйКлассификатор.Код КАК GUID,
ВложенныйЗапрос.Контрагент КАК Контрагент,
ВЫРАЗИТЬ(ЕСТЬNULL(КонтактнаяИнформация.Представление, "") КАК СТРОКА(100)) КАК Адрес,
РеквизитыТТСрезПоследних.КаналСбыта,
РеквизитыТТСрезПоследних.РегионВыкладки,
РеквизитыТТСрезПоследних.РазмерВитрины,
НоменклатураКонтрагентов.АртикулНоменклатурыКонтрагента КАК ГСПID,
ВложенныйЗапрос.Номенклатура КАК Номенклатура,
ВЫБОР
КОГДА ЕСТЬNULL(НоменклатураКонтрагентов.ФА, ЛОЖЬ) = ЛОЖЬ
ТОГДА ЛОЖЬ
КОНЕЦ КАК ФА,
ВложенныйЗапрос.ЗаказКоличество КАК ЗаказыКг,
ВложенныйЗапрос.РеализацияКоличество КАК ОтгрузкаКг,
ВложенныйЗапрос.ВозвратКоличество КАК ВозвратыКг,
ВложенныйЗапрос.РеализацияКоличество - ВложенныйЗапрос.ВозвратКоличество КАК ПродажиКг,
ВложенныйЗапрос.ЗаказСумма КАК ЗаказыРуб,
ВложенныйЗапрос.РеализацияСумма КАК ОтгрузкаРуб,
ВложенныйЗапрос.ВозвратСумма КАК ВозвратыРуб,
ВложенныйЗапрос.РеализацияСумма - ВложенныйЗапрос.ВозвратСумма КАК ВыручкаРуб
ИЗ
(ВЫБРАТЬ
0 КАК Дата,
0 КАК Номер,
ЗаказПокупателяТовары.Ссылка.Контрагент КАК Контрагент,
ЗаказПокупателяТовары.Номенклатура КАК Номенклатура,
СУММА(ЗаказПокупателяТовары.Количество) КАК ЗаказКоличество,
СУММА(ЗаказПокупателяТовары.Сумма) КАК ЗаказСумма,
0 КАК РеализацияКоличество,
0 КАК РеализацияСумма,
0 КАК ВозвратКоличество,
0 КАК ВозвратСумма
ИЗ
Документ.ЗаказПокупателя.Товары КАК ЗаказПокупателяТовары
ГДЕ
ЗаказПокупателяТовары.Ссылка.Дата МЕЖДУ &НачДата И &КонДата
И ЗаказПокупателяТовары.Ссылка.Проведен = ИСТИНА

СГРУППИРОВАТЬ ПО
ЗаказПокупателяТовары.Ссылка.Контрагент,
ЗаказПокупателяТовары.Номенклатура

ОБЪЕДИНИТЬ ВСЕ

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

СГРУППИРОВАТЬ ПО
РеализацияТоваровУслугТовары.Ссылка.Контрагент,
РеализацияТоваровУслугТовары.Номенклатура,
РеализацияТоваровУслугТовары.Ссылка.Дата,
РеализацияТоваровУслугТовары.Ссылка.Номер

ОБЪЕДИНИТЬ ВСЕ

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

СГРУППИРОВАТЬ ПО
ВозвратТоваровОтПокупателяТовары.Ссылка.Контрагент,
ВозвратТоваровОтПокупателяТовары.Номенклатура) КАК ВложенныйЗапрос
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.АдресныйКлассификатор КАК АдресныйКлассификатор
ПО КонтактнаяИнформация.Поле1 = АдресныйКлассификатор.Индекс
И КонтактнаяИнформация.Поле6 = АдресныйКлассификатор.Наименование
ПО ВложенныйЗапрос.Контрагент = КонтактнаяИнформация.Объект
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РеквизитыТТ.СрезПоследних КАК РеквизитыТТСрезПоследних
ПО ВложенныйЗапрос.Контрагент = РеквизитыТТСрезПоследних.Контрагент
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НоменклатураКонтрагентов КАК НоменклатураКонтрагентов
ПО ВложенныйЗапрос.Номенклатура = НоменклатураКонтрагентов.Номенклатура
ГДЕ
КонтактнаяИнформация.Тип = ЗНАЧЕНИЕ(Перечисление.ТипыКонтактнойИнформации.Адрес)
И КонтактнаяИнформация.Вид = ЗНАЧЕНИЕ(Справочник.ВидыКонтактнойИнформации.ФактАдресКонтрагента)

УПОРЯДОЧИТЬ ПО
Контрагент,
Номенклатура

Jimbo 17.07.2013 07:12

многабукфниасилил. Пакетные запросы понятнее и читабельнее

bma1 17.07.2013 13:33

2(0) Из-за левых соединений.

Jimbo 17.07.2013 14:22

группировать перед объединением надо одинаково и по всем реквизитам


Текущее время: 05:39. Часовой пояс GMT +3.