Независимый форум, посвященный системе БОСС-Кадровик и всему, что с ней связано
|
|
Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Mike Большой шоколадный орден
Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Чт Янв 19, 2012 18:33 Заголовок сообщения: Диалог список Lookup |
|
|
Добрый всем день,
Процедура диалога:
Код: | /* Диалог пользователя */
alias _dlgresource = {
(0,0,340,140, 0x8000);
/*Выбираем год*/
E,(25,34,60,20, 0x0),'Год',(70,32,70,20, 0x104),1,{SELECT DATEPART(year, GETDATE())-3 AS 'Год'
UNION SELECT DATEPART(year, GETDATE())-2 AS 'Год'
UNION SELECT DATEPART(year, GETDATE())-1 AS 'Год'
UNION SELECT DATEPART(year, GETDATE()) AS 'Год'
UNION SELECT DATEPART(year, GETDATE())+1 AS 'Год'
UNION SELECT DATEPART(year, GETDATE())+2 AS 'Год'
UNION SELECT DATEPART(year, GETDATE())+3 AS 'Год'},0,1,1;
/*Выбираем месяц*/
E,(25,64,80,20, 0x0),'Месяц',(70,62,90,20, 0x04),2,{SELECT 1 AS 'Номер', 'Январь' as 'Месяц'
UNION SELECT 2 AS 'Номер', 'Февраль' as 'Месяц'
UNION SELECT 3 AS 'Номер', 'Март' as 'Месяц'
UNION SELECT 4 AS 'Номер', 'Апрель' as 'Месяц'
UNION SELECT 5 AS 'Номер', 'Март' as 'Месяц'
UNION SELECT 6 AS 'Номер', 'Июнь' as 'Месяц'
UNION SELECT 7 AS 'Номер', 'Июль' as 'Месяц'
UNION SELECT 8 AS 'Номер', 'Август' as 'Месяц'
UNION SELECT 9 AS 'Номер', 'Сентябрь' as 'Месяц'
UNION SELECT 10 AS 'Номер', 'Октябрь' as 'Месяц'
UNION SELECT 11 AS 'Номер', 'Ноябрь' as 'Месяц'
UNION SELECT 12 AS 'Номер', 'Декабрь' as 'Месяц'},0,2,1;
/*Рисуем рамку*/
X,(10,17,160,80, 0x0001);
T,(50,10,60,20, 0x0),'За период';
6,(LET { _dt1 = @Date_:1; _dt2 = @Date_:2;};);
};
DIALOG {
@Date_
SELECT @@TYear, null
},,'~Свобдная справка №5 (сотрудники с вредными усл. труда)';
IF _Result <> 10 THEN (DESTROY @Date_; ERROR;);
DESTROY @Date_;
/* Конец диалога пользователя */ |
Если попробовать больше одного раза поменять значение поля, где указывается год, то выдает ошибку:
Шоделать? |
|
Вернуться к началу |
|
|
RVV Большой шоколадный орден
Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Чт Янв 19, 2012 19:25 Заголовок сообщения: |
|
|
/* Диалог пользователя */
alias _dlgresource = {
(0,0,340,140, 0x8000);
/*Выбираем год*/
E,(25,34,60,20, 0x0),'Год',(70,32,70,20, 0x104),1,{SELECT DATEPART(year, GETDATE())-3 AS 'Год'
UNION SELECT DATEPART(year, GETDATE())-2
UNION SELECT DATEPART(year, GETDATE())-1
UNION SELECT DATEPART(year, GETDATE())
UNION SELECT DATEPART(year, GETDATE())+1
UNION SELECT DATEPART(year, GETDATE())+2
UNION SELECT DATEPART(year, GETDATE())+3 },0,1,1;
/*Выбираем месяц*/
E,(25,64,80,20, 0x0),'Месяц',(70,62,90,20, 0x04),2,{SELECT 1 AS 'Номер', 'Январь' as 'Месяц'
UNION SELECT 2 AS 'Номер', 'Февраль'
UNION SELECT 3 AS 'Номер', 'Март'
UNION SELECT 4 AS 'Номер', 'Апрель'
UNION SELECT 5 AS 'Номер', 'Март'
UNION SELECT 6 AS 'Номер', 'Июнь'
UNION SELECT 7 AS 'Номер', 'Июль'
UNION SELECT 8 AS 'Номер', 'Август'
UNION SELECT 9 AS 'Номер', 'Сентябрь'
UNION SELECT 10 AS 'Номер', 'Октябрь'
UNION SELECT 11 AS 'Номер', 'Ноябрь'
UNION SELECT 12 AS 'Номер', 'Декабрь'},0,2,1;
/*Рисуем рамку*/
X,(10,17,160,80, 0x0001);
T,(50,10,60,20, 0x0),'За период';
6,(LET { _dt1 = @Date_:1; _dt2 = @Date_:2;};
};
DIALOG {
@Date_
SELECT @@TYear, null
},,'~Свобдная справка №5 (сотрудники с вредными усл. труда)';
IF _Result <> 10 THEN (DESTROY @Date_; ERROR;);
DESTROY @Date_;
/* Конец диалога пользователя */ |
|
Вернуться к началу |
|
|
Mike Большой шоколадный орден
Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Пт Янв 20, 2012 10:10 Заголовок сообщения: |
|
|
Спасибо, но не помогло
Переписал вот так:
Код: | /* Диалог пользователя */
alias _dlgresource = {
(0,0,340,140, 0x8000);
/*Выбираем год*/
E,(25,34,60,20, 0x0),'Год',(70,32,70,20, 0x104),1,{ select tyear from hrvw_year_look
where tyear between (DATEPART(year,GETDATE())-5) and (DATEPART(year,GETDATE())+2)
},0,1,1;
/*Выбираем месяц*/
E,(25,64,80,20, 0x0),'Месяц',(70,62,90,20, 0x04),2,{SELECT 1 AS 'Номер', 'Январь' as 'Месяц'
UNION SELECT 2 AS 'Номер', 'Февраль'
UNION SELECT 3 AS 'Номер', 'Март'
UNION SELECT 4 AS 'Номер', 'Апрель'
UNION SELECT 5 AS 'Номер', 'Март'
UNION SELECT 6 AS 'Номер', 'Июнь'
UNION SELECT 7 AS 'Номер', 'Июль'
UNION SELECT 8 AS 'Номер', 'Август'
UNION SELECT 9 AS 'Номер', 'Сентябрь'
UNION SELECT 10 AS 'Номер', 'Октябрь'
UNION SELECT 11 AS 'Номер', 'Ноябрь'
UNION SELECT 12 AS 'Номер', 'Декабрь'},0,2,1;
/*Рисуем рамку*/
X,(10,17,160,80, 0x0001);
T,(50,10,60,20, 0x0),'За период';
6,(LET { _dt1 = @Date_:1; _dt2 = @Date_:2;});
};
DIALOG {
@Date_
SELECT DATEPART(year,GETDATE()), null
},,'~Свобдная справка №5 (сотрудники с вредными усл. труда)';
IF _Result <> 10 THEN (DESTROY @Date_; ERROR;);
DESTROY @Date_;
/* Конец диалога пользователя */ |
|
|
Вернуться к началу |
|
|
RVV Большой шоколадный орден
Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пт Янв 20, 2012 10:54 Заголовок сообщения: |
|
|
Странно, у меня на машине мой вариант работает ... |
|
Вернуться к началу |
|
|
Mike Большой шоколадный орден
Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Пт Янв 20, 2012 11:35 Заголовок сообщения: |
|
|
Проверил еще раз Ваш вариант, у меня действительно не работает =( |
|
Вернуться к началу |
|
|
Nemoxur
Зарегистрирован: 30.04.2010 Сообщения: 49
|
Добавлено: Вт Янв 24, 2012 17:53 Заголовок сообщения: |
|
|
Если в наименовании полей убрать AS 'Год' то всё будет работать |
|
Вернуться к началу |
|
|
RVV Большой шоколадный орден
Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Ср Янв 25, 2012 09:04 Заголовок сообщения: |
|
|
+1
Да, точно ... у Х языка есть проблемы с конструкцией AS.
Например: с командой ALIAS ее вообще КАТЕГОРИЧЕСКИ нельзя использовать. |
|
Вернуться к началу |
|
|
Олег
Зарегистрирован: 02.04.2012 Сообщения: 36
|
Добавлено: Пт Апр 13, 2012 05:37 Заголовок сообщения: |
|
|
Здравствуйте.
Обьясните что происходит.
Не понятен синтаксис:
Код: | ALIAS _hrvw_people_look = {and auto_card <> @$DLGT:Auto_Card_temp}; |
а конкретно, н понятно что такое _hrvw_people_look = {and auto_card; т.е. что значит "={and" _________________ Очень благодарен, за помощ, здешнему району сети и его обитателям. |
|
Вернуться к началу |
|
|
Mike Большой шоколадный орден
Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Пт Апр 13, 2012 09:19 Заголовок сообщения: |
|
|
Олег писал(а): | Здравствуйте.
Обьясните что происходит.
Не понятен синтаксис:
Код: | ALIAS _hrvw_people_look = {and auto_card <> @$DLGT:Auto_Card_temp}; |
а конкретно, н понятно что такое _hrvw_people_look = {and auto_card; т.е. что значит "={and" |
Переменной _hrvw_people_look присваивают значение and auto_card <> @$DLGT:Auto_Card_temp
Можно тоже самое написать без скобой фигурных:
ALIAS _hrvw_people_look = and auto_card <> @$DLGT:Auto_Card_temp; |
|
Вернуться к началу |
|
|
Олег
Зарегистрирован: 02.04.2012 Сообщения: 36
|
Добавлено: Пн Апр 16, 2012 06:47 Заголовок сообщения: |
|
|
Цитата: | Переменной _hrvw_people_look присваивают значение and auto_card <> @$DLGT:Auto_Card_temp
|
and - это "И"
Если нужно присвоить значение переменной, то Код: | ALIAS _hrvw_people_look = auto_card; | , а у нас Код: | ALIAS _hrvw_people_look = and auto_card; | .
Какую роль играет конкретно слово AND? |
|
Вернуться к началу |
|
|
Mike Большой шоколадный орден
Зарегистрирован: 07.04.2011 Сообщения: 255
|
Добавлено: Пн Апр 16, 2012 09:24 Заголовок сообщения: |
|
|
Олег писал(а): | Цитата: | Переменной _hrvw_people_look присваивают значение and auto_card <> @$DLGT:Auto_Card_temp
|
and - это "И"
Если нужно присвоить значение переменной, то Код: | ALIAS _hrvw_people_look = auto_card; | , а у нас Код: | ALIAS _hrvw_people_look = and auto_card; | .
Какую роль играет конкретно слово AND? |
Скорее всего переменная _hrvw_people_look подставляется в запрос, в секцию where и идет как минимум 2ым условием, что говорит о том, что должно быть вначале "AND". |
|
Вернуться к началу |
|
|
RVV Большой шоколадный орден
Зарегистрирован: 14.01.2010 Сообщения: 449
|
Добавлено: Пн Апр 16, 2012 11:06 Заголовок сообщения: |
|
|
+1 |
|
Вернуться к началу |
|
|
Олег
Зарегистрирован: 02.04.2012 Сообщения: 36
|
Добавлено: Пн Апр 16, 2012 11:16 Заголовок сообщения: |
|
|
Спасибо _________________ Очень благодарен, за помощ, здешнему району сети и его обитателям. |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|