powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отчет по опоздавшим
18 сообщений из 18, страница 1 из 1
Отчет по опоздавшим
    #39707589
Persik_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день! Давно здесь не была. 3 года прошло! Мне нужна Ваша помощь! Например: Сотрудников не должны попадать в отчет по опоздавшим. А остальное в отчет попадали. Как это сделать? Подскажите пожалуйста!
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707590
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пусть не опаздывают. Следующий
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707591
londinium
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persik_85,
начать с точной постановки задачи. Кто и куда не должен попадать, почему именно эти люди и так далее
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707626
Persik_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707630
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
londiniumPersik_85,
начать с точной постановки задачи. Кто и куда не должен попадать, почему именно эти люди и так далее

за 3 года разучилась
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707633
Persik_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
londinium,

У меня 4 отчетов: отчет по опоздавшим сотрудникам; отчет ушедшим раньше начала обеденного перерыва; отчет опоздавшего с обеденного перерыва; отчет ушедшим раньше положенного времени. Например: 50 сотрудников из 3 сотрудников не должны попадать в отчет опоздавшим. а остальное попадали в отчете. Как мне писать? Как это реализовать? Подскажите!!!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
ALTER procedure [dbo].[Late]
as
declare @date_time_now datetime
set @date_time_now=getdate()
if exists (select * from Calendar where [date]=cast(@date_time_now as date) and is_holiday=1)
	return

exec Update_Employee_cardno_acedb

declare @t table (rw nvarchar(100), nm nvarchar(100), ps nvarchar(100), st char(10), et char(10))
declare @rw nvarchar(100),@nm nvarchar(100),@ps nvarchar(100),@st char(10),@et char(10),@dpt nvarchar(100),@dpt_ nvarchar(100)
set @dpt_=''
declare cur_late cursor for
		select	ROW_NUMBER() over (order by d.id) rn,
				e.last_name+' '+e.first_name+' '+isnull(e.middle_name,'') [name],
				isnull(p.position_name,'-') position,
				t.start_time,
				coalesce(convert(char(5),ev.et,14),'-') event_time,
				d.dept_name
		from Employees.dbo.Employees e
		left join Employees.dbo.EmployeeStartTime t
			on e.employee_start_time_id=t.id
		left join Employees.dbo.EmployeePosition p
			on e.position_id=p.id
		inner join Employees.dbo.Department d
			on e.dept_id=d.id
		left join
		(
			select e.stringValue cardno, min(e.eventCreationTime) et
			from BIS.BISEventLog.dbo.vw_LogEvent e
			where e.eventCreationTime between 
						convert(char(11),@date_time_now,21)+'01:00' and @date_time_now
					and e.addressId in (8444,77,16471,16472,16631,16632,18606,18608) -- вход
					and e.eventValueName='CARDNO'
					and e.eventtypeid=1
			group by e.stringValue
		) ev 
			on ev.cardno=e.card_no collate Latin1_General_CI_AS
		where e.active=1
				and (ev.et>convert(char(11),@date_time_now,21)+dateadd(minute,5,t.start_time)--'08:34:59' 
						or ev.et is null)
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707636
Фотография Гадя Петрович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сурово в казахстане гайки закручивают...
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707637
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persik_85 londinium,

У меня 4 отчетов: отчет по опоздавшим сотрудникам; отчет ушедшим раньше начала обеденного перерыва; отчет опоздавшего с обеденного перерыва; отчет ушедшим раньше положенного времени. Например: 50 сотрудников из 3 сотрудников не должны попадать в отчет опоздавшим. а остальное попадали в отчете. Как мне писать? Как это реализовать? Подскажите!!!
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
ALTER procedure [dbo].[Late]
as
declare @date_time_now datetime
set @date_time_now=getdate()
if exists (select * from Calendar where [date]=cast(@date_time_now as date) and is_holiday=1)
	return

exec Update_Employee_cardno_acedb

declare @t table (rw nvarchar(100), nm nvarchar(100), ps nvarchar(100), st char(10), et char(10))
declare @rw nvarchar(100),@nm nvarchar(100),@ps nvarchar(100),@st char(10),@et char(10),@dpt nvarchar(100),@dpt_ nvarchar(100)
set @dpt_=''
declare cur_late cursor for
		select	ROW_NUMBER() over (order by d.id) rn,
				e.last_name+' '+e.first_name+' '+isnull(e.middle_name,'') [name],
				isnull(p.position_name,'-') position,
				t.start_time,
				coalesce(convert(char(5),ev.et,14),'-') event_time,
				d.dept_name
		from Employees.dbo.Employees e
		left join Employees.dbo.EmployeeStartTime t
			on e.employee_start_time_id=t.id
		left join Employees.dbo.EmployeePosition p
			on e.position_id=p.id
		inner join Employees.dbo.Department d
			on e.dept_id=d.id
		left join
		(
			select e.stringValue cardno, min(e.eventCreationTime) et
			from BIS.BISEventLog.dbo.vw_LogEvent e
			where e.eventCreationTime between 
						convert(char(11),@date_time_now,21)+'01:00' and @date_time_now
					and e.addressId in (8444,77,16471,16472,16631,16632,18606,18608) -- вход
					and e.eventValueName='CARDNO'
					and e.eventtypeid=1
			group by e.stringValue
		) ev 
			on ev.cardno=e.card_no collate Latin1_General_CI_AS
		where e.active=1
				and (ev.et>convert(char(11),@date_time_now,21)+dateadd(minute,5,t.start_time)--'08:34:59' 
						or ev.et is null)



50 из 3 - это сила.
Если у вас нет никаких признаков, а надо зашить исключения явно, то так и напишите
Код: sql
1.
 and e.id not in(1,2,3)
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707638
Persik_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
256klondiniumPersik_85,
начать с точной постановки задачи. Кто и куда не должен попадать, почему именно эти люди и так далее

за 3 года разучилась
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707641
Persik_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Посетитель

50 из 3 - это сила.
Если у вас нет никаких признаков, а надо зашить исключения явно, то так и напишите
Код: sql
1.
 and e.id not in(1,2,3)



У меня 850 сотрудников. Есть ли другой вариант?
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707645
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persik_85Посетитель
50 из 3 - это сила.
Если у вас нет никаких признаков, а надо зашить исключения явно, то так и напишите
Код: sql
1.
 and e.id not in(1,2,3)



У меня 850 сотрудников. Есть ли другой вариант?
оставьте только тех троих кого надо карать
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707646
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persik_85Посетитель
50 из 3 - это сила.
Если у вас нет никаких признаков, а надо зашить исключения явно, то так и напишите
Код: sql
1.
 and e.id not in(1,2,3)




У меня 850 сотрудников. Есть ли другой вариант?

наверняка. но вы же не озвучили, по каким признакам отделить мух от котлет.
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707658
Persik_85
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ок. попробую.
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707664
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persik_85 londinium,

У меня 4 отчетов: отчет по опоздавшим сотрудникам; отчет ушедшим раньше начала обеденного перерыва; отчет опоздавшего с обеденного перерыва; отчет ушедшим раньше положенного времени. Например: 50 сотрудников из 3 сотрудников не должны попадать в отчет опоздавшим . а остальное попадали в отчете. Как мне писать? Как это реализовать? Подскажите!!!
[/src]

50 из 3-х - это вип
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707670
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persik_85,

Создайте таблицу с EmployeeId DateFrom DateInto проплативших сотрудников за определённый период. И исключайте их :)
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707760
982183
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Электронная проходная?
Кто производитель и чей софт?
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707763
Фотография komrad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
982183Электронная проходная?
Кто производитель и чей софт?
вангую
Bosch Security Systems
...
Рейтинг: 0 / 0
Отчет по опоздавшим
    #39707781
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Persik_85Посетитель
50 из 3 - это сила.
Если у вас нет никаких признаков, а надо зашить исключения явно, то так и напишите
Код: sql
1.
 and e.id not in(1,2,3)



У меня 850 сотрудников. Есть ли другой вариант?

можно захрдкодировать тех опаздывающих, потом наверняка надо будет печатать листовки по ним, с возмущением жителей
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Отчет по опоздавшим
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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