Имя: Пароль:
1C
1С v8
СКД объединение 3-х таблиц
0 Popkorm
 
03.08.11
11:34
Вообщем есть 3 таблицы при объединить с 3-й результат не верны.В отчете хочу видеть одной строчкой Номеклатура и результаты 3-х таблиц .Посоветуйте как можно еще объединить(можно и не СКД):

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

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура КАК Номенклатура,
   СУММА(ВложенныйЗапрос.КоличествоВ) КАК КоличествоВ,
   СУММА(ВложенныйЗапрос.СуммаВ) КАК СуммаВ,
   СУММА(ВложенныйЗапрос.КоличествоМесяц) КАК КоличествоМесяц,
   СУММА(ВложенныйЗапрос.СуммаМесяц) КАК СуммаМесяц
ИЗ
   (ВЫБРАТЬ
       ЕСТЬNULL(Выпуск.Период, ЗаМесяц.Период) КАК Период,
       ЕСТЬNULL(Выпуск.Номенклатура, ЗаМесяц.Номенклатура) КАК Номенклатура,
       Выпуск.КоличествоОборот КАК КоличествоВ,
       Выпуск.СуммаОборот КАК СуммаВ,
       ЗаМесяц.КоличествоОборот КАК КоличествоМесяц,
       ЗаМесяц.СуммаОборот КАК СуммаМесяц
   ИЗ
       ЗаМесяц КАК ЗаМесяц
           ПОЛНОЕ СОЕДИНЕНИЕ Выпуск КАК Выпуск
           ПО ЗаМесяц.Номенклатура = Выпуск.Номенклатура
               И ЗаМесяц.Период = Выпуск.Период) КАК ВложенныйЗапрос

СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Номенклатура

УПОРЯДОЧИТЬ ПО
   Номенклатура
ИТОГИ
   СУММА(КоличествоВ),
   СУММА(СуммаВ),
   СУММА(КоличествоМесяц),
   СУММА(СуммаМесяц)
ПО
   ОБЩИЕ
АВТОУПОРЯДОЧИВАНИЕ
1 Axel2009
 
03.08.11
11:37
ОБЪЕДИНИТЬ ВСЕ
2 Axel2009
 
03.08.11
11:38
+ нафига периодичность запись?
3 Fragster
 
гуру
03.08.11
11:39
новый набор данных - объединение, в нем - 3 запроса (как вариант)
4 Fragster
 
гуру
03.08.11
11:40
кстати в запросе у автора - соединение, а не объединение
5 Fragster
 
гуру
03.08.11
11:40
и непонятно, что он хочет
6 Popkorm
 
03.08.11
11:41
То есть полный:
ВЫБРАТЬ
   ТовараОбороты.Период,
   ТовараОбороты.Номенклатура,
   ТовараОбороты.КоличествоОборот КАК КоличествоОборот,
   ТовараОбороты.СуммаОборот КАК СуммаОборот
ПОМЕСТИТЬ Выпуск
ИЗ
   РегистрНакопления.ТовараОбороты.Обороты(&ДатаНачПроизводство, &ДатаКонПроизводство, Запись, ) КАК ТовараОбороты
ГДЕ
   ТовараОбороты.ВидДвиженияПриходРасход = &Приход
   И ТовараОбороты.ВидОперацииСТоваром = &КупляПродажа
   И ТовараОбороты.Проект = &Производство
;

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

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   ВложенныйЗапрос.Номенклатура КАК Номенклатура,
   СУММА(ВложенныйЗапрос.КоличествоВ) КАК КоличествоВ,
   СУММА(ВложенныйЗапрос.СуммаВ) КАК СуммаВ,
   СУММА(ВложенныйЗапрос.КоличествоМесяц) КАК КоличествоМесяц,
   СУММА(ВложенныйЗапрос.СуммаМесяц) КАК СуммаМесяц,
   СУММА(Продажа.КоличествоОборот) КАК КоличествоОборот,
   СУММА(Продажа.СуммаОборот) КАК СуммаОборот
ИЗ
   (ВЫБРАТЬ
       ЕСТЬNULL(Выпуск.Период, ЗаМесяц.Период) КАК Период,
       ЕСТЬNULL(Выпуск.Номенклатура, ЗаМесяц.Номенклатура) КАК Номенклатура,
       Выпуск.КоличествоОборот КАК КоличествоВ,
       Выпуск.СуммаОборот КАК СуммаВ,
       ЗаМесяц.КоличествоОборот КАК КоличествоМесяц,
       ЗаМесяц.СуммаОборот КАК СуммаМесяц
   ИЗ
       ЗаМесяц КАК ЗаМесяц
           ПОЛНОЕ СОЕДИНЕНИЕ Выпуск КАК Выпуск
           ПО ЗаМесяц.Номенклатура = Выпуск.Номенклатура
               И ЗаМесяц.Период = Выпуск.Период) КАК ВложенныйЗапрос
       ПОЛНОЕ СОЕДИНЕНИЕ Продажа КАК Продажа
       ПО ВложенныйЗапрос.Номенклатура = Продажа.Номенклатура
           И ВложенныйЗапрос.Период = Продажа.Период

СГРУППИРОВАТЬ ПО
   ВложенныйЗапрос.Номенклатура

УПОРЯДОЧИТЬ ПО
   Номенклатура
ИТОГИ
   СУММА(КоличествоВ),
   СУММА(СуммаВ),
   СУММА(КоличествоМесяц),
   СУММА(СуммаМесяц),
   СУММА(КоличествоОборот),
   СУММА(СуммаОборот)
ПО
   ОБЩИЕ
АВТОУПОРЯДОЧИВАНИЕ
7 Popkorm
 
03.08.11
11:42
(5)В отчете хочу видеть одной строчкой Номеклатура и результаты 3-х таблиц
8 Axel2009
 
03.08.11
11:46
(4) и что? ОБЪЕДИНИТЬ ВСЕ 3х запросов в подзапросе, а в основном с группировкой просуммировать показатели.
9 Popkorm
 
03.08.11
12:07
(8)да точно,забыл про эти Объединения....