SORGES / SORGES LIGHT – Desativando cadastros

Neste artigo demonstrarei como desativar cadastros no software.

Para começar, este recurso está presente em quase todos os cadastros, em todos os segmentos. Nas imagens abaixo demonstro o controle de funcionários e o módulo de vendas no segmento de comércio, apenas para exemplo.

tela inicial

Ao acessar o cadastro do funcionário (e outros cadastros), temos entre outros campos o ATIVO:

cadastro do funcionário

Este campo controla a visibilidade do cadastro. Desmarcando ele não aparecerá em outros módulos, como podemos ver no caso da venda, abaixo:

venda

Porém, se ele já havia sido selecionado antes em algum movimento, continuará aparecendo normalmente naquele cadastro.

Agora vamos a uma explicação do porque o sistema funcionar assim. Se você tentar excluir um cadastro que está vinculado a outros, verá uma mensagem de erro bloqueando o processo. É por isso que o campo ATIVO está lá no cadastro, para que numa situação como esta você possa desativar ele.

Como certeza você se perguntará: porque bloquear a exclusão? A resposta está na forma como o software tem que trabalhar.

Ao olhar no topo dos cadastros verá que quase sempre há um campo código, o primeiro do cadastro, e sempre ele está bloqueado. Ele é um identificador único do cadastro, e quando houver necessidade de amarra o cadastro em algum outro módulo é o código que é usado para isso. Numa venda, por exemplo, só vai ter o código do cliente, o código do funcionário, o código do produto. Você não tem os nomes e nem os demais detalhes dos cadastros dentro da venda. Você consegue ver este nome e detalhes porque o sistema faz buscas dinâmicas quando monta as telas, consultas e relatórios. E ele faz isso procurando os cadastros pelo código. Mas se você apaga o cadastro, tudo que sobrou na venda foi o código, então você não saberia mais quem foi o cliente, quem foi o funcionário, e qual foi o produto vendido.

Pode ser que você pense assim: mas se vou excluir isso não tem problema! Porém, se a exclusão foi um acidente, ou se foi feito por um usuário mau intencionado, a coisa complica muito! Fora o fato de que no futuro você pode voltar a vender o produto, pode voltar a atender o mesmo cliente, mesmo que ache que não.

Você também pode pensar o seguinte: porque não armazenar todas as informações do cadastro na venda, por exemplo. Bom, a resposta é simples: só o cadastro do produto tem mais de 100 campos. Os outros até são menores, mas mesmo o funcionário tem mais de 50 campos! Imagine cada venda tendo todos estes campos, e o pior, repetidos. O banco de dados cresceria muito, e se fizer alguma alteração no cadastro o sistema teria que ajustar forçadamente todos os movimentos já registrados antes. É impraticável! Pense numa base com 1 milhão de vendas, por exemplo, é muito mais simples e econômico ter só o código armazenado ali, e quando precisar de alguma informação o software busca no cadastro. Veja que falo da venda, mas isso vale para todos os módulos que possuem este tipo de vínculo, você perceberá que é sempre mais interessante o software só armazenar o código ali, assim evita informações duplicadas.