8.х Помогите разобраться с запросом. Остатки + Движение

Тема в разделе "Отчеты и обработки для "1С:Предприятие 8"", создана пользователем sae74, 8 авг 2011.

  1. TopicStarter Overlay
    sae74
    Offline

    sae74

    Регистрация:
    5 июл 2011
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Добрый день.
    Помогите разобраться с запросом.
    На выходе нужно получить движение товара и его остатки.
    Но так что бы отображался товар и с нулевыми продажами и с нулевыми остатками.
    «Загвоздка» в этой строке я так думаю
    Код:
    правое СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты КАК Остатки
    
    Но чет не получаю необходимый результат.
    Остатки отображаются только при наличии движения.
    Спасибо.


    Код:
    ВЫБРАТЬ
    Остатки.КоличествоКонечныйОстаток КАК Остаток,
    СУММА(Движение.Количество) КАК Продажи,
    Движение.Регистратор,
    Движение.Номенклатура
    ИЗ
    РегистрНакопления.ТоварыВРознице КАК Движение
    правое СОЕДИНЕНИЕ РегистрНакопления.ТоварыВРознице.ОстаткиИОбороты КАК Остатки
    ПО (Движение.Номенклатура = Остатки.Номенклатура)
    ГДЕ
    Движение.Период >= &НачПериода
    И Движение.Период <= &КонПериода
    И Движение.Регистратор.ВидОперации = &ВидОперации
    И Остатки.Номенклатура.ОсновнойПоставщик = &ОсновнойПоставщик
    И Движение.Номенклатура.ОсновнойПоставщик = &ОсновнойПоставщик
    
    СГРУППИРОВАТЬ ПО
    Остатки.КоличествоКонечныйОстаток,
    Движение.Регистратор,
    Движение.Номенклатура
    
  2. alexburn
    Offline

    alexburn Модераторы Команда форума Модератор

    Регистрация:
    5 янв 2009
    Сообщения:
    14.735
    Симпатии:
    508
    Баллы:
    204
    Вместо ПРАВОЕ, попробуйте ПОЛНОЕ СОЕДИНЕНИЕ.
  3. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    В этом случае в отчет попадут только те товары, по которым хоть когда-то были движения.
    Если же по товару не было движений (нулевые продажи и нулевые остатки - вроде как раз подходит), то в отчёте информации не будет.
    Если нужна именно такая информация, то соединение нужно делать со справочником номенклатура,, типа такого:

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

    Tiger86 Модераторы Команда форума Модератор

    Регистрация:
    24 мар 2011
    Сообщения:
    6.407
    Симпатии:
    108
    Баллы:
    104
    а если попробовать через вложенные запросы или сделать отдельно 2 запроса?
  5. TopicStarter Overlay
    sae74
    Offline

    sae74

    Регистрация:
    5 июл 2011
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Спасибо буду пробовать через добавление справочника.
  6. BVB_berserk
    Offline

    BVB_berserk Опытный в 1С

    Регистрация:
    30 янв 2009
    Сообщения:
    162
    Симпатии:
    0
    Баллы:
    26
    Смотри, тут как бы разные вещи могут быть.
    При обращении к регистру ты можешь получить товары, которые уже бывали у тебя на складе, просто сейчас их нет и продажи за приод нулевые. А при обращению к с правочнику ты можешь получить товары, которые никогда у тебя на складе не были. Ты определись, какой вариант тебе нужен.
  7. TopicStarter Overlay
    sae74
    Offline

    sae74

    Регистрация:
    5 июл 2011
    Сообщения:
    21
    Симпатии:
    0
    Баллы:
    1
    Увы, я хорошо знаю 1с7., с 8-кой работаю всего пару месяцев, так что пока для меня это сложно, читаю книги.

Поделиться этой страницей