Форумы  ·  Войти  · 

Тема: Контроллер SMDR 2

Страница 2 из 6, все  < 1 2 3 4 >  
[ #16 ]  27.03.09 14:43   Oleg [Editor]  KOMENDANT LAB  

А вопросов то больше и нет 😊 Ибо посчитать можно только то что может быть подведено под систему, хаос систематизировать нельзя 😊
Из вашего описания я понял только то, что системно существует только одно - смены. Сотрудники могут работать, а могут и не работать - хаотично. Нарушений в системе быть не может (прогулов, опозданий и прочего), только недоработки.
Ну, допустим, сделаем два графика 1 и 2 смена. Два отчета по каждой смене.
Сотрудник начал работать в 7-30 и закончил в 20-30.
В отчете по первой смене у нас порядок - 12 часов. В отчете по второй смене (а он же имеет право работать во вторую смену, ведь мы ему дали полную свободу) у нас выползают два периода по 30 минут. И каким таким образом программе сообщить, что в такой ситуации прав то у сотрудника нет, хотя с другой стороны .. кто ему мешает остаться на вторую смену целиком. Как минимум, при таком хаосе, я вижу выход только в использовании каждым сотрудников двух карт доступа. Одна карта для первой смены, вторая - для второй смены. И отчетность будет каждая по своей смене.

[ #17 ]  27.03.09 16:25   Chost  (177/24.03.09)  

По поводу двух карточек это интересно:)
Можно каким нибудь образом сделать выборку из базы данных по:
1) Допустим если человек пришел с 7-00 до 9-00, значит он работает в первую смену, если с 18-00 до 21-00 то он работает во вторую смену
2) Длина смены не может превышать 12 часов
3) Отсчет отработанного времени производится, только с 8-00, либо только с 20-00
Предложил заказчику использовать две карточки, он категорически отказалси:(

[ #18 ]  27.03.09 16:35   Chost  (177/24.03.09)  
Editor - 27.03.09 14:56

Для этого воспользуемся демонстрационной базой данных, которая идет в комплекте с Delphi – DBDEMOS. Создадим новый проект в Delphi. На форму положим компонент TTable и настроим его свойства

Что означает фраза положим на форму и что такое TTable?

[ Изменено: 27.03.09 16:41 Chost ]
[ #19 ]  27.03.09 17:42   Kosstos  EXPERT  
Chost - 27.03.09 16:35
Editor - 27.03.09 14:56

Для этого воспользуемся демонстрационной базой данных, которая идет в комплекте с Delphi – DBDEMOS. Создадим новый проект в Delphi. На форму положим компонент TTable и настроим его свойства

Что означает фраза положим на форму и что такое TTable?

Откуда Вы это взяли?

[ #20 ]  27.03.09 18:11   Chost  (177/24.03.09)  

с инструкции к фастрепорт

[ #21 ]  27.03.09 18:42   Oleg [Editor]  KOMENDANT LAB  

Оставьте пока фастрепорт, он вам пока не нужен.
Если заказчик отказался от двух карточек, тогда, основываясь на здравый смысл и логику, стоит спросить, а как софт будет разбираться с хаосом. Ну допустим две смены, ну вышел сотрудник. Что делать с захлестом на следующую смену, на которую этот сотрудник, имеет все теже самые права? Сотрудник пришел в 13-00, он опоздал или пришел раньше? 😊

[ Изменено: 27.03.09 18:49 Oleg [Editor] ]
[ #22 ]  27.03.09 18:55   Chost  (177/24.03.09)  

Я вижу следующую логику:
1) выборка все кто зашел с 7-00 до 9-00
2) убрать дубли и оставить самое раннее событие
3) выборка все кто вышел с 19-00 до 21-00
4) убрать дубли оставить самое позднее событие.
5) вычисляем время работы по каждому дню для первой смены в промежутке с 8-00 до 20-00 с помощью функции если
6) получаем таблицу с номером карточки и отработанным временем
7) проделываем тоже самое с второй сменой
8) суммируем таблицы, получаем отработаное время.

[ #23 ]  27.03.09 18:56   Oleg [Editor]  KOMENDANT LAB  

И вот еще вариант для такого случая. Раз уж хаос, и две карточки не приемлемо, можно задать все те же два графика. В конце месяца сначала вывести отчет по сотруднику по первому графику, затем применить сотруднику второй график и вывести отчетность уже по второму гафику. А дальше ручками .. ручками 😊

[ #24 ]  27.03.09 18:56   Chost  (177/24.03.09)  

Все кто пришли или ушли в неуказанный промежуток на работе не было.

[ #25 ]  27.03.09 18:58   Oleg [Editor]  KOMENDANT LAB  

ваш вариант гибнет если сотрудник будет работать пару смен подряд 😊 или появится на работе в 13-00 😊

[ #26 ]  27.03.09 18:59   Chost  (177/24.03.09)  
Editor - 27.03.09 18:56

И вот еще вариант для такого случая. Раз уж хаос, и две карточки не приемлемо, можно задать все те же два графика. В конце месяца сначала вывести отчет по сотруднику по первому графику, затем применить сотруднику второй график и вывести отчетность уже по второму гафику. А дальше ручками .. ручками 😊

там около 200 сотрудников

[ #27 ]  27.03.09 19:00   Chost  (177/24.03.09)  
Editor - 27.03.09 18:58

ваш вариант гибнет если сотрудник будет работать пару смен подряд 😊 или появится на работе в 13-00 😊

все кто пришли или ушли в не указанный промежуток на работе не присутствовали

[ #28 ]  27.03.09 19:02   Oleg [Editor]  KOMENDANT LAB  

один график может быть у 500 сотрудников 😊, изменяется график - изменяется сразу у всех 😊

[ #29 ]  27.03.09 20:12   Chost  (177/24.03.09)  
Editor - 27.03.09 19:02

один график может быть у 500 сотрудников 😊, изменяется график - изменяется сразу у всех 😊

нужно что либо автоматическое без лишнего гемороя

[ #30 ]  28.03.09 12:00   Chost  (177/24.03.09)  

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

[ Изменено: 30.03.09 9:24 Chost ]
Страница 2 из 6, все  < 1 2 3 4 >  
Komendant.pro
 ©1999-2024  Инженерная лаборатория "Комендантъ"