8.х Вычитание в запросе

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

  1. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Здравствуйте.

    Мне нужно из одной суммы отнять другую сумму и вывести пользователю результат.

    Код:
    РегистрПлан.Количество - РегистрПродажи.Количество КАК ОсталосьПродать
    Если у меня РегистрПродажи.Количество не равно нулю тогда в ОсталосьПродать у меня результат.

    А если ноль(привёл к нулю через ЕСТЬNULL) то у меня в результате пусто. А мне нужно в результирующей колонке либо разницу либо План.

    Делать через "Когда Тогда" или я где то затупил?
  2. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    А если сделать вот так
    Где
    ЕстьNULL(РегистрПродажи.Количество)<
    Сорри не так.
    Вот:

    РегистрПлан.Количество - ЕстьNULL(РегистрПродажи.Количество,0) КАК ОсталосьПродать
    TODD22 нравится это.
  3. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Я объединяю 2 таблицы. в одной план в другой факт. Мне нужно получить третью колонку как разницу между планом и фактом.
    Разница выводится только если у меня РегистрПродажи.Количество больше нуля. А если ноль то колонка результат пустая. А мне нужно что бы там был тогда план.
    --- Объединение сообщений, 6 май 2015 ---
    Код:
    ВЫБРАТЬ
        ПланПродажСрезПоследних.Номенклатура КАК Номенклатура,
        ПланПродажСрезПоследних.ПланПродаж КАК ПланПродаж,
        ПланПродажСрезПоследних.ФактическоеИсполнениеПлана КАК ФактическоеИсполнениеПлана,
        ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0) КАК КоличествоОборот,
        -ПланПродажСрезПоследних.ФактическоеИсполнениеПлана - ПродажиОбороты.КоличествоОборот КАК Попытка1,
        ВЫБОР
            КОГДА ПродажиОбороты.КоличествоОборот = 0
                ТОГДА -ПланПродажСрезПоследних.ФактическоеИсполнениеПлана
            ИНАЧЕ -ПланПродажСрезПоследних.ФактическоеИсполнениеПлана - ПродажиОбороты.КоличествоОборот
        КОНЕЦ КАК Поытка2
    ИЗ
        РегистрСведений.ПланПродаж.СрезПоследних(&ДатаСреза, Магазин = &Магазин) КАК ПланПродажСрезПоследних
            ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, День, Магазин = &Магазин) КАК ПродажиОбороты
            ПО (ПланПродажСрезПоследних.Номенклатура = ПродажиОбороты.Товар.Основа)
    Вот полностью запрос. Не в первом случае... ни во втором поле "попытка" не заплняется по факту.
  4. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    РегистрПлан.Количество - ЕстьNULL(РегистрПродажи.Количество,0) КАК ОсталосьПродать

    ну.. если у тебя продажи нет, она NULL превращает в 0 и у тебя получается ПланПродаж минус Ноль = осталось продать весь ПланПродаж

    Вот это
    Код:
    ПланПродажСрезПоследних.ФактическоеИсполнениеПлана КАК ФактическоеИсполнениеПлана,
    ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0) КАК КоличествоОборот,
    -ПланПродажСрезПоследних.ФактическоеИсполнениеПлана - ПродажиОбороты.КоличествоОборот КАК Попытка1,
    ВЫБОР
    КОГДА ПродажиОбороты.КоличествоОборот = 0
    ТОГДА -ПланПродажСрезПоследних.ФактическоеИсполнениеПлана
    ИНАЧЕ -ПланПродажСрезПоследних.ФактическоеИсполнениеПлана - ПродажиОбороты.КоличествоОборот
    КОНЕЦ КАК Поытка2
    Замени вот на это
    ЕСТЬNULL(ПродажиОбороты.КоличествоОборот, 0) - ПланПродажСрезПоследних.ФактическоеИсполнениеПлана КАК Попытка
  5. TopicStarter Overlay
    TODD22
    Offline

    TODD22 Профессионал в 1С Команда форума

    Регистрация:
    23 фев 2009
    Сообщения:
    4.755
    Симпатии:
    146
    Баллы:
    104
    Спасибо получилось :)
  6. TerANik
    Offline

    TerANik Профессионал в 1С

    Регистрация:
    19 ноя 2014
    Сообщения:
    997
    Симпатии:
    70
    Баллы:
    54
    Ура..)

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