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 ********/