Funções
Cadastro de Funções
Gestão centralizada de funções (papéis ou cargos) do Portal EasyPAC, com vinculação a empresas e controle de visibilidade para usuários.
Visão Geral das Funções
A tela de Funções, dentro do módulo Cadastro do Portal EasyPAC, é onde o usuário mantém o cadastro das funções (papéis ou cargos) que podem ser atribuídas aos usuários do sistema. Cada função pode ficar vinculada a uma ou mais empresas, ou não ter nenhum vínculo com empresa nenhuma, hipótese em que ela é chamada de função “geral” e passa a ficar visível para qualquer usuário do sistema, independentemente da empresa a que ele pertença.
É a partir do que fica salvo aqui que outras telas do sistema conseguem localizar funções para vincular a um usuário, seja consultando o identificador e o nome de uma função específica, seja obtendo a lista completa de funções disponíveis para um usuário determinado. Por isso, cadastrar corretamente o nome da função e o vínculo (ou a ausência de vínculo) com empresas é o que garante que somente os usuários certos enxerguem cada função na listagem e possam utilizá-la nesse tipo de vínculo.
Vincular uma função a um usuário é feito em outra tela do sistema, não nesta; a tela de Funções cuida apenas do cadastro da função em si (nome e empresas vinculadas).
Vídeo Tutorial das Funções
▶ Tutorial em vídeo: ainda não disponível para esta rotina.
Pré-requisitos e Contexto de Acesso das Funções
Perfis que acessam a tela
O acesso à tela de Funções é controlado por permissões específicas de perfil de acesso, concedidas individualmente para cada ação:
- Ver a listagem de funções exige a permissão de visualizar função.
- Abrir o formulário para cadastrar uma função nova exige a permissão de nova função.
- Abrir e salvar a edição de uma função já existente exige a permissão de editar função.
- Excluir uma função exige a permissão de excluir função.
Perfil fiscal
Usuários com esse perfil não têm acesso à tela de Funções; não conseguem incluir, editar nem excluir nenhuma função.
Recorte de dados por empresa
Mesmo com a permissão de visualizar função concedida, o usuário só enxerga na listagem as funções cujas empresas vinculadas estejam TODAS entre as empresas às quais ele próprio tem acesso. Funções “gerais” (sem nenhuma empresa vinculada) aparecem para todos os usuários, independentemente das empresas de cada um.
Dependência de cadastro de empresa
Para vincular uma função a uma empresa, essa empresa precisa já estar cadastrada e vinculada ao usuário logado, pois é dessa lista que vêm as empresas disponíveis tanto no filtro da listagem quanto no formulário de cadastro/edição. Se o usuário logado não tiver nenhuma empresa vinculada a ele, essas listas de empresa aparecem vazias.
ℹ️ Informações importantes
- Não é obrigatório vincular empresa nenhuma: uma função pode ser salva sem nenhuma empresa selecionada, tornando-se uma função “geral”.
- Rotina é pré-requisito de outra: o cadastro de uma função aqui é pré-requisito para que ela possa ser vinculada a um usuário em outra tela do sistema; sem a função estar cadastrada nesta tela, ela não aparece disponível para vínculo em nenhum outro lugar.
- Consultas sem exigência de permissão: dois pontos de consulta usados internamente pelo sistema (um que devolve o identificador e o nome de uma função a partir do seu identificador, e outro que lista as funções vinculáveis a um usuário) não exigem permissão nem autenticação para serem acionados, diferente de todas as demais operações desta tela. Esse comportamento é uma característica identificada na análise técnica de origem e está sinalizado ali como um ponto a ser observado pela equipe responsável; não é algo que o usuário final precise agir a respeito, mas explica por que essas duas consultas específicas não dependem de permissão.
Processo de Criação: Passo a Passo das Funções
Acessar a tela de Funções
O usuário acessa o menu Cadastro > Funções. Ao abrir a tela, o sistema monta automaticamente a lista de empresas do filtro (as empresas vinculadas ao usuário logado, mais a opção “Geral” no início da lista) e carrega a grade de funções já cadastradas.
Clicar em Novo
O usuário clica no botão Novo, na grade de funções. O sistema abre o formulário de cadastro vazio, pronto para o preenchimento de uma nova função.
Preencher o nome da função
O usuário digita o nome da função no campo Nome. Esse preenchimento é obrigatório e tem limite de 50 caracteres; o sistema valida isso diretamente na tela, antes de qualquer envio ao servidor.
Selecionar as empresas vinculadas (opcional)
O usuário pode selecionar uma ou mais empresas no campo Empresas, dentre as empresas vinculadas a ele. Esse passo é opcional: se nenhuma empresa for selecionada, a função é salva como “geral” e fica visível para todos os usuários do sistema.
Clicar em Salvar
O usuário confirma o cadastro. O sistema valida, no navegador, se o campo Nome foi preenchido e respeita o limite de 50 caracteres; se alguma dessas validações falhar, o campo é destacado visualmente e o envio ao servidor é cancelado, sem chegar a acionar o servidor.
Validação no servidor
Se a validação no navegador passar, o sistema envia os dados ao servidor. Antes de gravar, o servidor preenche automaticamente, por conta própria, o usuário responsável, a empresa de origem da função e a data de inclusão, substituindo qualquer valor que tenha vindo do formulário para esses três dados (ver seção “Regras de Negócio e Restrições das Funções”, Regra 3). Em seguida, o servidor verifica se já existe outra função com o mesmo nome, considerando todas as funções do sistema, de qualquer empresa.
Retorno ao usuário
Se o servidor aceitar a gravação, o sistema exibe a mensagem “Operação efetuada com sucesso.” e retorna automaticamente para a listagem de funções, mantendo os filtros que estavam aplicados antes de abrir o cadastro. Se o servidor recusar a gravação (por exemplo, por nome já usado em outra função), a mensagem de erro correspondente é exibida em um diálogo, e o formulário permanece aberto com os dados já digitados, para que o usuário possa corrigir e tentar novamente.
Observação: a qualquer momento, antes de salvar, o usuário pode clicar em Cancelar para voltar à listagem sem gravar nada, preservando os filtros que estavam aplicados antes de abrir o formulário.
Descrição de Cada Campo da Tela das Funções
Identificador (coluna da grade de listagem de Funções)
Tipo
Número, exibição apenas (não é um campo editável)
Obrigatoriedade
Não se aplica (gerado automaticamente pelo sistema ao cadastrar a função)
Descrição: número que identifica cada função de forma única dentro do sistema.
Comportamento: a grade de funções vem, por padrão, ordenada por esta coluna em ordem decrescente; o usuário pode clicar no cabeçalho desta coluna para alternar a ordenação. Quando o texto digitado no campo de busca da grade é um número inteiro, o sistema usa esse número para localizar a função pelo Identificador exato.
Impacto: é o valor usado por outras telas do sistema para localizar e vincular a função a um usuário; também aparece nas mensagens de confirmação de exclusão, junto com o Nome.
Nome (coluna da grade de listagem de Funções)
Tipo
Texto, exibição apenas na grade (o mesmo dado é editável no formulário de cadastro/edição, descrito adiante)
Obrigatoriedade
Não se aplica na grade (é apenas exibição do valor já cadastrado)
Descrição: nome dado à função, como aparece para quem está consultando a listagem.
Comportamento: o usuário pode clicar no cabeçalho desta coluna para ordenar a grade por nome. Quando o texto digitado no campo de busca da grade não é um número inteiro, o sistema busca as funções cujo nome contenha o texto digitado.
Impacto: é o nome usado em todas as telas do sistema que exibem ou permitem selecionar uma função, inclusive nas mensagens de sucesso e erro desta própria tela.
Campo de busca da grade de Funções
Tipo
Texto livre
Obrigatoriedade
Opcional
Descrição: campo usado para localizar rapidamente uma função já cadastrada, digitando parte do nome ou o identificador exato. (Nota: texto exato do rótulo não informado na documentação de origem, validar com analista responsável)
Comportamento: se o texto digitado for um número inteiro, o sistema procura a função com aquele Identificador exato; caso contrário, procura as funções cujo Nome contenha o texto digitado. A busca só é enviada ao servidor a partir do terceiro caractere digitado, ao pressionar Enter ou ao limpar o campo, com uma espera de meio segundo depois que o usuário para de digitar (para evitar disparar uma busca a cada tecla pressionada).
Impacto: define quais funções aparecem na grade de listagem, mas não altera nenhum dado gravado no cadastro das funções.
Empresa (campo do painel de filtros da listagem de Funções)
Tipo
Seleção múltipla (permite marcar mais de uma empresa ao mesmo tempo), com busca dentro da própria lista
Obrigatoriedade
Opcional
Descrição: campo usado para restringir a listagem de funções às que estão vinculadas a uma ou mais empresas específicas. A lista de opções mostra as empresas vinculadas ao usuário logado, mais a opção “Geral” no início.
Comportamento: a busca dentro da lista de opções ignora acentuação e diferença entre maiúsculas e minúsculas. A alteração deste campo só passa a valer, recarregando a grade, depois que o usuário clica no botão “Filtrar”; apenas mudar a seleção sem clicar em “Filtrar” não altera a listagem exibida. Quando a opção “Geral” está marcada (ou o campo está vazio), nenhuma restrição adicional por empresa é aplicada além do recorte automático de visibilidade do usuário logado (ver seção “Regras de Negócio e Restrições das Funções”). O painel de filtros inicia recolhido, e o valor escolhido aqui fica guardado no navegador durante a sessão, sendo restaurado automaticamente quando o usuário volta para a listagem depois de abrir um cadastro ou uma edição.
Impacto: define quais funções aparecem na grade de listagem; não altera nenhum dado gravado no cadastro das funções.
Nome (campo do formulário de cadastro/edição de função)
Tipo
Texto
Obrigatoriedade
Obrigatório, com limite de 50 caracteres
Descrição: nome dado à função que está sendo cadastrada ou editada; é o nome pelo qual essa função vai aparecer em toda a listagem e em qualquer outra tela do sistema que exiba ou permita selecionar funções.
Comportamento: o sistema valida o preenchimento e o limite de 50 caracteres diretamente na tela, antes de enviar ao servidor; se o campo estiver vazio ou ultrapassar o limite, ele é destacado visualmente e o envio é cancelado. Depois de enviado, o servidor também verifica se já existe outra função com o mesmo nome, considerando todas as funções do sistema, de qualquer empresa; se existir, a gravação é recusada com a mensagem “Já existe uma função cadastrada com o nome {nome}”.
Impacto: aparece na coluna Nome da grade de listagem, nas mensagens de sucesso e erro do sistema, e é o nome pelo qual a função fica disponível para vínculo com usuários em outras telas.
Empresas (campo do formulário de cadastro/edição de função)
Tipo
Seleção múltipla (permite marcar mais de uma empresa), sem busca dentro da lista
Obrigatoriedade
Opcional
Descrição: define a quais empresas a função está vinculada. Se nenhuma empresa for selecionada, a função é salva como “geral” e passa a ficar visível para todos os usuários do sistema, independentemente da empresa de cada um.
Comportamento: a lista de opções mostra sempre as empresas vinculadas ao usuário logado (sem a opção “Geral”, que existe apenas no filtro da listagem, não no formulário). No cadastro de uma função nova, essa lista já vem carregada assim que o formulário é aberto. Na edição de uma função existente, atenção: depois que o sistema busca a função a ser editada, ele recarrega a lista de empresas do campo a partir do usuário logado e marca como pré-selecionada a empresa padrão desse usuário, e não necessariamente a(s) empresa(s) que já estão de fato vinculadas à função. Por isso, ao editar uma função, é importante conferir manualmente e reselecionar as empresas corretas antes de salvar, em vez de confiar na marcação que aparece ao abrir a tela (ver seção “Regras de Negócio e Restrições das Funções”).
Impacto: determina para quais usuários a função fica visível na listagem e disponível para vínculo (ver “Escopo de visibilidade por empresa” na seção de regras de negócio).
ℹ️ Observação sobre campo de situação
A tela de Funções não possui nenhum campo de situação (ativo/inativo) para a função; esse tipo de valor nunca é definido a partir desta tela, nem no cadastro nem na edição.
Utilização e Consulta de Registros das Funções
O usuário localiza funções já cadastradas na grade de listagem da tela de Funções, que exibe 20 registros por página, com navegação entre páginas. Por padrão, a grade aparece ordenada pela coluna Identificador em ordem decrescente; o usuário pode clicar nos cabeçalhos das colunas Identificador ou Nome para alternar a ordenação por elas, sendo essas as únicas duas colunas que aceitam ordenação por clique.
Busca livre
Digitando no campo de busca da grade, o sistema procura pelo Identificador exato (quando o texto digitado é um número inteiro) ou pelas funções cujo Nome contenha o texto digitado (nos demais casos). Essa busca dispara automaticamente a partir do terceiro caractere digitado, ao pressionar Enter, ou ao limpar o campo, com uma pequena espera após o usuário parar de digitar.
Filtro por Empresa
No painel de filtros (que inicia recolhido), o usuário seleciona uma ou mais empresas e clica em “Filtrar” para aplicar a restrição à listagem. Enquanto o botão “Filtrar” não é clicado, a alteração no campo Empresa não tem efeito sobre a grade.
ℹ️ Persistência de filtros
Os valores de filtro aplicados ficam guardados durante a sessão do navegador e são restaurados automaticamente quando o usuário retorna à listagem depois de abrir um cadastro ou uma edição. Independentemente da busca e do filtro aplicados, a listagem só exibe as funções que o usuário logado tem permissão de enxergar, segundo a regra de visibilidade por empresa descrita na seção “Regras de Negócio e Restrições das Funções”.
Processo de Edição das Funções
A tela de Funções permite editar uma função já cadastrada. O usuário abre a edição clicando no botão Editar (com a função selecionada na grade) ou dando duplo clique diretamente na linha da função desejada.
Campos que podem ser alterados na edição
- Nome da função.
- Empresas vinculadas à função (podendo passar de “geral” para vinculada a uma ou mais empresas, ou vice-versa).
Campos que não podem ser alterados
- O Identificador da função nunca é alterado; é ele quem diz ao sistema que se trata de uma edição, e não de um cadastro novo.
- O usuário responsável pela última gravação e a empresa de origem da função são sempre redefinidos automaticamente pelo sistema a cada gravação (cadastro ou edição), independentemente do que estava no formulário.
- A data de inclusão original da função é preservada pelo servidor durante a edição; mesmo que o Portal reenvie uma nova data junto com a edição, o servidor descarta esse valor reenviado e mantém a data de inclusão que já estava gravada desde o cadastro.
- Não existe campo de situação (ativo/inativo) nesta tela, portanto não há esse tipo de valor para alterar na edição.
⚠️ Atenção ao editar uma função
Ao abrir a edição, o campo Empresas do formulário aparece com uma pré-seleção baseada na empresa padrão do usuário que está editando, e não necessariamente com as empresas que já estão de fato vinculadas à função. Antes de salvar uma edição, é recomendável conferir e reselecionar manualmente as empresas corretas para aquela função, para evitar alterar por engano o vínculo de empresas já existente.
🔒 Condições que impedem a edição
Se a função que está sendo editada foi excluída ou alterada por outra sessão antes do usuário salvar, o servidor recusa a gravação com a mensagem “401 >> função não encontrada.”, e o formulário permanece aberto com os dados digitados, sem gravar nada. Também é recusada a gravação se o novo nome escolhido já estiver em uso por outra função do sistema (ver seção “Regras de Negócio e Restrições das Funções”).
ℹ️ Histórico de alterações
A documentação de origem não menciona nenhuma tela ou recurso de histórico/log de alterações para o cadastro de funções [informação não disponível na documentação de origem, validar com analista responsável].
Ao salvar a edição com sucesso, o sistema exibe a mensagem “Operação efetuada com sucesso.” e retorna para a listagem de funções, preservando os filtros que estavam aplicados antes de abrir a edição.
Estrutura Técnica e Comportamento do Sistema das Funções
Preenchimento automático de controle
Quando o usuário salva uma função (seja um cadastro novo, seja uma edição), o sistema preenche automaticamente, sem que o usuário precise fazer nada, três informações internas de controle: o usuário responsável pela gravação, a empresa de origem da função e, apenas no cadastro novo, a data de inclusão. Isso garante que todo registro tenha um responsável e uma origem identificados, mesmo que o formulário não peça esses dados diretamente ao usuário.
Base para outras telas
O cadastro de funções serve de base para outras telas do sistema que atribuem função a um usuário: quando essas outras telas precisam saber o nome de uma função a partir do seu identificador, ou listar as funções disponíveis para um usuário específico, elas consultam diretamente os dados mantidos aqui. Por isso, qualquer função que ainda não exista, ou que esteja com o nome ou o vínculo de empresas incorretos nesta tela, pode fazer com que essas outras telas não encontrem a função esperada ou apresentem a função para usuários que não deveriam vê-la.
Cálculo dinâmico de visibilidade
A visibilidade de cada função para um usuário é recalculada automaticamente pelo sistema toda vez que a listagem é carregada, comparando as empresas vinculadas à função com as empresas às quais aquele usuário tem acesso; não é um valor gravado junto com a função, e sim uma verificação feita em tempo real a cada consulta.
Validação de vínculos antes da exclusão
Ao excluir uma função, o sistema verifica antes se ela está vinculada a outros registros do sistema (por exemplo, usuários que já usam essa função); se houver algum vínculo, a exclusão é bloqueada automaticamente, para evitar que outras partes do sistema fiquem fazendo referência a uma função que não existe mais.
Decisão automática entre criar e editar
A decisão entre gravar uma função como nova ou como edição de uma já existente é feita automaticamente pelo sistema a partir do identificador enviado, sem que o usuário precise indicar explicitamente se está criando ou editando: isso é decidido nos bastidores, com base em o formulário estar vinculado ou não a uma função já existente.
Regras de Negócio e Restrições das Funções
Nome de função deve ser único em todo o sistema
Não é permitido cadastrar ou renomear uma função para um nome já usado por outra função, mesmo que essa outra função pertença a uma empresa diferente. Essa verificação considera todas as funções do sistema, de todas as empresas, e não apenas as da empresa selecionada no momento. Se o nome já existir, o sistema recusa a gravação com a mensagem “Já existe uma função cadastrada com o nome {nome}”, e o usuário precisa escolher outro nome para conseguir salvar.
Função sem empresa vinculada é uma função “geral”
Uma função pode ficar vinculada a nenhuma, uma ou várias empresas. Quando não há nenhuma empresa vinculada, a função é considerada “geral” e aparece na listagem e nas consultas de vínculo para qualquer usuário do sistema, independentemente das empresas às quais esse usuário tem acesso.
Visibilidade de função vinculada a empresas depende de todas as empresas vinculadas
Quando uma função tem uma ou mais empresas vinculadas, ela só aparece na listagem principal para um usuário quando TODAS as empresas vinculadas a ela estiverem entre as empresas às quais esse usuário tem acesso. Se apenas uma das empresas vinculadas estiver fora do acesso do usuário, a função inteira deixa de aparecer para ele. Na consulta de funções vinculáveis a um usuário específico, essa mesma regra vale quando o identificador desse usuário é informado; quando não é informado (ou é igual a zero), a comparação passa a considerar a empresa ativa da sessão no momento, e nesse caso basta que uma das empresas vinculadas à função esteja entre as consideradas para que a função apareça.
Redefinição automática de usuário, empresa de origem e data de inclusão
A cada gravação de uma função (cadastro ou edição), o sistema sempre redefine automaticamente o usuário responsável e a empresa de origem da função, substituindo qualquer valor que porventura tenha vindo do formulário. A data de inclusão só é redefinida de fato no cadastro de uma função nova; ao editar uma função já existente, o sistema preserva a data de inclusão original gravada desde o cadastro, e qualquer nova data enviada durante a edição é descartada. Na prática, isso significa que, ao editar uma função, apenas o Nome e as Empresas vinculadas são realmente atualizados no registro.
Apenas Identificador e Nome podem ordenar a grade de listagem
Na grade de listagem de funções, somente um clique nos cabeçalhos das colunas Identificador ou Nome altera a ordenação exibida. Clicar em qualquer outra área não muda a ordenação atual, e quando nenhuma coluna de ordenação é informada ao sistema, a listagem é exibida sem nenhuma ordenação explícita aplicada.
Busca livre da grade diferencia número de texto
No campo de busca da grade de listagem, se o texto digitado for um número inteiro, o sistema interpreta como uma busca pelo Identificador exato daquele número; se o texto digitado não for um número inteiro, o sistema busca pelas funções cujo Nome contenha o texto digitado.
Filtro de Empresa só restringe com uma empresa específica selecionada
O filtro de Empresa do painel de filtros só aplica uma restrição adicional à listagem quando uma empresa específica (diferente da opção “Geral”) é selecionada e o botão “Filtrar” é acionado. Com o filtro vazio ou com a opção “Geral” selecionada, nenhuma restrição adicional por empresa é aplicada além do recorte automático de visibilidade do usuário logado (ver Regra 3).
Função vinculada a outros registros não pode ser excluída
Antes de excluir uma função, o sistema verifica se ela está vinculada a outros registros do sistema (por exemplo, usuários que já a utilizam). Se houver qualquer vínculo, a exclusão é bloqueada com a mensagem “Não é possível deletar esta função devido a ligação com outros registros…”, e a função permanece na listagem sem nenhuma alteração.
Função não encontrada bloqueia edição e exclusão
Se, no momento de salvar uma edição ou de confirmar uma exclusão, a função em questão não for mais localizada pelo sistema (por exemplo, por ter sido removida ou alterada por outra sessão enquanto o usuário trabalhava nela), a operação é interrompida sem alterar nada: na edição, com a mensagem “401 >> função não encontrada.”; na exclusão, com a mensagem “401 >> função não encontrada, ou dados inválidos para esta operação.”.
Ausência de campo de situação
O cadastro de Funções não possui campo de situação (ativo/inativo); esse tipo de valor nunca é definido a partir desta tela, nem no cadastro nem na edição de uma função.
Restrição de acesso por permissão e por perfil
Cada ação da tela de Funções exige uma permissão específica atribuída ao perfil de acesso do usuário: visualizar função (para ver a listagem), nova função (para cadastrar), editar função (para alterar um registro existente) e excluir função (para remover um registro). Usuários com perfil fiscal não têm acesso a nenhuma dessas ações na tela de Funções.