Имя: Пароль:
1C
1С v8
дублируются строки в запросе
0 gevik
 
24.05.12
12:50
Здравствуйте. Нужна помощь.
Есть следующий запрос:

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

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

СГРУППИРОВАТЬ ПО
   АналитикаРЗ.Продукция,
   АналитикаУПВыпуск.Заказ
;

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

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
   СУММА(АналитикаЗатрат.КоличествоПриход) КАК ЗатратыКоличествоПриход,
   СУММА(АналитикаЗатрат.СтоимостьПриход) КАК ЗатратыСтоимостьПриход,
   АналитикаУЗ.Затрата,
   АналитикаУПЗатраты.Заказ
ПОМЕСТИТЬ Затраты
ИЗ
   АналитикаЗатрат КАК АналитикаЗатрат
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаЗатрат КАК КлючиАналитикиУчетаЗатрат
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаЗатрат КАК АналитикаУЗ
           ПО КлючиАналитикиУчетаЗатрат.Ссылка = АналитикаУЗ.Ссылка
       ПО АналитикаЗатрат.АналитикаУчетаЗатрат = КлючиАналитикиУчетаЗатрат.Ссылка
       ЛЕВОЕ СОЕДИНЕНИЕ Справочник.КлючиАналитикиУчетаПартий КАК КлючиАналитикиУчетаПартий
           ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.АналитикаУчетаПартий КАК АналитикаУПЗатраты
           ПО КлючиАналитикиУчетаПартий.Ссылка = АналитикаУПЗатраты.Ссылка
       ПО АналитикаЗатрат.АналитикаУчетаПартий = КлючиАналитикиУчетаПартий.Ссылка

СГРУППИРОВАТЬ ПО
   АналитикаУЗ.Затрата,
   АналитикаУПЗатраты.Заказ
;

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

В последнем запросе к ВТ Продукция происходит задвоение сумм и количества, когда на одну строку продукции берется несколько строк затрат. Не пойму, как исправить, чтобы работало.
1 Shurjk
 
24.05.12
12:51
Еще даже не открыв ветку я знал что речь тут о левом соединении, ну или о правом.
Подумайте как работает соединение, и ответ найдеться сам собой.
2 Shurjk
 
24.05.12
12:53
Подскажу в одной из таблиц заказ не является ключом.
3 viktor_vv
 
24.05.12
12:55
Можно дальше продолжить подсказки. Надо подумать как в таблицу Затраты прилепить еще продукцию.
4 viktor_vv
 
24.05.12
13:01
(3)+ И делать не через Левое соединение, а через Объединение .
5 gevik
 
24.05.12
13:04
пробовал и через объединение.
запутался уже.
6 gevik
 
24.05.12
15:08
Продукцию в таблицу Затраты добавил.
Сделал объединение.
Запрос выдает результат:
Одна строка продукции, следующие 2 строки-затраты.
Колонка продукция и заказ заполнены у всех строк.
При выводе через СКД продукция разбивается:
сначала пустая строка продукции и далее затраты, затем заполненная строка продукции с суммами без затрат.
Как это исправить, чтобы строка продукции была одна.
7 viktor_vv
 
24.05.12
15:28
У поля Продукция в СКД роль Измерение и Игнорировать NULL.
8 gevik
 
24.05.12
15:37
не помогло
9 viktor_vv
 
24.05.12
16:41
Суммируемые значения в ресурсы добавь.
10 gevik
 
24.05.12
19:36
это было сделано раньше
11 viktor_vv
 
24.05.12
21:20
Ну тогда не знаю. Должно работать. А запрос последний покажи с объединить все.