Exemplo de Utilização de Variáveis

Esta regra deve ser usada como regra de apuração. Ela irá gravar na unidade c:\ um arquivo chamado "Apuração.txt", contendo as informações detalhadas de cada parte da apuração do dia. Este procedimento é bastante útil quando é necessário saber com detalhes como o Controle de Ponto e Refeitório está calculando a apuração de uma determinada data.

/******** Início da regra ********/
Definir Alfa vDados;
Definir Alfa vAux;

i = 1;
vDados = "";

ArqSaida = Abrir("c:\\Apuração.txt", Gravarnl);
enquanto (CDatIn[i] <> 0)
  inicio
    /* Grava no arquivo a sequência da situação no dia */
    IntParaAlfa(i, vAux);
    vAux = "========== " + vAux + "ª Parte ==========";
    Gravarnl(ArqSaida, vAux);

    /* Data inicial */
    ConverteMascara(3, CDatIn[i], vAux, "DD/MM/YYYY");
    vDados = "Data inicial......: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Data final */
    ConverteMascara(3, CDatFi[i], vAux, "DD/MM/YYYY");
    vDados = "Data final........: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Hora inicial */
    ConverteMascara(4, CHorIn[i], vAux, "hh:mm");
    vDados = "Hora inicial......: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Hora final */
    ConverteMascara(4, CHorFi[i], vAux, "hh:mm");
    vDados = "Hora final........: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Total de Horas */
    CalculaQtdMinutos(CDatIn[i], CHorIn[i], CDatFi[i], CHorfi[i], vTot);
    ConverteMascara(4, vTot, vAux, "hh:mm");
    vDados = "Total de Horas....: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Situação original */
    IntParaAlfa(CSitOr[i], vAux);
    vDados = "Situação original.: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Situação final */
    IntParaAlfa(CSitFi[i], vAux);
    vDados = "Situação final....: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Afsto/Programação na data */
    se (CAfaPr[i] = 0)
      vAux = "Sem programações ou afastamentos";
    senao
      se (CAfaPr[i] = 1)
        vAux = "Afastamento";
      senao
        se (CAfaPr[i] = 2)
          vAux = "Programação de Compensação";
        senao
          se (CAfaPr[i] = 3)
            vAux = "Programação de Autorização de saída";
          senao
            se (CAfaPr[i] = 4)
              vAux = "Hora Dispensada";
            senao
              se (CAfaPr[i] = 5)
                vAux = "Programação de Autorização de Hora Extra";
    vDados = "Afsto/Programação.: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Situação do afsto na data */
    se (CSAfPr[i] <> 0)
      inicio
        IntParaAlfa(CSAfPr[i], vAux);
        vDados = "Situação Afsto....: " + vAux;
      fim;
    senao
      vDados = "Situação Afsto....: Não há";
    Gravarnl(ArqSaida, vDados);

    /* Autorização de extras na data */
    se (CAutEx[i] = 0)
      vAux = "Não";
    senao
      vAux = "Sim";
    vDados = "Autorização Extras: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Compensação na data */
    se (CHorCm[i] = 0)
      vAux = "Não";
    senao
      vAux = "Sim";
    vDados = "Compensação no Dia: " + vAux;
    Gravarnl(ArqSaida, vDados);

    /* Tipo do Cálculo */
    IntParaAlfa(CTipCa[i], vAux);
    /* Seta descrição conforme valor da variável CTipCa[] */
    se (CTipCa[i] = 0)
      vAux = vAux + " - Sem tipo";
    senao
      se (CTipCa[i] = 1)
        vAux = vAux + " - Trabalho";
      senao
        se (CTipCa[i] = 2)
          vAux = vAux + " - Extras";
        senao
          se (CTipCa[i] = 3)
            vAux = vAux + " - Faltas";
          senao
            se (CTipCa[i] = 4)
              vAux = vAux + " - Refeição";
            senao
              se (CTipCa[i] = 5)
                vAux = vAux + " - Lanche";
              senao
                se (CTipCa[i] = 6)
                  vAux = vAux + " - Entrada Justificada (marcações com uso 6)";
                senao
                  se (CTipCa[i] = 7)
                    vAux = vAux + " - Saída Justificada (marcações com uso 5)";
                  senao
                    se (CTipCa[i] = 8)
                      vAux = vAux + " - Entrada Indicada (marcações com uso 12)";
                    senao
                      vAux = vAux + " - Saída Justificada (marcações com uso 13)";
    vDados = "Tipo Cálculo......: " + vAux;
    Gravarnl(ArqSaida, vDados);

    Gravarnl(ArqSaida, "");
    i = i + 1;
  fim; /* Fim do "Enquanto" */

Fechar(ArqSaida);
/******** Final da regra ********/

Este artigo ajudou você?