24552 - Relatório SMAC008.GER Gráfico de Acidente do Trabalho - Filtro Filial
Problema: Ao listar o relatório Gráfico de Acidente do Trabalho, quando deixamos o campo 'Filial' zerado as informações são listadas, porém se informamos uma filial as informações ficam zeradas.
Rotina / Tela: Segurança > Acidentes > Listar > Modelo 008.
Solução: Funcionamento do campo Filial da tela de entrada do relatório
Rotina / Tela: Segurança > Acidentes > Listar > Modelo 008.
Solução: Funcionamento do campo Filial da tela de entrada do relatório
Existe dois campos que precisam ser considerados para entender o funcionamento:
1 - Campo Filial, que está na entrada do relatório
2 - Campo Nível Filial que fica na estrutura do organograma em Tabelas/ Organograma/ Estrutura
Esses campos serão utilizados aplicar um filtro dos locais apresentados no relatório.
Nesse filtro, todos os locais são mostrados, independente se o filtro os abrange. A diferença é que os locais que NÃO são selecionados no filtro vão aparecer com os valores todos zerados.
Por exemplo, se eu tenho os locais 01.01.02 e 01.02.01 e filtro por todos os locais abaixo de 01.01, o local 01.01.02 vai aparecer no relatório com os valores enquanto que o local 01.02.01 vai aparecer com os valores todos zerados. Em outras palavras o local 01.02.01 ainda vai aparecer no resultado do relatório, a unica diferença é que seus valores vão estar zerados. Ou seja, no caso desse relatório, o filtro serve apenas para determinar se as informações vão aparecer zeradas ou não.
Quanto ao funcionamento do filtro
Esses campos em questão (Filial e Nível Filial), vão ser usados para realizar um filtro dos locais. Filtro este que se comporta como dito anteriormente, zerado os que não entram no filtro e deixando valor para os locais que entram no filtro.
O campo Filial é informado na entrada do relatório e o campo Nível Filial é informado na tela da hierarquia do organograma.
Para selecionar qual local entra no filtro, é preciso comparar o valor informado no campo Filial com a partícula do local escolhida usando o campo Nível de Filial.
O processo é o seguinte:
Passo 1 - Encontrar a partícula do local para comparação:
Se o local é, por exemplo, 01.02.01
A partícula do local vai ser:
01 se o Nível filial for 1
02 se o Nível filial for 2
01 se o Nível filial for 3
00 se o Nível filial for 4
Perceba que o nível filial específica em que posição do local eu extraio o número.
Esse número é a partícula do local, que será usada para a comparação.
Passo 2
Comparar se a partícula de local extraída no passo anterior é igual ao valor informado no campo Filial da entrada do relatório.
Se a partícula e o campo filial tiverem o mesmo valor, o local é selecionado e seus valores apresentados.
Se a partícula e o campo filial NÃO forem iguais, o local é apresentado com todos os valores zerados.
Exemplo 1
Local: 01.03.02
Filial: 03 (informada na entrada do relatório)
Nível Filial: 01 (cadastrado na tela do organograma)
Partícula extraída: 01
Comparação que será feita: 01 = 03?
Resultado: local 01.03.02 será listado com valores ZERADOS.
Exemplo 2
Local: 01.03.02
Filial: 03 (informada na entrada do relatório)
Nível Filial: 02 (cadastrado na tela do organograma)
Partícula extraída: 03
Comparação que será feita: 03 = 03?
Resultado: local 01.03.02 será listado com valores.
Exemplo 3
Local: 01.03.02
Filial: 02 (informada na entrada do relatório)
Nível Filial: 03 (cadastrado na tela do organograma)
Partícula extraída: 02
Comparação que será feita: 02 = 02?
Resultado: local 01.03.02 será listado com valores.