1) Нужно разработать механизм смены статуса сотрудника, чтобы при каждом статусе можно было "привязаться" к нему с целью проведения дополнительных проверок и применить разные алгоритмы для каждого из статусов;
- Проверка: Нужно добавить условие, чтобы если человек переходит с магазина на магазин, то система обязует его едино разово внести ту гарантированную сумму, которая была на момент перехода с маг.1 на маг.2. Т.е. если эта сумма не внесена, то при попытке добавить этого сотрудника в график магазина 2 система будет выводить на экран сообщение: "При переходе с магазина на магазин Вам нужно внести на новом месте работы ту залоговую сумму, которая у Вас была на предыдущем месте работы на момент увольнения. Добавление сотрудника <ФИО> в график магазина <текущий магазин> запрещено до тех пор, пока он не внесет залоговую сумму в размере <гарантированная сумма на момент увольнения с предыдущего магазина торговой сети>". Выдать информационное сообщение при попытке добавления такого сотрудника в график.
2) 2.1). Проверка при регистрации данных: если кассир ставит в график сотрудника с другого магазина, то система автоматически в регистр сведений "Рабочее время сотрудников" на этого сотрудника в эти дни устанавливает галочку на реквизит "усиление" автоматически. Это правило действует на роли "Администратор", "Кассир" и "Продавец".
- 2.2). Нужно убрать реквизит "Кассир-усиление" и "Продавец-усиление" из списка ролей при регистрации сотрудника в графике по следующему алгоритму:
- если регистрируется сотрудник в графике и этот сотрудник является сотрудником НЕ текущего магазина (проверка производится по принадлоежности сотрудника к группе физлиц справочника "Физические лица" где каждая группа - это отдельный магазин), то при регистрации рабочего времени в регистре сведений "Регистрация времени работы" этому сотруднику на этот день присваивается реквизит "Усиление";
- если регистрируется сотрудник в графике и этот сотрудник является сотрудником текущего магазина (проверка производится по принадлоежности сотрудника к группе физлиц справочника "Физические лица" где каждая группа - это отдельный магазин), то при регистрации рабочего времени в регистре сведений "Регистрация времени работы" этому сотруднику на этот день не устанавливается (при первочной регистрации) и снимается (при вторичной регистрации) реквизит "Усиление";
3) Добавить статусы сотрудника:
- "Принят": статус присваивается когда сотрудник внесен в некий регистратор, который указывает его роль, его магазин и его ФИО;
- "Переведен": Статус присваивается в момент регистрации некого реквизита. Данный статус требует от сотрудника изъять залоговую сумму в полном объеме накануне работы в новом магазине и система должна проверить на новом магазине регистрируемого сотрудника со статусом "Переведен" по алгоритму проверки по пункту №1. Если условие удовлетворяет - сотрудника зарегистрировать на новом магазине можно, если не удовлетворяет - зарегистрировать сотрудника будет нельзя. При запрете регистрации нужна проверка, которая поставит "кассира-регистратора данных" в извесность "Данного сотрудника нельзя зарегистрировать до тех пор пока его гарантированная сумма не будет физически перенесена на текущий магазин.
- "Подлежит увольнению" - этот статус должен быть зарегистрирован на какую-то дату, чтобы можно было включить следующую проверку: "Если попытка изъять залоговую сумму, а с даты регистрации статуса "Подлежит увольнению" не прошло N-е количество дней, (где N- это значение в регистре сведений, где каждому сотруднику должно применяться столько дней отработки, сколько управляющий посчитает, что он должен отработать) тогда сообщение: "Изымать залоговую сумму сотруднику <ФИО> на магазине <текущий магазин> запрещено до <дата регистрации статуса "Подлежит увольнению" + "количество дней из справочника>. Операция изъятия денег отменена. Для корректировки даты выплаты залоговой суммы обратитесь в офис.
- "Уволен по собственному желанию" - статус присваивается если желание уволится исходит от сотрудника; Система позволяет от имеющуюся гарантированную суммы отнять сумму недостачи и выдать сотруднику разницу по гарантированной сумме;
- "Уволен по статье" - статус присваивается если желание увольнения сотрудника исходит от работодателя;
////////////////////////////////////////////////////////////////////////////////
- "В отпуске" - такой статус нужно создать для того, чтобы...
... при выходе из отпуска сотрудника с ролью "Управляющий" не с начала недели система не отнимала предыдущие дни недели по коэффициенту расчета управляющего из его зарплаты, а в качестве выходных считала только те дни, где дата выхода на работу "более свежая", чем дата конца отпуска;
... при уходе в отпуск сотрудника с ролью "Управляющий" не до конца недели система не отнимала следующие дни недели по коэффициенту расчета управляющего из его зарплаты, а в качестве выходного считала только те дни, где дата выхода на работу "более старая", чем дата начала отпуска.
... нужно в графике иметь возможность отмечать статус "В отпуске" на весь период отпуска.
- "На больничном" - такой статус нужно создать для того, чтобы...
... при выходе с больничного сотрудника с ролью "Управляющий" не с начала недели система не отнимала предыдущие дни недели по коэффициенту расчета управляющего из его зарплаты, а в качестве выходных считала только те дни, где дата выхода на работу "более свежая", чем дата конца больничного;
... при уходе в отпуск сотрудника с ролью "Управляющий" не до конца недели система не отнимала следующие дни недели по коэффициенту расчета управляющего из его зарплаты, а в качестве выходного считала только те дни, где дата выхода на работу "более старая", чем дата начала больничного.
... нужно в графике иметь возможность отмечать статус "На больничном" на весь период больничного.
////////////////////////////////////////////////////////////////////////////////
при выходе с больничного сотрудника с ролью "Управляющий" не с начала недели система не отнимала предыдущие дни недели по коэффициенту расчета управляющего из его зарплаты, а в качестве выходных считала только те дни, где дата выхода на работу более "свежая" чем дата конца больничного. При этом - нужно в графике иметь возможность отмечать статус "На больничном" на весь период отпуска.
4) При регистрации нового сотрудника нужно, чтобы система могла проверять работало ли создаваемое физическое лицо ранее в торговой сети "Джинсовик" и если работало - проверка, что если при увольнении у физлица был статус "Уволен по статье" тогда система выводит сообщение, что данного сотрудника уже нельзя трудоустроить.
В справочнике "Физические лица" нужно сделать 2 дополнительные группы уволенных сотрудников "Уволенные по статье" и "Уволенные по собственному желанию" для того, чтобы при увольнении размещать человека в соответствующую папку.
Эти группы справочника "Физические лица" нужно прописать в константах. Канстанты так и назвать: "Уволенные по статье" и "Уволенные по СЖ".
5) В интерфейсе кассира нужно сделать форму анкеты, которая должна быть заполнена при его принятии на работу.
Должна быть возможность "под паролем" редактировать данные о сотруднике прямо из интерфейса кассира.
Все следующие поля должны быть заполнены в обязательном порядке при регистрации нового сотрудника:
- Фамилия;
- Имя;
- Отчество;
- Электронная фотография (должна вытягиваться с жесткого диска компьютера кассы) - НУЖНО УТВЕРДИТЬ;
- Дата рождения;
- Паспорт или удостоверение:
- Серия;
- Номер;
- Кем выдан;
- Когда выдан;
- До какого момента действует;
- Психологический портрет (обязательно для заполнения при увольнении). Должна быть возможность регистрировать "психологический портрет" на конкретную дату без возможности редактирования его в любую другую дату кроме даты регистрации записи. Цель: при каких-либо событиях, которые характеризуют определенное Физлицо "не в лучшем виде" иметь возможность зафиксировать данное событие