Всем привет. Я занимаюсь разработкой веб-приложений (облачных\onPremise) учета данных. И в этой статье хочу поднять вопрос о том, а нужен ли табель учета рабочего времени в ситуации, когда у компании уже внедрён 1С и есть соответствующие специалисты?
Предыстория.
Когда ко мне обратился заказчик по поводу разработки облачного веб-приложения табеля учета рабочего времени (в виде мини-сервиса), то для меня это было вполне ожидаемо – есть опыт разработки как облачного сервиса «Электронный табель», так и нескольких индивидуальных решений на базе него. В ходе обсуждения технического задания было озвучено, что в компании уже используется 1С и есть технические специалисты на платформе 1С, однако требуется разработать «внешний табель учета рабочего времени». Именно это было слегка необычно, так как в 1С уже есть (не во всех типовых конфигурациях, но тем не менее) табель. Зачем нужен еще один?
Необходимость внешнего табеля может быть связана с тем, что:
- слишком дорого и\или долго дорабатывать решение на базе 1С в сравнении с более доступной разработкой внешнего веб-приложения;
- невозможность\нежелание доработки типовых конфигураций 1С по причине прекращения официальной техподдержки как от партнеров 1С, так и самой 1С;
- нежелание давать доступ сторонним людям к любой информации в 1С, кроме табельной с целью предотвращения, уменьшения вероятности (не)намеренной утечки чувствительной информации;
Интерфейсная часть
Перейдем к интерфейсу веб-приложения. Он несет в себе две составляющие: отображение визуальной информации и выполнение полезных функций.
Доступ к нему возможен после авторизации по логину и паролю. Основная страница, на которой представлены функции, выглядит как на рисунке ниже:
В таблице отображение табельной информации построено в виде пар строк по каждому сотруднику. В верхней строке плановые данные, в нижней строке фактические. Список сотрудников построен на основе того, что выполняется работа на определенном проекте, например «Ремонт завода».
В колонках дат выводится информация о:
- дневных, ночных, дневных и ночных рабочих часах ;
- сумме аванса или сумме выплаты; рабочий день (зеленый фон) либо выходной день (желтый фон).
По каждому сотруднику может быть дополнительная информация, такая как: название контракта, статус контракта (открыт, закрыт и дата закрытия); количество смен плановые и фактически; суммы удержания (такси, одежда, медицина).
В нижней части таблицы три итоговых строки по датам: ИТОГО план – сумма планируемых платежей, ИТОГО факт – сумма фактических выплат, ИТОГО к расчету.
Доступные функции:
- установка и перенос плановых выплат.
Установка суммы плановой выплаты доступно во всплывающем окне после двойного нажатия на ячейку соответствующей даты в строке плановых данных сотрудника;
- закрытие контракта. Если в строке сотрудника в колонке «Состояние» отображается статус «open» и кнопка «Закрыть», то значит доступна возможность закрыть контракт этого сотрудника;
- просмотр табеля по проекту или сотруднику. В форме фильтрации (над таблицей) возможно выбрать проект, по которому отображается табельная информация.
Либо выбрать еще и сотрудника для уменьшения количества строк таблицы до одного сотрудника и расчета итоговых данных по нему.
Обмен информацией с 1С двухсторонний и реализован через Rest API. Например, передается следующая информация: закрытие контракта, перенос выплаты с одной даты на другую.
Итог
Таким образом на одной веб-странице доступна как табельная информация, так и информация о состоянии контрактов, выплат сотрудникам. Кроме этого, возможно управлять выплатами и статусом контрактов сотрудников.
Обмен данными с 1С реализован через RestAPI, предоставленных с обеих сторон.
Доступ к информации и функциям, описанным выше, может быть предоставлен отдельным сотрудникам или, при определенных условиях, сотрудникам клиентов, партнеров, контрагентов компании. Причем без необходимости доработки и поддержки 1С решения и без доступа к остальной закрытой информации.
Комментарии, предложения, уточнения пишите в комментариях.