Как стать автором
Обновить

Как быстро создать журнал учета присутствующих

Время на прочтение 3 мин
Количество просмотров 5.6K
Бывают такие ситуации когда на собрании людей, необходимо быстро составить список присутствующих с указанием фамилии имени и отчества. Это могут быть лекции или семинары, митапы и даже собрания жильцов ТСЖ. Очень часто мы не помним их фамилии или только знакомимся. В таких случаях берут лист бумаги и запускают его, что называется в массы, с просьбой записаться. Возникла такая задача сделать журнал. Для большей конкретики — необходимо записать участников семинара, которые пришли на него в первый раз и регистрировать в течение всего курса обучения. Фио участников не известны заранее, поэтому список мы не можем подготовить заранее.



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

На мой взгляд самое «вкусное» в этой задаче создать графическую форму, при этом особо не заморачиваться. Что касается базы данных, то для хорошего программиста это задача на 5 минут.

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

Поэтому будем вносить информацию в клетку журнала только в тот момент если эта информация действительно возникает. Допустим у вас есть веб приложение в котором реализована форма ввода



После того как участник заполняет свои данные и нажимает кнопку ЗАРЕГИСТРИРОВАТЬСЯ заносим данные в в json файл

[
{"Name":"Ivanov", "Date":"01.01.2019", "grade": 1}
{"Name":"Petrov", "Date":"01.01.2019", "grade": 1}
{"Name":"Ivanov", "Date":"02.01.2019", "grade": 1}
{"Name":"Petrov", "Date":"03.01.2019", "grade": 1}
{"Name":"Ivanov", "Date":"06.01.2019", "grade": 1}
{"Name":"Ivanov", "Date":"07.01.2019", "grade": 1}
{"Name":"Ivanov", "Date":"08.01.2019", "grade": 1}
{"Name":"Ivanov", "Date":"09.01.2019", "grade": 1}
{"Name":"Ivanov", "Date":"10.01.2019", "grade": 1}
{"Name":"Ivanov", "Date":"12.01.2019", "grade": 1}
{"Name":"Maksimova", "Date":"08.01.2019", "grade": 1}
{"Name":"Maksimova", "Date":"09.01.2019", "grade": 1}
{"Name":"Maksimovav", "Date":"10.01.2019", "grade": 1}
{"Name":"Maksimova", "Date":"13.01.2019", "grade": 1}
{"Name":"Semenov", "Date":"01.02.2019", "grade": 1}
{"Name":"Maksimova", "Date":"02.01.2019", "grade": 1}
]

Автоматически добавляем поле с датой когда кнопка была нажата и полем grade которое означает отметку, например от 2-5 если это оценка или 1 если это отметка присутствия на семинаре. Если вы хотите ставить колы своим ученикам :) то тогда вместо единицы можно использовать -1. В рассматриваем случае остановимся на 1, тк это удобно использовать для подсчета общего количества участников семинара.

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

Сам отчет в редакторе FastReport Designer выглядит так



Для его построения используется компонент МАТРИЦА в который с помощью нескольких кликов заносятся 2 поля Name по вертикали Date по горизонта. Поле grade заносим в ячейку.

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



действие которого направлено на то, чтобы отражать отсутствующих в привычной форме с пометкой H. Запускаем отчет



Времени затрачено не много, а результат очень качественный. Данный отчет автоматически переносится на следующую страницу что очень удобно для больших ведомостей и заботится об этом не нужно — это программа делает сама. Всем рекомендую пользоваться подобными отчетам для автоматизации повседневных процессов.
Теги:
Хабы:
+1
Комментарии 31
Комментарии Комментарии 31

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн