Como criar rapidamente um diário de presença

Existem situações em que, em uma reunião de pessoas, é necessário elaborar rapidamente uma lista dos presentes, indicando o sobrenome do nome e o nome patronímico. Pode ser palestras ou seminários, reuniões e até reuniões de inquilinos de HOAs. Muitas vezes, não lembramos dos nomes deles ou simplesmente nos conhecemos. Nesses casos, eles pegam uma folha de papel e a lançam, chamada de massas, com um pedido de inscrição. Havia uma tarefa dessas para fazer uma revista. Para mais detalhes, é necessário registrar os participantes do seminário que o compareceram pela primeira vez e se inscrever durante todo o curso de treinamento. Como os nomes dos participantes não são conhecidos antecipadamente, não podemos preparar a lista com antecedência.



O log mostra uma lista de pessoas verticalmente e as datas horizontalmente. Além disso, se uma pessoa estava na primeira lição, mas estava ausente nas seguintes, ela é inserida automaticamente no diário e H é marcado

Na minha opinião, o mais "saboroso" nesta tarefa é criar uma forma gráfica, e não se incomode muito. Quanto ao banco de dados, para um bom programador, essa é uma tarefa de 5 minutos.

Vamos começar com a revista. Para simplificar a construção, você deve recorrer a truques do programador)))). Se olharmos para um diário regular, ele já possui sobrenomes, portanto, um registro no banco de dados deve aparecer quando o palestrante do seminário marcar a ausência do cadete ou marcar a ausência; em outros casos, não há necessidade de fazer anotações; caso contrário, será necessário fazer um diário vazio um registro de cada célula vazia é tecnicamente impraticável.

Portanto, inseriremos informações na célula do diário apenas nesse momento se essas informações realmente surgirem. Digamos que você tenha um aplicativo da web que implemente um formulário de entrada



Depois que o participante preencher seus dados e pressionar o botão REGISTRAR, insira os dados no arquivo 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} ] 

Adicionamos automaticamente um campo com uma data em que o botão foi pressionado e um campo de classificação que significa uma marca, por exemplo, de 2 a 5, se for uma avaliação ou 1, se for uma marca de presença no seminário. Se você quiser apostar seus alunos :), então -1 pode ser usado em vez de um. Nesse caso, focaremos em 1, pois é conveniente usá-lo para calcular o número total de participantes no workshop.

Em seguida, usarei o programa FastReport para criar um relatório, que pode ser baixado do link .

O próprio relatório no editor do FastReport Designer é semelhante a este



Para construí-lo, é utilizado o componente MATRIX, no qual, com apenas alguns cliques, 2 campos Nome são inseridos verticalmente Data no horizonte. O campo de classificação é inserido na célula.

Para refletir a revista da forma usual, adicione um script simples



cuja ação é refletir o ausente na forma usual marcada como H. Execute o relatório



Não foi gasto muito tempo e o resultado é de alta qualidade. Este relatório é automaticamente transferido para a próxima página, o que é muito conveniente para folhas grandes e não precisa ser tratado - este é o próprio programa. Eu recomendo a todos que usem relatórios semelhantes para automatizar os processos diários.

Source: https://habr.com/ru/post/pt481886/


All Articles