Обработка представляет в виде календая два месяца: текущий и следующий, с отображением, кто где работает.
Обработка позволяет назначать сотрудника на конкретный офис на конкретную дату.
Роль офиса может играть что угодно: торговая точка, участок, отдел и т.д.
Смысл разработки — быстро составить расписание на месяц вручную без коллизий с равномерной загрузкой сотрудников.
Обработка призвана заменить график работы, сделанный в Excel или на листочке в клеточку, который висит на стенке чуть ли не в каждой конторе.
Функции
- Очень удобное и быстрое редактирование графика
- Копирование и вставка целого куска расписания, в том числе и между месяцами
- Копирование и вставка из Excel и обратно в Excel
- Быстрое листание календаря или быстрый переход на выбраный месяц
- Назначение сотрудника в офис, выбором диапазона дат (ячеек).
- Просмотр и редактирование одновременно двух месяцев, позволяет балансировать нагрузку: в этом месяце сотрудник работает больше, а в следующем меньше.
- Контроль коллизий, один и тот же сотрудник не может работать в один день в двух местах.
- Цветовая кодировка сотрудников, цвет назначается в справочнике Сотрудники
- Отображение расписания одного сотрудника, чтобы отдать ему на руки.
- Назначение нескольких сотрудников в один офис на одну дату (работают вдвоем, второем и т.д.)
- Подсчет числа рабочих дней в месяце каждого сотрудника
- Печать графика, сохранение в форматах XLS, PDF, HTML
Данные выводятся в Табличное поле. Данные берутся из справочников Сотрудники и Офисы и сохраняются в Регистр Сведений.
Комментарии
Сейчас в коде явно выбран Январь 2013 как текущий месяц, чтобы можно было увидеть пример расписания. Чтобы отображался текущий месяц, нужно раскомментировать соответствующую строчку в форме обработки в событии ПриОткрытии().
Назначить сотрудника в ячейку можно:
- копированием и вставкой
- выбором в выпадающем списке и кнопкой установить
- двойным щелчком в списке сотрудников
- вводом полного имени сотрудника как текст в ячейку
Флажок Добавлять позволяет не заменять содержимое ячейки, а добавлять сотрудника в ячейку
Флажок Персональный график позволяет видеть график только того сотрудника, который выбран справа в списке сотрудников.
Восклицательный знак в списке сотрудников означает, что сотрудник перегружен в данном месяце. В примере стоит константа в коде 17 рабочих дней месяц.
Красиво 🙂
(1) Подумываю еще дни рождения отображать, а то уже несколько раз назначали человека работать в ДР. Если кому актуально — пишите.
(2) ruslanruslan, актуально, буду следить за разработкой, довольно неплохо для обычного приложения сделано
Найденые ошибки и замечания
-Если активизировать персональное расписание, затем выбрать диапазон пустых ячеек и нажать Очистить, будут очищены ячейки с данными, в которых могут быть указаны другие сотрудники, которые не отображаются при персональном расписании.
-Нехватает дней рождения, праздников и графика отпусков.
мой вариант решения аналогичной задачи в публикацииВедение расписания приемов пациентов в поликлинике в плане реализации расписания поинтересней выглядит, на мой взгляд