Exemplo Regra processo

Exemplo prático em tela: Regra por Processo 747 - Antes de Gerar Teste Efetivo. Tem a função de apresentar ao usuário informações sobre o teste na Web, como por exemplo:


Essas informações serão gravadas no arquivo "trdtplcer.htm".

--------------------------------------------------------------------------

Definir Alfa DesPer;
Definir Alfa AbrEmp;
Definir Alfa AbrFil;
Definir Alfa AbrCar;
Definir Alfa AbrLoc;
Definir Alfa AbrTur;
Definir Alfa TipACa;
Definir Alfa CunPer;

Definir Alfa aQtdPer;
Definir Alfa aQtdPts;
Definir Alfa xQuebra;
Definir Alfa aTotPer;
Definir Alfa aTotPts;
Definir Alfa aTempo;

Definir Alfa xHTML;
Definir Alfa xStrHtml;
Definir Alfa xStrHtml2;

Definir Lista LstNiveis;

/* Definição de campos dentro da lista declarada acima */
LstNiveis.DefinirCampos();
LstNiveis.AdicionarCampo("GruPer", Numero);
LstNiveis.AdicionarCampo("CodNiv", Numero);
LstNiveis.AdicionarCampo("DesNiv", Alfa, 100);
LstNiveis.AdicionarCampo("QtdPer", Numero);
LstNiveis.AdicionarCampo("QtdPts", Numero);
LstNiveis.EfetivarCampos();

LstNiveis.Chave("GruPer;CodNiv");

/* Informações da autorização de teste */
xNumEmp = R131AUT.NumEmp;
xTipCol = R131AUT.TipCol;
xNumCad = R131AUT.NumCad;
xDatAut = R131AUT.DatAut;
xSeqAut = R131AUT.SeqAut;
xHorIni = R131AUT.HorIni;
xHorTer = R131AUT.HorTer;
xDatFim = R131AUT.DatFim;

RetornaAscII(13, xQuebra);

xStrHtml = "";
xStrHtml = xStrHtml + "<table width='100' border='0' cellspacing='1' cellpadding='1' CLASS='TABELAGRID' align='CENTER'>" + xQuebra;
xStrHtml = xStrHtml + " <tr class='LINHACABECALHOGRID'>" + xQuebra;
xStrHtml = xStrHtml + " <td class='COLUNACABECALHOGRID'>Nível</td>" + xQuebra;
xStrHtml = xStrHtml + " <td class='COLUNACABECALHOGRID'>Qtde Questões" + xQuebra;
xStrHtml = xStrHtml + " <td class='COLUNACABECALHOGRID'>Pontuação Máxima</td>" + xQuebra;
xStrHtml = xStrHtml + " </tr>" + xQuebra;

/* Perguntas */
xRet = RetornaPerguntasTeste("I");
Se (xRet <> -1)
{
    Enquanto (xRet = 0)
    {
        GruPer = R202PER.GruPer;
        CodPer = R202PER.CodPer;
        CunPer = R202PER.CunPer;
        DesPer = R202PER.DesPer;
        PesPer = R202PER.PesPer;
        NotPer = R202PER.NotPer;
        TemRes = R202PER.TemRes;
        TReSim = R202PER.TReSim;
        DatCri = R202PER.DatCri;
        DatExt = R202PER.DatExt;
        ConSis = R202PER.ConSim;
        CodNiv = R202PER.CodNiv;
        AbrEmp = R202PER.AbrEmp;
        AbrFil = R202PER.AbrFil;
        AbrCar = R202PER.AbrCar;
        AbrLoc = R202PER.AbrLoc;
        AbrTur = R202PER.AbrTur;
        TipACa = R202PER.TipACa;
        Se (CodNiv <> 0) {
            LstNiveis.SetarChave();
            LstNiveis.GruPer = R202NIV.GruPer;
            LstNiveis.CodNiv = R202NIV.CodNiv;
            Se (LstNiveis.VaiParaChave()) {
                LstNiveis.Editar();
                LstNiveis.DesNiv = R202NIV.DesNiv;
                LstNiveis.QtdPer++;
                LstNiveis.QtdPts = LstNiveis.QtdPts + R202NIV.PtsNiv;
             }
            Senao {
                LstNiveis.Adicionar();
                LstNiveis.GruPer = R202NIV.GruPer;
                LstNiveis.CodNiv = R202NIV.CodNiv;
                LstNiveis.DesNiv = R202NIV.DesNiv;
                LstNiveis.QtdPer = 1;
                LstNiveis.QtdPts = R202NIV.PtsNiv;
              }
              LstNiveis.Gravar();
          }
          xRet = RetornaPerguntasTeste("P");
     }
}

xTotPer = 0;
xTotPts = 0;

Tem = LstNiveis.Primeiro();
Enquanto (Tem = 1) {
    xStrHtml = xStrHtml + " <tr class='LINHAGRID'>" + xQuebra;
    xStrHtml = xStrHtml + " <td class='COLUNAGRID'> " + LstNiveis.DesNiv + "</td>" + xQuebra;
    xQtdPer = LstNiveis.QtdPer;
    xTotPer = xTotPer + xQtdPer;
    xQtdPts = LstNiveis.QtdPts;
    xTotPts = xTotPts + xQtdPts;
    IntParaAlfa(xQtdPer, aQtdPer);
    IntParaAlfa(xQtdPts, aQtdPts);
    xStrHtml = xStrHtml + " <td class='COLUNAGRID'> " + aQtdPer + "</td>" + xQuebra;
    xStrHtml = xStrHtml + " <td class='COLUNAGRID'> " + aQtdPts + "</td>" + xQuebra;
    xStrHtml = xStrHtml + " </tr>";
   Tem = LstNiveis.Proximo();
}
LstNiveis.Limpar();
xStrHtml = xStrHtml + "</table>";

xStrHtml2 = "";
xStrHtml2 = xStrHtml2 + "<p class='TEXTOSIMPLES'>PAGINA INICIAL - BOAS VINDAS</p>" + xQuebra;
xStrHtml2 = xStrHtml2 + "<p class='TEXTOSIMPLES'>Bem vindo! Voc&ecirc; est&aacute; prestes a realizar um Teste de Certifica&ccedil;&atilde;o. </p>" + xQuebra;
@ qtde de perguntas @
IntParaAlfa(xTotPer, aTotPer);
xStrHtml2 = xStrHtml2 + "<p class='TEXTOSIMPLES'><u>No total voc&ecirc; responder&aacute; " + aTotPer + " quest&otilde;es</u></p>" + xQuebra;
xStrHtml2 = xStrHtml2 + "<p class='TEXTOSIMPLES'>Sendo:</p>" + xQuebra;

xStrHtml = xStrHtml2 + xStrHtml;

xStrHtml = xStrHtml + xQuebra;

@ total de pontos @
IntParaAlfa(xTotPts, aTotPts);

@ tempo @
xTempo = TempoTeste;
ConverteMascara (4, xTempo, aTempo, "hh:mm");

xStrHtml = xStrHtml + "<br><br><div class='TEXTOSIMPLES' align='right'><u>Total de pontos poss&iacute;veis: " + aTotPts + "</u></div>" + xQuebra;
xStrHtml = xStrHtml + "<br><br><div class='TEXTOSIMPLES' align='center'>Portanto, para voc&ecirc; conseguir 100% de acertos no Teste,<br> voc&ecirc; dever&aacute; conseguir " + aTotPts + " pontos.</div>" + xQuebra;
xStrHtml = xStrHtml + "<br><br><div class='TEXTOSIMPLES' align='center'>O tempo para a realiza&ccedil;&atilde;o ser&aacute; de: " + aTempo + " minutos.</div>" + xQuebra;

LstNiveis.Limpar();

xHTML = WEB_HTML;
WAdicionanoHTML(xStrHtml, xHTML, "<!--INSERE_TEXTO_TEMPLATE-->");
WEB_HTML = xHTML;

Resultado em Tela:

Este artigo ajudou você?