|
|
|
Параметр в ХП для вычислений
|
|||
|---|---|---|---|
|
#18+
Доброе время суток! У меня задача состоит в следующем: в подчиненной форме "Заказ" присутствуют поля с суммой, НДС и т.д. Источником подчин. формы является хранимая процедура. Данные в полях Сумма, НДС вычисляются в ХП. Ставку НДС я пытаюсь передать в ХП с помощью пользовательской функции:@nds =GetLT(1)... GetLT() в свою очередь получает значение ставки НДС из локальной таблицы (©NSA) В SELECT ...,CONVERT(money, price *kolich * @nds) AS nds,... При попытке сохранить сообщение: Ошибка ADO: Must declare the variable 'nds'. Вопрос: 1) возможно ли такое применение входных параметров (во всех примерах входные параметры используются для отбора записей); 2) какой другой может быть способ построить форму с вычислениями. Заранее спасибо. P.S. ответы, если будут, увижу только завтра, поэтому прошу не ругаться на отсутствие реакции ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2004, 22:15:25 |
|
||
|
Параметр в ХП для вычислений
|
|||
|---|---|---|---|
|
#18+
Mожет я чего не понимаю, не настолько знаток T-SQL, но если nds - пользовательская функция на сервере, то причем здесь @? Он и требует переменную. Я вызываю функции. SELECT ...., dbo.GetlistNameObjA(ListOb.KodObj) as Obj.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 00:44:27 |
|
||
|
Параметр в ХП для вычислений
|
|||
|---|---|---|---|
|
#18+
Может ХП покажешь, чтоб не гадать на кофейной гуще + еще код вызова этой ХП из Акса ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 08:55:13 |
|
||
|
Параметр в ХП для вычислений
|
|||
|---|---|---|---|
|
#18+
To alexander G: В моей интерпритации @nds параметр сохраненной процедуры, значение которого определяется функцией GetLT(1). GetLT(1) -функция VBA. Она получает значение НДС из таблицы, в которой хранятся константы. to Paparome: ХП (если я правильно ее называю) является источником записей подчиненной формы frm_zakaz_t, соответсвенно, вызывается в момент открытия формы frm_zakaz. Вся процедура: ALTER procedure СохраненнаяПроцедура2 /* ( @nds =GetLT(1), @parameter2 datatype OUTPUT ) */ AS SELECT dbo.tbl_zakaz_det.*, CONVERT(money, price * (100 - ISNULL(discount, 0)) / 100 * kolich) AS summ, CONVERT(money, price * (100 - ISNULL(discount, 0)) / 100) AS price1, CONVERT(money, price * (100 - ISNULL(discount, 0)) / 100) * .18 AS nds, CONVERT(money, price * (100 - ISNULL(discount, 0)) / 100 * kolich * 0.18) AS summ_rnd FROM dbo.tbl_zakaz_det /* SET NOCOUNT ON */ RETURN В данном виде процедура работает. Я пытаюсь вместо 0,18 прицепить @nds. Что я делаю неправильно? Задним умом я думаю, что nds можно получить отдельным запросом из таблицы констант. P.S. спасибо за реакцию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2004, 22:08:48 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32598327&tid=1673287]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
41ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 343ms |

| 0 / 0 |
