Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вычисляемое поле в таблице - использование в нем If...Else / 9 сообщений из 9, страница 1 из 1
06.01.2002, 13:56
    #32020230
Mitrish_v
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в таблице - использование в нем If...Else
В таблице по заключенным договорам (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
06.01.2002, 14:26
    #32020231
MadDog
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в таблице - использование в нем If...Else
2 Mitrish_v:
Попробуйте функцию case - как раз для Вашего случая.
Будет что-то вроде:
NDS_summa = (case when NDS="Истина" then Summa/6 else 0 end)
...
Рейтинг: 0 / 0
07.01.2002, 23:54
    #32020259
Moth
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вычисляемое поле в таблице - использование в нем If...Else
А зачем это хранить в таблице.
Ну считай где дадо.
Или сделай поле НДС money и хай в него колотят ндс, если 0 то без НДС.
И битовое поле не нужно.

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

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


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