Приветствую. КА2 2.5 Как теперь в запросе перебирать ставки НДС?
Раньше было через ЗНАЧЕНИЕ. А как теперь подобный запрос делать? Есть примеры типовых конфигураций?

```1c
    Товары.ТаможенныйСбор + ВЫБОР
    КОГДА Товары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
    ТОГДА ВЫБОР
    КОГДА Фрахт.СуммаУпр > 0
    ТОГДА (Товары.СуммаУпр + Фрахт.СуммаУпр) * 0.18
    ИНАЧЕ Товары.СуммаУпр * 0.18
    КОНЕЦ
    КОГДА Товары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
    ТОГДА ВЫБОР
    КОГДА Фрахт.СуммаУпр > 0
    ТОГДА (Товары.СуммаУпр + Фрахт.СуммаУпр) * 0.2
    ИНАЧЕ Товары.СуммаУпр * 0.2
    КОНЕЦ
    КОГДА Товары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
    ТОГДА ВЫБОР
    КОГДА Фрахт.СуммаУпр > 0
    ТОГДА (Товары.СуммаУпр + Фрахт.СуммаУпр) * 0.1
    ИНАЧЕ Товары.СуммаУпр * 0.1
    КОНЕЦ
    КОГДА Товары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
    ТОГДА ВЫБОР
    КОГДА Фрахт.СуммаУпр > 0
    ТОГДА (Товары.СуммаУпр + Фрахт.СуммаУпр) * 0.18
    ИНАЧЕ Товары.СуммаУпр * 0.18
    КОНЕЦ
    КОГДА Товары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
    ТОГДА ВЫБОР
    КОГДА Фрахт.СуммаУпр > 0
    ТОГДА (Товары.СуммаУпр + Фрахт.СуммаУпр) * 0.2
    ИНАЧЕ Товары.СуммаУпр * 0.2
    КОНЕЦ
    КОГДА Товары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
    ТОГДА ВЫБОР
    КОГДА Фрахт.СуммаУпр > 0
    ТОГДА (Товары.СуммаУпр + Фрахт.СуммаУпр) * 0.1
    ИНАЧЕ Товары.СуммаУпр * 0.1
    КОНЕЦ
    КОГДА Товары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БЕЗНДС)
    ТОГДА 0
    КОГДА Товары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0)
    ТОГДА 0
    КОНЕЦ
```
---
ну тогда левое соединение - и в путь...
---
Добрый день. В ЕРП у справочника есть реквизит "ПеречислениеСтавкаНДС", который ссылается на перечисление. Может его проверять через точку, конечно за такое бьют по рукам из-за лишнего соединения, но Справочник "СтавкиНДС" микроскопический.
---
можно же по наименованию (или может другой подходящий реквизит есть) элемента справочника сравнивать.
---
а если сделать через временную таблицу
```1c
    Выбрать ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18) КАК Ставка, 0.18 КАК Значение
    Поместить СтавкиНДС
    Объединить ВСЕ
    Выбрать ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20), 0.20
    // и т.д.
```
а потом соединение с этой таблицей сделать..
---
Нет. Основная проблема, что раньше СтавкаНДС была перечисление, теперь это справочник. Смотри тему.
---
у справочника отменили предопределенные элементы?
они тож через Значение легко используются в запросах....
---
Оставили только БезНДС
---
ну тогда левое соединение - и в путь...
---
Да, через левое вполне логично

```1c
    | ВЫБОР
    | КОГДА Фрахт.СуммаУпр > 0
    | ТОГДА Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность + Фрахт.СуммаУпр
    | ИНАЧЕ Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность
    | КОНЕЦ КАК ТаможеннаяСтоимость,
    | ВЫБОР
    | КОГДА Фрахт.СуммаУпр > 0
    | ТОГДА (Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность + Фрахт.СуммаУпр) * СтавкиНДС.Ставка * 0.01
    | ИНАЧЕ Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность * СтавкиНДС.Ставка * 0.01
    | КОНЕЦ КАК СуммаНДС,
    | Товары.ТаможенныйСбор + ВЫБОР
    | КОГДА Фрахт.СуммаУпр > 0
    | ТОГДА (КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность + Фрахт.СуммаУпр) * СтавкиНДС.Ставка * 0.01
    | ИНАЧЕ КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность * СтавкиНДС.Ставка * 0.01
    | КОНЕЦ КАК ТаможенныйПлатеж,
    | Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность КАК СуммаУпр
    |ИЗ
    | Товары КАК Товары
    | ЛЕВОЕ СОЕДИНЕНИЕ Фрахт КАК Фрахт
    | ПО Товары.ЗаказПоставщику = Фрахт.ЗаказПоставщику
    | И Товары.Номенклатура = Фрахт.Номенклатура
    | ЛЕВОЕ СОЕДИНЕНИЕ СтавкиНДС КАК СтавкиНДС
    | ПО Товары.СтавкаНДС = СтавкиНДС.Ссылка,
    | КурсыВалютСрез КАК КурсыВалютСрез
```
---
ВЫБОР
        КОГДА Фрахт.СуммаУпр > 0
            ТОГДА (КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность + Фрахт.СуммаУпр) * СтавкиНДС.Ставка * 0.01
        ИНАЧЕ КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность * СтавкиНДС.Ставка * 0.01а зачем нужна такая конструкция?

Фрахт.СуммаУпр бывает меньше нуля?

если нет, то
(КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность + Фрахт.СуммаУпр) * СтавкиНДС.Ставка * 0.01
само превращается в
КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность * СтавкиНДС.Ставка * 0.01
когда Фрахт.СуммаУпр=0