Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.10.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
Кадровик   (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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.065 c
15-1189577484
Washington
2007-09-12 10:11
2007.10.14
Сгорание флешек


1-1185636337
Dmitry_177
2007-07-28 19:25
2007.10.14
StringGrid выделять текст, но нельзя было редактировать


2-1190280036
Kolan
2007-09-20 13:20
2007.10.14
Как поймат событие после изменения Text у DBLookUpComboBox?


15-1189604306
wvalera
2007-09-12 17:38
2007.10.14
FastMM


2-1190211725
azl
2007-09-19 18:22
2007.10.14
Как программно добавить новый пункт меню в PopupMenu?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский