Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.10.14;
Скачать: CL | DM;

Вниз

Подсчет выходных, предвыходных, праздничных ипредпраздничных дней   Найти похожие ветки 

 
Кадровик   (2007-09-12 16:02) [0]

Добрый день мастера !
Сущействует ли готовый алгоритм расчета сабжевых дней ?
Именно алгоритм, а если нет, то что посоветуете.

зы. Модуль подсчета для 1С не предлагать !

Мое видение - работа со списком праздничных дат, а выходные и так можна определить используя дату.


 
boriskb ©   (2007-09-12 16:05) [1]


>  а выходные и так можна определить используя дату.


А ежегодные переносы выходных?
Стандарт де факто - календарь выходных дней.
А вот вид - на усмотрение


 
Вася Правильный   (2007-09-12 16:06) [2]

никакого расчета нет, всебрется из годового табеля с текущими поправками, прошедшими приказом
а в табель - согласно постановлений правительства


 
clickmaker ©   (2007-09-12 16:06) [3]


> предвыходных, праздничных ипредпраздничных дней

а послепраздничных не забыл?


 
Кадровик   (2007-09-12 16:08) [4]

Вот захотел написать программу учета рабочего времени и сделать расчет табеля. Все бы хорошо, а как быть с сабжевыми днями ?


 
clickmaker ©   (2007-09-12 16:10) [5]


> программу учета рабочего времени

а чего там учитывать?
И так все знают: сигарета сокращает жизнь на час, один рабочий день - на восемь...


 
Кадровик   (2007-09-12 16:11) [6]


>
> > предвыходных, праздничных ипредпраздничных дней
>
> а послепраздничных не забыл

Дело в том, что фирма может работать в предвыходные и предпраздничные по разному !  Да еще 1 час перед праздником нужно не забывать.


 
Кадровик   (2007-09-12 16:12) [7]

Может у кого есть готовое решение на языке Паскаль ?


 
boriskb ©   (2007-09-12 16:15) [8]


> Кадровик

Ты бы сходил к настоящему кадровику - он знает как рабочее время учитывается


 
clickmaker ©   (2007-09-12 16:18) [9]


> [7] Кадровик   (12.09.07 16:12)

ишшо один любитель халявы...
нет, не будет этой стране щастья. Ни в праздник, ни после...

var
 Days: array[0..365] of boolean;

if Days[DayOfTheYear(Date)] then
 праздничный
else if Days[DayOfTheYear(Date) + 1]
 предпраздничный
else
 рабочий

поставить единички в массиве в нужных позициях - домашнее задание


 
clickmaker ©   (2007-09-12 16:19) [10]


> Ты бы сходил к настоящему кадровику

гы..
"Вот вы мне такие вопросы задаете, а я ведь не настоящий сварщик"
(c)


 
Кадровик   (2007-09-12 16:21) [11]


> Ты бы сходил к настоящему кадровику - он знает как рабочее
> время учитывается

Уже общался, он показал мне готовую таблицу с расчетом на каждый месяц и на год, только там деление на рабочие, выходные, праздничные и предпраздничные. А я хочу расчитать количество дней:

понедельников, вторников, сред, четвергов, пятниц, суббот и воскресений. А также сколько из них попадает на выходные и праздничные !


 
Кадровик   (2007-09-12 16:25) [12]


> if Days[DayOfTheYear(Date)] then
>  праздничный
> else if Days[DayOfTheYear(Date) + 1]
>  предпраздничный
> else
>  рабочий


А я сначала отмечал праздничный, а потом отнимал единицу и проверял на предпраздничный. Укажите мне почему именно так вы делали ?


 
clickmaker ©   (2007-09-12 16:28) [13]


> [12] Кадровик   (12.09.07 16:25)

я вообще никак не делал. Мне пофиг. Не по этим делам.
Это общая схема. Если что-то конкретно не получается - спрашивай. А так - слишком абстрактно "дайте мне код", дескать и всё


 
Кадровик   (2007-09-12 16:28) [14]

Да
> clickmaker ©   (12.09.07 16:18) [9]


спасибо за помощь, но хотелось бы уточнить почему я халявщик ?


 
clickmaker ©   (2007-09-12 16:30) [15]


> почему я халявщик ?

а кто? партнер? :) так партнерам принято отстегивать

Может у кого есть готовое решение

Any more questions?


 
Кадровик   (2007-09-12 16:32) [16]

Я имел ввиду, что может проще купить. Хотя я догадываюсь, вы телепат !


 
Ega23 ©   (2007-09-12 16:39) [17]

1. Вводим понятие "Тип дня" : Рабочий, Суббота, Воскресенье, Праздничный, Сокращённый, Рабочий в выходной, Нерабочий в рабочий
2. Вводим список праздников (можно разбить на федеральные и отраслевые; я всё в одной таблице вёл). Пример:
01.01 - Новый Год 1 января
02.01 - Новый Год 2 января
07.01 - Рождество Христово
23.02 - День Защитника Отечества
08.03 - Международный Женский День
......
(Полный список федеральных праздников можно в сети найти, у меня устаревшие данные)

Далее формируем "Календарь на 20хх год".
Автоматически проставляется каждому Понедельник-Пятница тип "Рабочий", субботе - "Суббота", Воскресенью - "Воскресенье", праздничным дням - "Праздник"

Далее вручную корректируем типы дней, ставя тем, которым надо "Сокращённый", тем, кто на промежуток между воскресеньем и праздником (если праздник, например, во вторник) попадает ставим "Нерабочий в рабочий" и т.п.

А вот как учёт рабочего времени делать - это уже отдельная история. Чёткого алгоритма не существует.


 
Ega23 ©   (2007-09-12 16:43) [18]

В общем, если есть желание купить, то могу такую штуку написать, ибо опыт в этом деле достаточно богатый.
Но денег тоже возьму немало. :)


 
Кадровик   (2007-09-12 16:53) [19]

EGA23, большое спасибо за совет. А как дело обстоит с переносами праздничных дней ? Ведь информацию о них не всегда вовремья рассылают.


 
tesseract ©   (2007-09-12 16:54) [20]


> зы. Модуль подсчета для 1С не предлагать !


Хорошо не предлагаю. Могу предложить календарь расчёта  дней брать из него. Потому, как ГосДума любит оптимизировать праздники.


> А вот как учёт рабочего времени делать - это уже отдельная
> история. Чёткого алгоритма не существует.


Почему? Существуют несколько видов работ. Сдельная/наёмная/контрактная. Вид учёта времени - дневная/почасовая/ по результатам.

Всё не так сложно. Это не партионный учёт писать.


 
Denis_ ©   (2007-09-12 16:56) [21]

А зачем там 0?
> var
>  Days: array[0..365] of boolean;


 
Alien1769 ©   (2007-09-12 17:00) [22]


> Denis_ ©   (12.09.07 16:56) [21]
> А зачем там 0?
> > var
> >  Days: array[0..365] of boolean;


напомнить про высокосный год.

Автору: могу предложить модуль расчета времени на любой год. Только надо вносить информацию о церковных праздниках. Но как сказал EGA23 это стоит денег и не малых.


 
clickmaker ©   (2007-09-12 17:01) [23]


> [21] Denis_ ©   (12.09.07 16:56)

[1..366]
так лучше? :)


 
clickmaker ©   (2007-09-12 17:02) [24]


> Только надо вносить информацию о церковных праздниках

насколько я помню отрывной календарик, они чуть ли не каждый день :)


 
Alien1769 ©   (2007-09-12 17:03) [25]


> насколько я помню отрывной календарик, они чуть ли не каждый
> день :)

маладца, нашел к чему придраться :)


 
zdm77   (2007-09-12 17:05) [26]

почти ни чего не прочел. А не проще....залесть в инет. скачать на год календарь рабочих дней придуманный правительством. создать табличку, в которую внести сеи даты + возможные послепраздничные дни или дни конторы... ну и флаг в руки, чо мумукаться?


 
clickmaker ©   (2007-09-12 17:07) [27]


> [25] Alien1769 ©   (12.09.07 17:03)

да я не придираюсь. Работа только встанет же, если все это учитывать :)


 
zdm77   (2007-09-12 17:07) [28]


> Кадровик   (12.09.07 16:02)  

в смысле, на счет кода? готовую прогу предоставить? ...ты так тут не шути... тут люди добрые... странно, что интересных предложений с посланиями не последовало :)


 
Ega23 ©   (2007-09-12 17:10) [29]


> А как дело обстоит с переносами праздничных дней ? Ведь
> информацию о них не всегда вовремья рассылают.


За отдельную денежку готов разработать программу.
Повторюсь, опыт есть. Как в расчёте табелей, так и в корректировке данных в блоках Системы Управления Доступом


 
clickmaker ©   (2007-09-12 17:11) [30]


> странно, что интересных предложений с посланиями не последовало

"Вы молодой, у Вас все еще спереди" :)


 
zdm77   (2007-09-12 17:11) [31]


> Ega23 ©   (12.09.07 17:10) [29]

вот как денег касается, все оказывается всё знают.... ;)


 
Alien1769 ©   (2007-09-12 17:12) [32]


> clickmaker ©   (12.09.07 17:07) [27]

Видишь ли, в нашей отрасле он очень важен. Спроси Олега, он просветит !


 
zdm77   (2007-09-12 17:12) [33]


> clickmaker ©   (12.09.07 17:11) [30]

через неделю, блин четвертый десяток кликнится...жесть ;(


 
clickmaker ©   (2007-09-12 17:13) [34]


> [29] Ega23 ©   (12.09.07 17:10)

Хм... странная мысль пришла. Система Управления Доступом - СУД, стало быть. День развертывания релиза на объекте - СУДный день? :)


 
zdm77   (2007-09-12 17:14) [35]


> clickmaker ©   (12.09.07 17:11) [30]

и де я молодой по отношению к тебе...3 года всего разницы


 
zdm77   (2007-09-12 17:15) [36]


> clickmaker ©   (12.09.07 17:13) [34]

не чо себе тебя плющит..мастер ;)


 
clickmaker ©   (2007-09-12 17:16) [37]


> [35] zdm77   (12.09.07 17:14)

эээ... а я чего? я ничего... это больше к автору вопроса :)


 
zdm77   (2007-09-12 17:17) [38]


> clickmaker ©

Извини, с прошедшим!!!! Всего самого наилучшего!!!!


 
Ega23 ©   (2007-09-12 17:19) [39]


> День развертывания релиза на объекте - СУДный день? :)


Да, была и такая шутка...  :)))


 
Ega23 ©   (2007-09-12 17:22) [40]


> да я не придираюсь. Работа только встанет же, если все это
> учитывать :)


Ну на самом деле на реальном предприятии церковные праздники не являются "праздничными днями". А вот отраслевые, помимо федеральных - вполне могут быть. В РосЭнергоАтоме, например, "День Энергетика".
У ВДВ - 2 августа.
У погранцов - 28 мая.
Ну и т.д.
А если взять ещё круче, то можно и "плавающие" празники (или "особые дни") залгоритмизировать, типа "последний вторник каждого месяца", "второй четверг сентября" и т.п.



Страницы: 1 2 вся ветка

Текущий архив: 2007.10.14;
Скачать: CL | DM;

Наверх




Память: 0.57 MB
Время: 0.025 c
2-1190137123
hgd
2007-09-18 21:38
2007.10.14
Новая таблица в БД


4-1176143482
pit94
2007-04-09 22:31
2007.10.14
Как определить перемен.окружения?


15-1189887624
wp2
2007-09-16 00:20
2007.10.14
Вот купил BlueTooth....


2-1189951828
Serega99
2007-09-16 18:10
2007.10.14
sleep( )


4-1175926105
brother
2007-04-07 10:08
2007.10.14
чужое контекстное меню :)