Relatório para espelho do ponto
Este recurso não está disponível no Gestão de Pessoas | HCM GO UP. Saiba mais.
Para customizar um modelo de relatório para a Assinatura Eletrônica é recomendado fazer uma cópia de um modelo já existente e, assim, necessário realizar as seguintes alterações no modelo:
Parâmetros de entrada
Ajuste os parâmetros com a seguinte nomenclatura e estrutura:
Nome da variável | Descrição da variável | Tipo | Tamanho | Edição | Tabela.Campo | Abrangência | Senha | Relacionar SQL | Valores | Util. Val. | Ignorar |
|---|---|---|---|---|---|---|---|---|---|---|---|
EDatCmp | Competência | Data | 0 | MM/YYYY | Não | Não | Sim | Não | Não | ||
EDatInR | Data Início Apuração | Data | 0 | DD/MM/YYYY | Não | Não | Sim | Não | Não | ||
EDatFiR | Data Início Apuração | Data | 0 | DD/MM/YYYY | Não | Não | Sim | Não | Não | ||
EVisRel | Modo de exibição | Cadeia de Caracteres | 1 | U | Não | Não | Sim | Lista | Não | Não | |
EAbrEmp | Empresa | Cadeia de Caracteres | 099 | A[99] | R034FUN.NUMEMP | Sim | Não | Sim | Não | Não | |
EAbrTcl | Tipo Colaborador | Cadeia de Caracteres | 099 | A[99] | R034FUN.TIPCOL | Sim | Não | Sim | Não | Não | |
EAbrCad | Colaborador | Cadeia de Caracteres | 099 | A[99] | R034FUN.NUMCAD | Sim | Não | Sim | Não | Não | |
ELisDem | Listar demitidos | Cadeia de Caracteres | 1 | U | Não | Não | Sim | Lista | Não | Não |
Os valores esperados para a variável EVisRel são: “A - Assinar”, “V - Visualizar” e “R - Reprovar”.
- Os parâmetros EAbrEmp, EAbrTcl e EAbrCad normalmente já existem nos modelos de relatório;
- Se você quiser listar colaboradores demitidos através da tela de Gestão das assinaturas do espelho do ponto, será necessário incluir o campo ELisDem na tela de entrada do modelo conforme as parametrizações (tabela Parâmetros de entrada).
Seção Detalhe
Altere a Seção Detalhe do modelo e inclua o seguinte trecho de regra no evento Antes Imprimir:
<div class="Code"><p>...</p><p>xNumEmp = r034fun.numemp;</p><p>xTipCol = r034fun.tipcol;</p><p>xNumCad = r034fun.numcad;</p><p>...</p></div>
Seção adicional
Inclua uma seção adicional para exibir as informações da assinatura eletrônica do colaborador.
Exemplo:
Nesta seção é necessário adicionar os campos DTexto, DData, DHora, DUsuario, DEmail e DIp, os quais receberão as informações da assinatura no relatório que será gerado. Remova o espaço para assinatura manual, caso exista.
Inclua o seguinte trecho de regra no evento Antes Imprimir:
<div class="Code"><p>Definir alfa EVisRel;</p><p></p><p><span class="comentario">/* Visualizar */</span></p><p>Se (EVisRel = <span class="azul">"V"</span>)</p><p class="Ident1">Cancel (1);</p><p></p><p><span class="comentario">/* Assinar */</span></p><p>Se (EVisRel = <span class="azul">"A"</span>) {</p><p class="Ident1">Definir Alfa xData;</p><p class="Ident1">Definir Alfa xHora;</p><p class="Ident1">Definir Alfa xUsuario;</p><p class="Ident1">Definir Alfa xEmail;</p><p class="Ident1">Definir Alfa xIp;</p><p></p><p>AssinaturaDigitalPonto(xNumEmp, xTipCol, xNumCad, EDatCmp, EVisRel,xData, xHora, xUsuario, xEmail, xIp);</p><p></p><p class="Ident1">AlteraControle(<span class="azul">"DTexto"</span>, <span class="azul">"Descrição"</span>, <span class="azul">"Assinado digitalmente em"</span>);</p><p class="Ident1">AlteraControle(<span class="azul">"DData"</span>, <span class="azul">"Descrição"</span>, xData);</p><p class="Ident1">AlteraControle(<span class="azul">"DHora"</span>, <span class="azul">"Descrição"</span>, xHora);</p><p class="Ident1">AlteraControle(<span class="azul">"DUsuario"</span>, <span class="azul">"Descrição"</span>, xUsuario);</p><p class="Ident1">AlteraControle(<span class="azul">"DEmail"</span>, <span class="azul">"Descrição"</span>, xEmail);</p><p class="Ident1">AlteraControle(<span class="azul">"DIp"</span>, <span class="azul">"Descrição"</span>, xIp);</p><p>}</p><p></p><p><span class="comentario">/* Reprovar */</span></p><p>Se (EVisRel = <span class="azul">"R"</span>) {</p><p class="Ident1">Definir Alfa xData;</p><p class="Ident1">Definir Alfa xHora;</p><p class="Ident1">Definir Alfa xUsuario;</p><p class="Ident1">Definir Alfa xEmail;</p><p class="Ident1">Definir Alfa xIp;</p><p></p><p>AssinaturaDigitalPonto(xNumEmp, xTipCol, xNumCad, EDatCmp, EVisRel,xData, xHora, xUsuario, xEmail, xIp);</p><p></p><p>AlteraControle(<span class="azul">"DTexto"</span>, <span class="azul">"Descrição"</span>, <span class="azul">"Reprovado digitalmente em"</span>);</p><p>AlteraControle(<span class="azul">"DData"</span>, <span class="azul">"Descrição"</span>, xData);</p><p>AlteraControle(<span class="azul">"DHora"</span>, <span class="azul">"Descrição"</span>, xHora);</p><p>AlteraControle(<span class="azul">"DUsuario"</span>, <span class="azul">"Descrição"</span>, xUsuario);</p><p>AlteraControle(<span class="azul">"DEmail"</span>, <span class="azul">"Descrição"</span>, xEmail);</p><p>AlteraControle(<span class="azul">"DIp"</span>, <span class="azul">"Descrição"</span>, xIp);</p><p></p><p>}</p></div>
Através desta regra será feito o preenchimento das informações da assinatura.
Nota
Para listar esta seção, é necessário utilizar a função ListaSecao().
<div class="Code"><p><span class="comentario">/* Tratamento para Demitidos */</span></p><p></p><p>Se (ELisDem = <span class="azul">"N"</span>) {</p><p class="Ident1">Definir alfa sqlaux;</p><p class="Ident1">sqlaux = <span class="azul">" AND NOT EXISTS ( \</span></p><p class="Ident1"><span class="azul">SELECT 1 FROM R038AFA WHERE</span></p><p class="Ident1"><span class="azul">R038AFA.NUMEMP = R034FUN.NUMEMP AND</span></p><p class="Ident1"><span class="azul">R038AFA.TIPCOL = R034FUN.TIPCOL AND</span></p><p class="Ident1"><span class="azul">R038AFA.NUMCAD = R034FUN.NUMCAD AND</span></p><p class="Ident1"><span class="azul">R038AFA.DATAFA = (SELECT MAX(R038AFA.DATAFA) FROM R038AFA,R010SIT WHERE</span></p><p class="Ident1"><span class="azul">R038AFA.NUMEMP = R034FUN.NUMEMP AND</span></p><p class="Ident1"><span class="azul">R038AFA.TIPCOL = R034FUN.TIPCOL AND</span></p><p class="Ident1"><span class="azul">R038AFA.NUMCAD = R034FUN.NUMCAD AND</span></p><p class="Ident1"><span class="azul">R038AFA.DATAFA <= " + dataFinalAlfa + " AND</span></p><p class="Ident1"><span class="azul">R038AFA.SITAFA = R010SIT.CODSIT AND</span></p><p class="Ident1"><span class="azul">R010SIT.TIPSIT = 7))";</span></p><p class="Ident1">InsSQLWhereSimples (<span class="azul">"Colaboradores"</span>, sqlaux);</p><p>}</p><p>Essa regra faz com que, quando a variável <b>ELisDem</b> estiver definida como <b>"N"</b>, os colaboradores demitidos não sejam listados no relatório.</p></div>
English
Español

English
Español

