8.х Отчет Дефицит

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем alexisinfire, 24 мар 2009.

  1. TopicStarter Overlay
    alexisinfire
    Offline

    alexisinfire

    Регистрация:
    17 мар 2008
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Здрасте.

    У меня такая вот проблема.

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

    ЗЫ: Я нуп, поэтому, если можно, то поподробнее.
  2. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    Используйте не левое соединение, а внутреннее соединение
  3. TopicStarter Overlay
    alexisinfire
    Offline

    alexisinfire

    Регистрация:
    17 мар 2008
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Поменял:
    Код:
    РегистрНакопления.ОсновнойОстатки.Остатки КАК ОсновнойОстаткиОстатки
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрНакопления.Планирование.Остатки КАК ПланированиеОстатки
    ПО ПланированиеОстатки.Номенклатура = ОсновнойОстаткиОстатки.Номенклатура
    
    
    ...Не помогло :unsure:
  4. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    Сори. Я неправильно прочитал первый вопрос.
    Полное соединение, конечно же
  5. TopicStarter Overlay
    alexisinfire
    Offline

    alexisinfire

    Регистрация:
    17 мар 2008
    Сообщения:
    14
    Симпатии:
    0
    Баллы:
    1
    Хм.....
    Полное тоже не помогло.
  6. vitaly_mnpz
    Offline

    vitaly_mnpz Опытный в 1С

    Регистрация:
    15 фев 2009
    Сообщения:
    267
    Симпатии:
    0
    Баллы:
    26
    Код:
    ВЫБРАТЬ
    ПланированиеОстатки.КоличествоОстаток - ЕСТЬNULL(ОсновнойОстаткиОстатки.КоличествоОстаток,0) КАК Дефицит,
    ПланированиеОстатки.Срок,
    (ПланированиеОстатки.КоличествоОстаток - ЕСТЬNULL(ОсновнойОстаткиОстатки.КоличествоОстаток,0)) * ЕСТЬNULL(ОсновнойОстаткиОстатки.ЦенаСУчетомНДС,ПланированиеОстатки.ЦенаСУчетомНДС) КАК Сумма,
    ПланированиеОстатки.Номенклатура
    ИЗ
    РегистрНакопления.ОсновнойОстатки.Остатки(&КонПериода, Статус = &Статус И Склад = &Склад) КАК ОсновнойОстаткиОстатки
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Планирование.Остатки(&КонПериода, Квартал = &Квартал И Склад = &Склад) КАК ПланированиеОстатки
    ПО ПланированиеОстатки.Номенклатура = ОсновнойОстаткиОстатки.Номенклатура
    
    Здесь, правда, не понятно, откуда взять цену для отсутствующих позиций. Ну уж сами разберетесь

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