powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вычисляемое поле в таблице - использование в нем If...Else
9 сообщений из 9, страница 1 из 1
Вычисляемое поле в таблице - использование в нем If...Else
    #32020230
Mitrish_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблице по заключенным договорам (Dogovora) созданы 2 поля Summa (money)и NDS (bit)
Поле Summa содержит сумму по договору, а поле NDS - Истина или 1 если данная сумма облагается налогом на добавленную стоимость(НДС) и Ложь или 0 если не облагается.
Хотел (но не смог) сделать вычисляемое поле NDS_summa (money)значение в котором вычисляется в зависимости от значения поля NDS (bit). В общем условие имеет вид:
If NDS="Истина" then NDS_summa=Summa/6
else NDS_summa=0
Подсажите пожалуйста новичку, можно ли (и как??) вставить в вычисляемое поле подобное условие.
...
Рейтинг: 0 / 0
Вычисляемое поле в таблице - использование в нем If...Else
    #32020231
MadDog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Mitrish_v:
Попробуйте функцию case - как раз для Вашего случая.
Будет что-то вроде:
NDS_summa = (case when NDS="Истина" then Summa/6 else 0 end)
...
Рейтинг: 0 / 0
Вычисляемое поле в таблице - использование в нем If...Else
    #32020259
Moth
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А зачем это хранить в таблице.
Ну считай где дадо.
Или сделай поле НДС money и хай в него колотят ндс, если 0 то без НДС.
И битовое поле не нужно.

Moth.
...
Рейтинг: 0 / 0
Вычисляемое поле в таблице - использование в нем If...Else
    #32020268
Mitrish_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, MadDog. Вы мне очень помогли.
>Moth:

>Или сделай поле НДС money и хай в него колотят ндс, если 0 то без НДС.
>И битовое поле не нужно.
Ну можно и так, но тогда возрастает вероятность того что данные внесут неправильно, да и дольше (тем более мне кажется прийдется поначалу самому базу наполнять - вот и забочусь о себе )
...
Рейтинг: 0 / 0
Вычисляемое поле в таблице - использование в нем If...Else
    #32020271
Заводить НДС в формулу потенциально вредно. Я на этом накололся. Дело в том, что НДС не есть величина постоянная. Она меняется, причем в самый неожиданный момент. Например, для таможенных товаров (то снимут, то поставят, то уполовинят, то уполнят). Для разных категорий товаров она разная, причем перечень товаров с уменьшенным НДС (товары первой необходимости) все время меняется, соотв. пляшет НДС. Сейчас вот с 1 янв. ввели, например, для лекарств НДС, хотя ранее не было. Теперь, вроде, опять хотят снять.
В связи с этим считаю целесообразным для хранения НДС делать специально сервис ввода и хранения НДС, как функцию времени и типа товара. А для расчета сумм с НДС использовать хранимую процедуру или UDF с соотв. параметрами (время, товар).
...
Рейтинг: 0 / 0
Вычисляемое поле в таблице - использование в нем If...Else
    #32020288
MadDog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Mitrish_v:
Если отвлечься от применения функции case, господин Уфимцев сделал важное практическое замечание,- в случае изменения ставки НДС, Вы получите не корректные исторические данные если "зашьете" ставку НДС в формулу.
Заведите таблицу ставок НДС и извлекайте данные из нее с помощью UDF. Вычисляемое поле при этом сохранит свою функциональность.
...
Рейтинг: 0 / 0
Вычисляемое поле в таблице - использование в нем If...Else
    #32020335
Mitrish_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Внял, проникся и внедряю
...
Рейтинг: 0 / 0
Вычисляемое поле в таблице - использование в нем If...Else
    #32020358
Mitrish_v
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
... и сделал грубее но проще:
Добавил поле K-NDS содержащее в себе коэффициент увеличения стоимости на НДС (20% - 1,2 и.т.д.)с значением по умолчанию равным 1,2 и в вычисляемых полях формулы скорректировал с учетом этого коэффициента
...
Рейтинг: 0 / 0
Вычисляемое поле в таблице - использование в нем If...Else
    #32020369
Фотография Garya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тоже считаю, что зашивать логику расчета НДС насмерть нельзя. Сумма НДС должна быть корректируемая. Посему я предпочитаю назначить в качестве значения по умолчанию UDF, которая будет вычислять 20%-ный НДС. А в случае необходимости ручеками его можно подправить на тот, который нужно.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вычисляемое поле в таблице - использование в нем If...Else
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]