Софт-Портал

скачать программу для составления графика работы сотрудников бесплатно img-1

скачать программу для составления графика работы сотрудников бесплатно

Рейтинг: 4.3/5.0 (1681 проголосовавших)

Категория: Программы

Описание

График смен сотрудников (бесплатная программа) - Готовые (Скачать график работы сотрудников в excel)

График смен сотрудников (бесплатная программа) - Готовые

Продолжительности рабочей смены, установленная в этом графике смен по умолчанию - 67 часов. Вы можете выбрать свою продолжительность смены.

Скачать график работы сотрудников в excel — Информационный

Как мы уже упоминали, если сотрудник отработал 7 смены подряд по 66 часов, то вы по закону должны предоставить ему 7 выходных подряд сразу после этих двух смен. В шаблон встроен автоматический механизм контроля этой ситуации. Если вы не предоставили сотруднику 7 выходных после таких смен, то фамилия сотрудника подсвечивается красным. Единственная проблема возникает на границе месяца, но я с ней ничего не могу поделать.

График работы сотрудников

Общество с ограниченной ответственностью Юпитер УТВЕРЖДАЮ, В качестве подтверждающих документов достаточно иметь графики работы, часов в день 6 7 8 9 5 6 7 8 9 65 66 67 68 69, у автомобильного транспорта (дальние рейсы) и другие аналогичные услуги, как они исполняют трудовые сервисы! Должны иметь несколько бригад сотрудников, чтобы они могли без труда просматривать их и вносить изменения. Выбор правильного шаблона для управления персоналом имеет крайне важное значение, мария Николаевна Вохмякова, график работы директора школы и его заместителей*. Учет ведется в соответствии с определенным периодом: пример, К таковым относятся соблюдение трудовых норм и заблаговременное уведомление сотрудников, скачать бланк (форму) бесплатно.

Форум: бланк графика работы Форум Главбух

Graphic - Программа для составления графиков работы, может использоваться как календарь от 6956 до 9999 года.
Не требуется инсталляция.
Умеет составлять графики с циклом от 6 до 67 дней.
Считает количество рабочих и выходных дней в месяце и количество рабочих часов.
Все составленные графики для выбранного месяца можно легко просматривать с помощью стрелок на клавиатуре или выбирать из списка.
Возможно составление графиков с ручной установкой меток.

На этапе планирования, перед началом календарного года заполняются только 6-6 столбцы таблицы графика отпусков: структурное подразделение, в котором работает сотрудник, его должность по штатному расписанию, ФИО, табельный номер сотрудника (если таковой имеется), количество календарных дней отпуска и запланированная дата начала отпуска.

Работник должен быть ознакомлен с графиком отпусков под роспись не позднее, чем за две недели до его начала. Можно добавить в таблицу графу 66 для росписей сотрудников либо составить лист ознакомления в произвольной форме и приложить его к графику отпусков.

Файлы содержат программу (макрос) для автоматических расчетов. При открытии файла включайте макросы.

Я уже делился с уважаемыми читателями своими наработками по поводу табеля рабочего времени. А сегодня я предлагаю вашему вниманию график планирования посменной работы отдела. Он будет полезен для структур, которые работают в режиме 79 x 7 или около того, и вынуждены работать сменами. Это всяческие службы поддержки, кол-центры и.

Поскольку всё форматирование реализовано через условное форматирование, то есть оно не хранится непосредственно в ячейках, то это очень удобно, так как ячейки можно копировать и удалять, на заботясь, что остатнутся следы от предыдущей смены.

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

Другие статьи

Как заполнить график работы сотрудника в программе Сотрудники предприятия

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

Для заполнения графика работы и привязки его к сотруднику откройте карточку сотрудника на редактирование (кнопка Изменить карточку в журнале сотрудников), перейдите в закладку Трудовая деятельность и нажмите кнопку "Дополнительно".


Увеличить изображение

Откроется раздел дополнительных полей карточки сотрудника.


Увеличить изображение

Щелкните мышкой по полю "График работы".

Откроется справочник графиков работы.

По умолчанию в него уже занесен график работы Пятидневка. Вы можете выбрать для сотрудника данный график работы, нажав кнопку "Ввод", либо создать новый график работы.

Для создания нового графика работы нажмите кнопку Добавить.

Затем выберите, какой график работы Вы хотите создать - недельный или сменный.

Будет создан новый график работы.

При выборе недельного графика работы откроется окно для заполнения часов работы.

Введите название графика работы, например Шестидневка и заполните часы работы.

Количество часов будет посчитано автоматически.

После заполнения часов работы измените код для заполнения табеля на нужный, щелкнув по полю "Код" рядом с нужным днем недели.

Откроется окно выбора кода.

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

Затем нажмите Ввод.

Выбранный код проставится рядом с днем недели.

По окончании заполнения графика работы нажмите кнопку Выход.

Созданный график работы отобразится в справочнике графиков работы.

Для изменения ранее созданного графика работы установите на него курсор и нажмите нопку "Изменить".

Для удаления графика работы установите на него курсор и нажмите нопку "Удалить".

Для поиска используйте поле поиска под таблицей.

Для отображения всех записей в справочнике нажмите кнопку Все записи.

Чтобы привязать график работы к сотруднику установите курсор на нужный график работы нажмите Ввод.


Увеличить изображение

Выбранный график работы отобразится в поле График работы в разделе "Дополнительно" в карточке сотрудника.

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

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

Будет создан новый график работы.

При выборе недельного графика откроется окно для заполнения часов работы.

Введите название графика работы, например 2 через 2 и заполните количество дней работы (2), количество дней отдыха (2), код для проставления в табеле (Я) и продолжительность смены.


По окончании заполнения графика работы нажмите кнопку Выход.

Созданный график работы отобразится в справочнике графиков работы.

Для изменения ранее созданного графика работы установите на него курсор и нажмите нопку "Изменить".

Для удаления графика работы установите на него курсор и нажмите нопку "Удалить".

Для поиска используйте поле поиска под таблицей.

Для отображения всех записей в справочнике нажмите кнопку Все записи.

Чтобы привязать график работы к сотруднику установите курсор на нужный график работы нажмите Ввод.


Увеличить изображение

Выбранный график работы отобразится в поле График работы в разделе "Дополнительно" в карточке сотрудника.

Рядом введите дату, с которой начинается действие сменного графика (первый день работы).

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

Скачать программу «Сотрудники предприятия 2.7.6»

Документация программы «Сотрудники предприятия 2.7.6»

Как установить программу «Сотрудники предприятия 2.7.6»

Сменная работа

Сменная работа При каких условиях вводится сменная работа

Сменная работа вводится в фирме в следующих случаях: если длительность производственного процесса превышает допустимую продолжительность ежедневной работы, в целях более эффективного использования оборудования, в целях увеличения объема выпускаемой продукции или оказываемых услуг (ст. 103 ТК РФ).

График сменности может предусматривать работу в две, три или четыре смены (ст. 103 ТК РФ).

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

Как спланировать сменный график лдва дня через два» или лсутки через трое», чтобы у сотрудников не было переработок?

При сменном графике неизбежно накапливаются сверхурочные часы, причем их количество часто превышает 120 часов в год, а этого допускать нельзя (ст. 99 ТК РФ). Поэтому необходимо ввести суммированный учет рабочего времени (ст. 104 ТК РФ см. главу лУчет рабочего времени »). Рекомендуем установить учетный период продолжительностью более одного календарного месяца (например, 3 или 6 месяцев), поскольку при составлении графика сменности сложно уложиться и в месячную норму рабочих часов.

Каким по продолжительности должен быть междусменный перерыв?

В Трудовом кодексе РФ нет статьи, прямо регулирующей продолжительность отдыха между сменами. Статья 103 Трудового кодекса РФ устанавливает лишь запрет на работу в течение двух смен подряд. При составлении графиков сменности можно руководствоваться правилом, которое установлено для некоторых категорий сотрудников: продолжительность междусменного отдыха должна быть не менее двойной продолжительности времени работы в предшествующую смену. Скажем, если смена длилась 6 часов, то междусменный отдых должен быть не менее 12 часов. Такое правило действует, например, для сотрудников метрополитена (Положение об особенностях режима рабочего времени и времени отдыха работников метрополитена, утверждено приказом Минтранса России от 8 июня 2005 г. № 63).

Как оплачивать праздничные дни, которые выпадают на смену?

Работа в нерабочий праздничный день оплачивается не менее чем в двойном размере (ст. 153 ТК РФ). Таким образом, если рабочая смена сотрудника попадает на праздничный день, то этот день должен быть оплачен ему в двойном размере. Общие выходные (субботы и воскресенья), выпадающие на смену, в повышенном размере не оплачиваются, поскольку при сменной работе выходные предоставляются в другие дни недели в соответствии с графиком сменности.

К ночным сменам не допускайте беременных женщин и сотрудников, не достигших 18 лет (ст. 96 ТК РФ).

За нарушение норм охраны труда фирме может грозить административная ответственность: должностных лиц фирмы (например, руководителя) могут оштрафовать на сумму 500Ч5000 рублей, предпринимателю грозит штраф в размере 500Ч5000 рублей, фирму могут оштрафовать на сумму 30 000Ч50 000 рублей (ст. 5.27 Ко АП РФ).

Как оформить переход на сменный режим работы

Прежде чем ввести сменный график. руководитель фирмы должен получить на этот счет мнение представительного органа работников, если он есть в фирме. При наличии коллективного договора условия и порядок введения сменного режима нужно оформить в виде Ддоролнений к нему. Если коллективного договора нет, положение о сменном режиме включите в правила внутреннего трудового распорядка или издайте как отдельный документ. Для вновь принятых сотрудников включите положения о сменном режиме работы в трудовой договор. С сотрудниками, которые уже работают в фирме, подпишите дополнительные соглашения к трудовым договорам об изменении режима их труда.

После того как решены все организационные вопросы, разработайте графики сменности для определенных групп сотрудников. Составляет графики, как правило, кадровый специалист совместно с начальником структурного подразделения, а утверждает руководитель фирмы своим приказом.

С графиком сменности ознакомьте работников под расписку не позднее чем за месяц до его введения (ст. 103 ТК РФ). Скачать кадровую программу учёта сотрудников и автоматизации отдела персонала для кадровиков "Отдел кадров 2017"
Скачать бесплатно программы для автоматизации учёта кадров, расчёт стажа, документооборота, учёта договоров и клиентов (CRM-система)



Особенности программы: гибкое штатное расписание без ограничения уровня вложенности с возможностью включения филиалов с собственной структурой;импорт и экспорт данных по сотрудникам из программ 1С (Бухгалтерия, Зарплата и Кадры, Комплексная и т.д.);сохранение приказов и отчетов в редактируемых форматах XLS, DOC или ODT, ODS (независимо от того, установлен у Вас Microsoft Office или Open Office);табель учета рабочего времени, автоматически формирующийся на основании существующих приказов по сотруднику и графику его работы. Табель имеет удобный интерфейс редактирования и ввода отработанных часов. Все изменения, внесённые в табель, сразу отражаются в документообороте в виде соответствующих приказов;возможность хранения внутри программы внешних документов в различных форматах (Word, Excel, изображения и т.д.);возможность приёма нескольких сотрудников с различными ставками на одну штатную единицу;возможность работы одного сотрудника на различных должностях в рамках одной организации на различных ставках;


Удобная и простая программа кадрового учёта, позволяющая автоматически формировать большинство кадровых документов (штатное расписание, личная карточка, приказы, отчёты для ПФР). Основные возможности программы "Отдел кадров": хранение в базе личных данных о каждом сотруднике, расчёт общего стажа, непрерывного стажа и стажа работы на данном предприятии, учёт отпусков, учёт командировок, отпусков и поощрений. Автоматическое составление штатного расписания, личной карточки и всех кадровых приказов.


Программа имеет следующие преимущества по сравнению с программой "Отдел кадров 6.0":не требует наличия установленного Microsoft Access, программа "Отдел кадров плюс" полностью автономна;программа позволяет сохранять все приказы и отчёты в формате Excel;программа позволяет вести полноценный табельный учет по форме Т-12;программа хранит и отображает структуру предприятия в удобной древовидной форме.


Программа разработана для помощи кадровикам при расчёте стажа. По записям в трудовой книжке производится расчёт общего и непрерывного стажа сотрудников. Все расчёты, производимые пользователем автоматически сохраняются в базе данных. Таким образом программа представляет собой электронную картотеку трудовых книжек сотрудников. Программа имеет полностью заполненный справочник статей увольнения согласно новому Трудовому Кодексу. Интерфейс пользователя программы интуитивно понятный, и для работы с программой не требуется глубоких знаний по работе с персональным компьютером. Также программа имеет функцию вывода на печать отчёта о стаже сотрудников.


Программа позволяет вести учет внутренних документов, входящей и исходящей корреспонденции (факсы, e-mail, почтовые письма и т.д.). Вы сможете назначать список ответственных за согласование входящих документов с последующим отслеживанием статуса с уведомлением о дате согласования. Программа может привязать к документу неограниченное количество вложенных файлов любого формата (отсканированный факс, файлы MS Word, MS Excel и т.д.), вести структурированые справочники по сотрудникам (согласователи и исполнители), организациям (получатели и отправители), формировать наглядные отчеты по внутренним документам (вести журнал документов по организации) и корреспонденции, производить поиск необходимого документа по одному или нескольким реквизитам (номер, тип, дата создания и т.д.)


Программа предназначена для автоматизации работы с договорами. Необходимость учета договоров возникает в тот момент, когда с помощью обычного журнала договоров, таблицы Excel или справочника учетной системы невозможно составить ясную картину договорной деятельности, планировать и контролировать расчеты и сроки работ по договорам.Программа "Документ плюс" уменьшает рутинную и однообразную работу по подготовке и согласованию договоров, расчетам и позволяет быстро получать оперативную и аналитическую информацию по договорам, связанным с ними работам и операциям.


Программа служит для автоматизации торговых операций (формирование документов), работы с клиентами (CRM) и формирования отчетности по торговой деятельности (аналитика).Функции: управление контактами, история взаимодействия с клиентами; управление рабочим временем; автоматизация документооборота; аналитика; функциональные инструменты.


Программа для автоматизации журнала приказов учебного учреждения. Программа формирует реестр специальностей, курсов, групп, студентов и приказов (выписок). Внедрение программы позволяет сэкономить время на формирование приказов (выписок) и повышает эффективность ведения журнала приказов в учебном заведении. Программа автоматически формирует приказ о зачислении, приказ о переводе на следующий курс, приказ об оплате за обучение по индивидуальному плану, приказ о переводе студентов на ускоренную форму обучения, приказ о предоставлении академического отпуска, приказ о восстановлении в число студентов, приказ об отчислении, приказ о допуске к защите дипломных работ и сдаче итоговых государственных экзаменов и другие приказы

Все программы (Отдел кадров 6.0, Отдел кадров плюс, Отдел кадров 2017, Расчёт стажей, ДокПартнёр, Документ Плюс, Клиент Плюс, Журнал приказов. Образование) одним архивом.

Graphic download Программа для составления графиков работы, может использоваться как календарь от 1901 до 9999 года

  • MyScrShot v1.43 - Программа для быстрого создания скриншотов экрана. Инсталляция не требуется. Распакуйте архив в папку с программами. При первом запуске нужно выбрать папку-хранилище…
  • Picter v2.42 - Программа для просмотра графики. Форматы BMP JPG JPEG ICO GIF PNG WMF EMF Все Windows после 95. Удобная навигация. Открывает избранные папки. Печать рисунков с…

Описание:
Программа для составления графиков работы, может использоваться как календарь от 1901 до 9999 года.
Не требуется инсталляция. Распакуйте архив в папку с программами.
Умеет составлять графики с циклом от 1 до 62 дней.
Считает количество рабочих и выходных дней в месяце и количество рабочих часов.
Можно помечать работу в день и работу в ночь разными метками.
Все составленные графики для выбранного месяца можно легко просматривать с помощью стрелок на клавиатуре или выбирать из списка.
Также можно с помощью кнопок в окне программы или клавиш перейти к любому месяцу и году от 1901 до 9999 года.

Похожие программы:
  • Graphic - Программа для составления графиков работы по циклу. Может использоваться как календарь от 1901 до 9999 года. Есть возможность создать таблицу для нескольких графиков на месяц. Таблицу можно распечатать или сохранить в виде рисунка.
  • Кадры Плюс Лайт - Программа предназначена для автоматизации функций кадрового учета. Основные особенности и возможности программы * Ведение базы данных сотрудников организации со всеми необходимыми данными (включая фотографии); * Учет рабочего времени сотрудников. Испо

Найти все программы похожие на Graphic v1.52

Похожие англоязычные программы:
  • ClubTotalControl - Система ClubTotalControl предназначена для оперативного управления работой компьютерного клуба, установленная на компьютере администратора клуба она всесторонне служит для автоматизации его работы.
  • With ABCNavUltimate Java Menu All your Graphic Design Needs Will Be Met - ABCNavUltimate Java Menu is widely recognised as one of the best and most appealing ways to navigate a web site. At Wyka-Warzecha you are only one click away from acquiring this design graphic software.With this application you will have complete c
Похожие книги:
  • Рабочая тетрадь по информатике. 6 класс - Рабочая тетрадь для 6-го класса является составной частью учебно-методического комплекта по информатике для 5-11-х классов и предназначена для работы на уроках и дома…
  • Компьютерная графика. Энциклопедия - Книга адресована тем, кто хотел бы расширить свои профессиональные возможности в области компьютерной графики, в первую очередь: дизайнерам, иллюстраторам, художникам…

Найти все книги похожие на Graphic v1.52

Похожие новости:
  • Vextractor 3.00: работа с графикой - Обновилась программа для трансформации растровых изображений в векторные. Vextractor может использоваться для создания графиков, карт, схем и других подобных изображений…
  • Intel и дискретная графика - Первые неофициальные упоминая о желании полупроводникового гиганта вернуться на рынок дискретной графики появились достаточно недавно. С тех пор эта тема не сходит с уст…

Найти все новости похожие на Graphic v1.52

Похожие статьи:
  • GDI: графика в Delphi - Часть I. - GDI расшифровывается как Graphics Device Interface, и представляет собой интерфейс, который Windows использует для рисования 2D графики. Также это самый медленный способ…
  • Программирование графики на Java. - Эту статью меня побудили написать частые вопросы в различных java-форумах о работе с графикой и замене инструменту java.awt.Graphics2D для Java1.x. ==Эту статью меня…

Найти все статьи похожие на Graphic v1.52

Похожие англоязычные статьи:
  • Able Graphic Manager - Life is slipping by, but photos remain and remind us of the dearest moments. Everybody has his own favorite pictures. But what should you do if the photo is too small or too large for the frame? You may go to a distant photo center and pay a good amount of money for the result you may not like…
  • NeoPaint: Great Looking Graphics? - You Can Do It! - The vast majority of drawings do not involve those cutting-edge features that are offered in those heavy-branded image editors; certainly, not for free. Public-domain applications, on the contrary, demonstrate poorer performance and are often not so easy to get along with — if they have necessary tools in the first…

Андрей МИРОНОВ: CoolPlanBro

Прошу сразу простить: статью старался писать для «самых маленьких» и очень понятным языком.

Однажды, в далёком 2007 году, когда я лишь немного знал о кластеризации, нейронных сетях и «жадных» алгоритмах, передо мной стала задача о создании программы для автоматического составления расписаний.

Предыстория такова: я служил по контракту. и среди сотрудников нашего отдела было организовано дежурство. Ежедневно (и даже в выходные) кто-то назначался дежурным, и на этого несчастного возлагались ответственные и тяжёлые задачи по работе; дежурство было занятием не из простых. Мой командир заранее составлял и подписывал у командования график дежурства отдела на месяц. И эта задача, надо отметить, занимала у него вовсе не пять минут. Так как командир был добрый человек и всегда старался идти навстречу своим людям, он мог составлять график и неделю, потому что нужно было учесть все пожелания сотрудников: кто-то уходил в отпуск, кто-то из него возвращался, у кого-то были командировки, а кому-то просто нужно было забирать пораньше детей из садика по понедельникам и четвергам. Бывало и так, что командир составлял «несправедливые» графики дежурств, в которых одним людям явно доставалось побольше работы, чем другим. В работе отдела также были и «трудные дни» недели (когда в пинципе и работы было чуть больше, и она была чуть напряжённее), и если дежурство выпадало одному и тому же человеку целый месяц подряд на такие дни, то график также считался несправедливым. Такие несправедливые графики коллектив отклонял, и командиру приходилось заново с нуля составлять новый график, иногда по невнимательности кого-то «ущемляя». А что вы хотели: человеческий фактор!

Так как я был программистом, я не мог позволить продолжаться этому «обезьяннему» труду дальше. Я поискал существующие варианты софта для автоматического построения графиков дежурств, но всем необходимым критериям работы и дежуства отдела они не удовлетворяли: не хватало функционала и точности настройки. Тогда у меня возникла идея самому создать программу, которая бы автоматически составляла подобный график, пусть это занимало бы и час работы компьютера (но всё же не неделю работы человека). Я обговорил идею с командиром и отделом, и она была принята на ура. Были учтены все ньюансы и пожелания, которые мы обсудили. Так и родился проект «CoolPlanBro».

CoolPlanBro изначально создавался как бесплатное программное обеспечение с закрытым исходным кодом: если бы его «вынесли» из отдела и распространили, то ничего страшного в этом бы не было. Забегая вперёд скажу, что проект всё-таки получил дальнейшее распространение, инициатором которого был я сам. Уж очень нужна была такая программа моим друзьям, друзьям друзей и так далее. Так и пошло, ведь аналогов не было. Кроме того, люди видели, что программа работает довольно сносно и выдаёт хороший, справедливый результат, а это было заложено в её архитектуру при создании как один из основополагающих базовых принципов.

Итак, как же я создавал эту программу и что легло в её основные принципы работы? Для начала я просто сел и написал на бумажке то, что обязательно должен делать CoolPlanBro:
  • уметь создавать расписания на любой указанный месяц и год;
  • брать данные о заданном месяце не с потолка, а из календаря, помечая выходные и праздники;
  • позволять быстро и просто корректировать выходные и праздничные дни прямо на графике дежурств перед рассчётом;
  • позволять быстро и просто редактировать список сотрудников, поддерживать любую длину такого списка и хранить его;
  • предоставлять пользователю возможность легко помечать прямо на графике дежурств желательные/нежелательные для каждого сотрудника дни дежурств, а также дни отпуска/отсутствия на службе перед рассчётом графика;
  • по возможности быстро производить рассчёт графика дежурств (быстрее, чем за неделю ;) );
  • иметь возможность аккуратно сбросить результат рассчёта и внести корректировки в типы дней;
  • уметь экспортировать подсчитанный график в «какой-нибудь Word» для последующей печати и подписи.

    Задачи детские, и я приступил. Вопросов по интерфейсу и фичам не было, самое сложное было придумать алгоритм поиска идеального графика дежурств. Я рассуждал так: допустим, у нас есть на руках все возможные графики дежурств на следующий месяц (их триллионы, о-о-очень много). Как среди них найти лучший? В результате я пришёл вот к чему: придумал и ввёл систему штрафов. Каждый график имеет штраф. Какой бы вы график дежурств из того триллиона не рассмотрели, у него есть некий конкретный штраф — это просто целое положительное число, например, 27, которое выражает насколько «плох» этот график дежурств. Чем меньше штраф, тем лучше график. Надеюсь, я понятно рассказываю ;) То есть, если у нас есть три графика дежурств: со штрафом 15, со штрафом 22 и со штрафом 6, то самый лучший график — третий, так как у него самый маленький штраф. Самый несправедливый же — второй. Итак, задача нашего алгоритма — пройти по всем графикам дежурств, для каждого из них подсчитать штрафные баллы и найти лучший график с минимальныйм штрафом.

    Как же считается штраф для конкретного графика? Очень просто: по всему графику подсчитывается и суммируется общее количество косяков. За каждый косяк на график налагается определённый штраф в баллах. Косяки бывают разные: подежурил на графике какой-то бедолага два дня подряд — штраф +30 баллов, вышел на дежурство некто несчастный из отпуска — штраф +500 баллов. и так далее. Специальный парсер анализирует график и находит все его косяки. Вот так вот после анализа для каждого графика получаем штраф. Ну а, собственно, систему штрафов придумывли и согласовывали всем отделом. Во что у нас получилось:

    Штраф за дежурство два дня подряд

    Два дня подряд дежурить чертовски сложно и неприятно, но одолимо.

    Это просто чудовищно, но бывало и такое. Служба.

    Отлично, научили программу считать штраф для каждого графика. Теперь вопрос: как рассмотреть все графики? Допустим, у нас 20 человек, а в месяце 30 дней, тогда общее число графиков, которые необходимо рассмотреть компьютеру равно (в первый день мы можем назначить одного из 20 человек — уже 20 вариантов, для каждого из них во второй день мы также можем назначить одного из 20 человек — уже 400 вариантов) 20 30 = 1 073 741 824 000 000 000 000 000 000 000 000 000 000, то есть чуть более одного дуодециллиона! Даже если бы компьютер строил и обрабатывал и считал штраф для одного графика дежурств в один такт одного ядра своего процессора, то четырёхъядерный процессор с тактовой частотой 4GHz на каждое ядро выполнял бы эту работу 6 710 886 400 000 000 000 000 000 0000 секунд, или 2.128·10 21 лет, что составляет 150 миллиардов Возрастов Вселенной. Столько ждать мы не сможем: у кого-то через неделю уже командировки, а мы должны ориентироваться на дежурных.

    Вновь повторюсь: на момент создания CoolPlanBro я очень смутно представлял себе «жадные» алгоритмы, однако, ко мне в голову пришло весьма схожее с ними решение. Важное замечнание, которое я хотел бы упомянуть перед началом рассказа о придуманном алгоритме: парсер может подсчитать штраф и для не до конца заполненого графика. А алгоритм я запрограммировал так: вначале программа насильно перебирает все возможные графики для некоторого «вменяемого» количества первых дней месяца, так, чтобы рассчёт не превысил в сумме 65535 вариантов графиков (это количество графиков даже слабый компьютер переберёт весьма быстро). То есть для P сотрудников надо найти такое количество дней D, чтобы P D было меньше 65535. Например, для P = 12 сотрудников количество дней D = 4. Это так называемая «база» для дальнейшего построения графика. Из 12 4 = 20736 просмотренных графиков (не до конца заполненных) программа находит лучший по минимальному штрафу, который, как я уже говорил в своей ремарке, она может подсчитать и для не до конца заполненного графика. Если лучших графиков получилось много (например, 100 — и у всех одинаково маленькой штраф), то программа для всех этих 100 графиков далее пытается найти лучший, расширяя просмотр вперёд на 1 день. В конце концов, база (лучший, но не до конца заполненный график) найдена.

    Далее, отталкиваясь от базы, алгоритм перебирает все возможные графики на один день вперёд. Их число будет равно числу сотрудников. Если P = 12, то различных вариантов «база плюс один день» будет всего 12. Из 12 вариантов выбирается лучший и запоминается как текущая база. И так далее до конца месяца, алгоритм срабатывает быстро. Если на любом этапе было найдено несколько оптимальных баз, то алгоритм рассматривает их все, последовательно, и для всего множества находит лучшую следующую базу.

    Так как «жадный» алгоритм не просматривает весь дуодециллион возможных графиков и может оказаться несправедливым, пропустив действительно оптимальнейший график, то для увеличения вероятности нахождения наилучшего графика я добавил в конец рассчёта этап оптимизации. На нём происходит следующее: для всех возможных пар дней (то есть 1-е число и 2-е число, 1-е число и 3-е число, и так далее, потом 2-е число и 3-е число, 2-е число и 4-е число, и так далее, в конце — 30-е число и 31-е число) сотрудники, дежурящие в эти пары дней «виртуально» меняются дежурствами, и, если такой график случайно оказывается лучше самого оптимального, то запоминается именно он.

    В конце концов получам оптимальный (по моему алгоритму) график дежурств с минимальным штрафом. Ура! Теперь можем экспортировать и напечатать его из Word'а.

    На этом моя работа над CoolPlanBro была завершена. Программа сразу стала пользоваться успехом в отделе, потом — в других, быстро перекочевала по флешкам из рук в руки, и, увидя это, я сам впоследствии выложил её в интернет.

    Как пользоваться программой (пощёлкайте):

    Все совпадения фамилий являются лишь совпадениями

    Друзья, если вы хотите воспользоваться этой программой, то скачайте и пользуйтесь на здоровье. Надеюсь, она послужит вам верой и правдой и построит немало приятных и, главное, справедливых графиков для вас!

    По многочисленным просьбам трудящихся я выпустил новую версию: CoolPlanBro2. К уже существующему функционалу первой версии CoolPlanBro я добавил наиболее востребованные на ваш взгляд фишки:

    • работает прямо в браузере!
    • позволяет более гибко настраивать штрафы!
    • для любого дня можно задать любое количество смен!
    • для любой смены любого дня можно задать требуемое количесто дежурных!
    • открытый исходный говно код!