Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Denis
Зарегистрирован: 01.06.2011 Сообщения: 39
|
Добавлено: Ср Окт 23, 2013 14:41 Заголовок сообщения: Не выполняется код |
|
|
Добрый день!
Уже который час бьюся с небольшим кодом.
Работаю со списком zrp_lst_emps_key
Необходимо добавить проверку с какой роли зашли в модуль.
В соответствии с ролью часть сотрудников будет скрыта, чтобы не попадать в формируемую ведомость.
Собственно код чуть ниже. То что выделено, то добавлено мной
При отдельной проверке, добавленное условие выполняется. Роль определяется и соответственно отрабатывает alias
При вставке условия в код возникает ошибка "Incorrect syntax near _ccc_"
Подскажите что я тут упустил или сделал не так?
@zrp_Look_emp5
If (select role_code from role where role_code=@@role_code) <> 'FSORZ_ZP' then ALIAS _ccc_ = and s.Struct_root = 6;
SELECT
Emps.emps_id,
Emps.Num_Tab,
Emps.fName,
Emps.Code_struct_name,
Emps.st,
T.work_type,
Emps.auto_card,
S.Struct_Name,
(CASE
WHEN people.out_date < @@d_from THEN char(4)+'icw95mbx01'
WHEN people.out_date <> '2099-01-01' AND people.out_date >= @@d_from THEN char(4)+'icw95mbx03' ELSE ''
END),
Emps.pId,
people.out_date[%x],
(CASE WHEN emps.check_ON > 0 THEN '>' ELSE '' END)
FROM
emps _HINTBROWSER
INNER JOIN
vpr_wk_type T _HINTBROWSER ON Emps.work_code = T.work_code
INNER JOIN
people _HINTBROWSER ON Emps.pId = people.pId
INNER JOIN
structs S _hintbrowser ON Emps.Code_struct_name = S.Struct_Code
WHERE /*{&&}*/
Emps.st = CURSTATION
_ccc_
_FILTER_
ORDER BY
Emps.fName |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Ср Окт 23, 2013 14:50 Заголовок сообщения: |
|
|
1 Нет объявления переменной
LOCAL _ccc_ := '';
2 Далее присвоение ... будем считать, что есть ...
хотя я бы в запросе добавил TOP 1 |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Ср Окт 23, 2013 14:52 Заголовок сообщения: |
|
|
а IF после имени запроса, надеюсь, опечатка?
@zrp_Look_emp5
If (select role_code from role where role_code=@@role_code) <> 'FSORZ_ZP' then ALIAS _ccc_ = and s.Struct_root = 6;
SELECT |
|
Вернуться к началу |
|
 |
Denis
Зарегистрирован: 01.06.2011 Сообщения: 39
|
Добавлено: Ср Окт 23, 2013 15:10 Заголовок сообщения: |
|
|
RVV писал(а): | а IF после имени запроса, надеюсь, опечатка? |
Не опечатка...
Перекинул условие выше и получилось
Благодарю! |
|
Вернуться к началу |
|
 |
RVV Большой шоколадный орден

Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Ср Окт 23, 2013 15:32 Заголовок сообщения: |
|
|
А что делает вообще этот запрос?
select role_code from role where role_code=@@role_code
не проще сразу сравнить
if @@role_code <> 'FSORZ_ZP' |
|
Вернуться к началу |
|
 |
|