Имя: Пароль:
1C
1С v8
Условие вычисления выражения в запросе СКД
0 Gill
 
11.05.22
19:13
Привет всем!
Есть примитивнейшая задача, но не могу понять как сделать)

В отчете необходимо определять "статус" документа и выводить в соответ.колонку

ВЫБОР
    
    КОГДА Заказы.ЗаказаноРасход < Заказы.ЗаказаноПриход
        ТОГДА "Частично отгружено"
    КОГДА Заказы.ЗаказаноРасход > Заказы.ЗаказаноПриход
        ТОГДА "Сверх заказа"
КОНЕЦ

где Заказы.ЗаказаноРасход и Заказы.ЗаказаноПриход - это ресурсы регистра накопления

Внимание вопрос: "Как явно прописать, что Заказы.ЗаказаноРасход не равно 0.
Т.е. необходимо, чтобы значение в колонке статус заполнялось при значении одного из слагаемых >0 (типа Если Заказы.ЗаказаноРасход <> 0 тогда Статус =...)
1 ReaLg
 
11.05.22
20:04
Не очень понял что не получается, но почему бы не так: КОГДА Заказы.ЗаказаноРасход <> 0 И Заказы.ЗаказаноРасход < Заказы.ЗаказаноПриход ТОГДА
Можно вложенные КОГДА использовать
КОГДА Заказы.ЗаказаноРасход <> 0
  ТОГДА
    КОГДА Заказы.ЗаказаноРасход < Заказы.ЗаказаноПриход
    ТОГДА ...
  КОНЕЦ
ИНАЧЕ "Статус не заполнен"
КОНЕЦ
При необходимости в ЕСТЬNULL все завернуть.
2 Gill
 
11.05.22
20:08
(1) Логика определения статуса следующая:

Если  Заказы.ЗаказаноРасход>0 Тогда
    Заказы.ЗаказаноРасход - Заказы.ЗаказаноПриход
Тогда («Частично отгружено»)

так как иначе получается,что считает так 0-5=частично отгружено, хотя при этом ещё ничего не отгружено.

Надеюсь не запутал окончательно)
3 ReaLg
 
11.05.22
20:14
(2) ВЫБОР
      КОГДА Заказы.ЗаказаноРасход <= 0 ТОГДА "Полностью не отгружено"
      ИНАЧЕ
        ВЫБОР
          КОГДА Заказы.ЗаказаноРасход < Заказы.ЗаказаноПриход ТОГДА "Частично отгружено"
          КОГДА Заказы.ЗаказаноРасход = Заказы.ЗаказаноПриход ТОГДА "Полностью отгружено"
          КОГДА Заказы.ЗаказаноРасход > Заказы.ЗаказаноПриход ТОГДА "Сверх заказа"
        КОНЕЦ
    КОНЕЦ
4 Gill
 
11.05.22
20:20
(3) спасибо большое!)
5 Жан Пердежон
 
11.05.22
21:53
жесть