Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

Запрос по таблицам с разным количеством измерений

Запрос по таблицам с разным количеством измерений
Я
   maxipunchik
 
09.04.18 - 15:26
Есть 2 регистра накопления. В одном 3 измерения (номенклатура, организация, склад) и 1 ресурс (стоимость) в другом 2 измерения (номенклатура, склад) и 1 измерение (количество)

В итоге нужно получить таблицу "Номенклатура, склад, Организация" с ресурсами "количество и сумма".

Не получается соединить таблицы, при добавлении организации из первой таблицы, стали дублироваться строки и увеличилось общее количество
Последнее к чему пришел - это этот код:

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

СГРУППИРОВАТЬ ПО
    ТоварыНаСкладахОстатки.Номенклатура,
    ТоварыНаСкладахОстатки.Склад
;

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

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

////////////////////////////////////////////////////////////////////////////////

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

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

УПОРЯДОЧИТЬ ПО
    Номенклатура1
ИТОГИ
    СУММА(СтоимостьОстаток),
    СУММА(КоличествоОстаток)
ПО
    Поле1
 
 
   YaFedor
 
1 - 09.04.18 - 15:30
По одному набору Номенклатура1, Склад1 есть во втором регистре количество 40

По этому же набору в первом регистре по Организация 1 - 100, по Организация 2 - 250

Внимание вопрос:

Какое количество будет в твоей таблице по набору: Номенклатура1, Склад1, Организация2


Как только ответишь на вопрос, так сразу и решиш задачу.
   youalex
 
2 - 09.04.18 - 15:52
(0) жесть какая-то)  Зачем это всё нужно?
   maxipunchik
 
3 - 09.04.18 - 16:18
(1) такое же будет количество, по левой таблице найдет 2 совпаления, поэтому образуется 2 строки с разным правым значением и одинаковым левым. Только в решении пока что мне это не помогло
   Сияющий в темноте
 
4 - 09.04.18 - 19:58
Если количество к организации не привязано,то что будет в графе количество у конкретной организации-понятно,что пусто,количество будет только на следующем уровне группировки,где уже организация не важна,но там не будет стоимости,т.к.она привязана к организации
вопрос-вам это нужно?
если нет,то задача решения не имеет
   youalex
 
5 - 09.04.18 - 20:01
Я сильно подозреваю, что этот вопрос вырван из контекста, а конкретно, из задачи на Спеца, где стоимость не учитывается в разрезе Организаций, а Остатки - учитываются...
   Сияющий в темноте
 
6 - 10.04.18 - 09:18
Здесь,скорее,наоборот,но сути не меняет

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует