Справочники.СтавкиНДС

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

Товары.ТаможенныйСбор + ВЫБОР
	КОГДА Товары.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС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
КОНЕЦ
Показать
По теме из базы знаний
Найденные решения
6. -AI- 21.06.22 15:42 Сейчас в теме
(5) ну тогда левое соединение - и в путь...
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
7. Zevzm 21.06.22 16:01 Сейчас в теме
(1) Добрый день. В ЕРП у справочника есть реквизит "ПеречислениеСтавкаНДС", который ссылается на перечисление. Может его проверять через точку, конечно за такое бьют по рукам из-за лишнего соединения, но Справочник "СтавкиНДС" микроскопический.
8. spacecraft 21.06.22 16:45 Сейчас в теме
(1) можно же по наименованию (или может другой подходящий реквизит есть) элемента справочника сравнивать.
2. -AI- 21.06.22 15:36 Сейчас в теме
а если сделать через временную таблицу
Выбрать ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18) КАК Ставка, 0.18 КАК Значение
Поместить СтавкиНДС
Объединить ВСЕ
Выбрать ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20), 0.20
// и т.д.
а потом соединение с этой таблицей сделать..
3. LomayaZakat 21.06.22 15:38 Сейчас в теме
(2)Нет. Основная проблема, что раньше СтавкаНДС была перечисление, теперь это справочник. Смотри тему.
4. -AI- 21.06.22 15:40 Сейчас в теме
(3) у справочника отменили предопределенные элементы?
они тож через Значение легко используются в запросах....
5. LomayaZakat 21.06.22 15:40 Сейчас в теме
(4)Оставили только БезНДС
6. -AI- 21.06.22 15:42 Сейчас в теме
(5) ну тогда левое соединение - и в путь...
9. LomayaZakat 22.06.22 10:21 Сейчас в теме
(6)Да, через левое вполне логично
|	ВЫБОР
	        |		КОГДА Фрахт.СуммаУпр > 0
	        |			ТОГДА Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность + Фрахт.СуммаУпр
	        |		ИНАЧЕ Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность
	        |	КОНЕЦ КАК ТаможеннаяСтоимость,
	        |	ВЫБОР
	        |		КОГДА Фрахт.СуммаУпр > 0
	        |			ТОГДА (Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность + Фрахт.СуммаУпр) * СтавкиНДС.Ставка * 0.01
	        |		ИНАЧЕ Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность * СтавкиНДС.Ставка * 0.01
	        |	КОНЕЦ КАК СуммаНДС,
	        |	Товары.ТаможенныйСбор + ВЫБОР
	        |		КОГДА Фрахт.СуммаУпр > 0
	        |			ТОГДА (КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность + Фрахт.СуммаУпр) * СтавкиНДС.Ставка * 0.01
	        |		ИНАЧЕ КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность * СтавкиНДС.Ставка * 0.01
	        |	КОНЕЦ КАК ТаможенныйПлатеж,
	        |	Товары.Сумма * КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность КАК СуммаУпр
	        |ИЗ
	        |	Товары КАК Товары
	        |		ЛЕВОЕ СОЕДИНЕНИЕ Фрахт КАК Фрахт
	        |		ПО Товары.ЗаказПоставщику = Фрахт.ЗаказПоставщику
	        |			И Товары.Номенклатура = Фрахт.Номенклатура
	        |		ЛЕВОЕ СОЕДИНЕНИЕ СтавкиНДС КАК СтавкиНДС
	        |		ПО Товары.СтавкаНДС = СтавкиНДС.Ссылка,
	        |	КурсыВалютСрез КАК КурсыВалютСрез
Показать
10. -AI- 22.06.22 11:59 Сейчас в теме
(9)
ВЫБОР
КОГДА Фрахт.СуммаУпр > 0
ТОГДА (КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность + Фрахт.СуммаУпр) * СтавкиНДС.Ставка * 0.01
ИНАЧЕ КурсыВалютСрез.Курс / КурсыВалютСрез.Кратность * СтавкиНДС.Ставка * 0.01
а зачем нужна такая конструкция?

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

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

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот