Senior - Dicas de programação
-
Upload
alexandre-da-silva -
Category
Technology
-
view
541 -
download
7
Transcript of Senior - Dicas de programação
Sistema SeniorGestão de Pessoas II
Dicas de programação.SQL Nativo e Formatação HTML
Muito mais agilidade, segurança, comodidade e automatização de processos.
Definir Alfa Cur_r070acc;Definir Data xDatAcc;
SQL_Criar(Cur_r070acc);SQL_UsarSQLSenior2(Cur_r070acc,0);SQL_UsarAbrangencia(Cur_r070acc,0);
SQL_DefinirComando(Cur_r070acc,"select a.numcra, \ max(a.numemp) as numemp, \ max(a.tipcol) as tipcol, \ max(a.numcad) as numcad, \ max(a.horacc) - min(a.horacc) as tempo_refeicao \ from vetorh.r070acc a \ where a.datacc =:xDatAcc and \ a.tipacc = 1 and \ a.diracc in ('E','S') and \ a.codrlg = 115 and \ a.usomar = 3 \ group by a.numcra \ having count(a.numcra) = 2 \ order by tempo_refeicao desc,a.numcra");
@==== Forma de passar uma variavel para o cursor ======@SQL_DefinirData(Cur_r070acc,"xDatAcc",xDatAcc);
SQL_AbrirCursor(Cur_r070acc);Enquanto (SQL_EOF(Cur_r070acc) = 0) Inicio
@==== Forma de obter os dados do cursor ======@ SQL_RetornarFlutuante(Cur_r070acc,"NumCra",xNumCra); SQL_RetornarInteiro(Cur_r070acc,"NumEmp",xNumEmp); SQL_RetornarInteiro(Cur_r070acc,"TipCol",xTipCol); SQL_RetornarInteiro(Cur_r070acc,"NumCad",xNumCad); SQL_RetornarInteiro(Cur_r070acc,"tempo_refeicao",tempo_refeicao);
... SQL_Proximo(Cur_r070acc);
FimSQL_FecharCursor(Cur_r070acc);SQL_Destruir(Cur_r070acc);
Forma de utilizar todos os recursos nativos da linguagem SQL em um cursor.
Definir Alfa CR;Definir Alfa LF;Definir Alfa vRmtEma, Definir Alfa vDstEma, Definir Alfa vCcpEma, Definir Alfa vCcoEma, Definir Alfa vAssEma Definir Alfa vTxtEma;...@====Comandos para quebra de linha ======@RetornaAscII (13,CR);RetornaAscII (10,LF);...vTxtEma = "<!DOCTYPE html>"+CR+LF;vTxtEma = vTxtEma + "<html>"+CR+LF;vTxtEma = vTxtEma + "<head>"+CR+LF;vTxtEma = vTxtEma + "<meta http-equiv='Content-Type' content='text/html; charset=ISO-8859-1'>"+CR+LF;vTxtEma = vTxtEma + "<title>-</title>"+CR+LF;vTxtEma = vTxtEma + "</head>"+CR+LF; vTxtEma = vTxtEma + "<body>"+CR+LF;vTxtEma = vTxtEma + "<table border='0' cellspacing='1'>"+CR+LF;vTxtEma = vTxtEma + "<tr bgcolor='#FFFFFF'>"+CR+LF;
vTxtEma = vTxtEma + "<table border='0' cellspacing='1'>"+CR+LF;vTxtEma = vTxtEma + "<tr bgcolor='#006600'>"+CR+LF;vTxtEma = vTxtEma + "<td colspan='10' align='center'><font face='calibri' size='2' color='#FFFFFF'><B>Titulo</B></font></td>"+CR+LF;vTxtEma = vTxtEma + "</tr>"+CR+LF;
vTxtEma = vTxtEma + "<tr bgcolor='#006600'>"+CR+LF;vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B> Coluna 01 </B></font></td>"+CR+LF;vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B> Coluna 02 </B></font></td>"+CR+LF;...vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B> Coluna 10 </B></font></td>"+CR+LF;vTxtEma = vTxtEma + "</tr>"+CR+LF;
vTxtEma = vTxtEma + “<tr>"+CR+LF;vTxtEma = vTxtEma + “<td align='right'><font face='calibri' size='2' color='#000000'>" + Variavel 01 + "</font></td>"+CR+LF;vTxtEma = vTxtEma + "<td align='right'><font face='calibri' size='2' color='#000000'>" + Variavel 02 + "</font></td>"+CR+LF;...vTxtEma = vTxtEma + "<td align='right'><font face='calibri' size='2' color='#000000'>" + Variavel 10 + "</font></td>"+CR+LF;vTxtEma = vTxtEma + "</tr>"+CR+LF;
vTxtEma = vTxtEma + "<tr bgcolor='#006600'>"+CR+LF;vTxtEma = vTxtEma + “<td colspan='10'> Total “ + Total de registros + ” </td>"+CR+LF;vTxtEma = vTxtEma + "</tr>"+CR+LF;vTxtEma = vTxtEma + "</table>"+CR+LF;vTxtEma = vTxtEma + "</body>"+CR+LF;vTxtEma = vTxtEma + "</html>"+CR+LF;...EnviaEMailHTML (vRmtEma, vDstEma, vCcpEma, vCcoEma, vAssEma, vTxtEma, "", 0, 0);
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao recebê-los, observe o fonte original copiando ele para um novo arquivo
html que você validará no link abaixo.
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao recebê-los, observe o fonte original copiando ele para um novo arquivo
html que você validará no link abaixo.
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao recebê-los, observe o fonte original copiando ele para um novo arquivo
html que você validará no link abaixo.
Exemplo de Formatação HTML para geração de e-mail´s Automáticos
Link para um Validador HTML: http://validator.aborla.net/index.php5?lang=pt
Envie testes para sua conta. Ao recebê-los, observe o fonte original copiando ele para um novo arquivo
html que você validará no link abaixo.
Definir Alfa CR;Definir Alfa LF;
Definir Alfa vRmtEma, Definir Alfa vDstEma, Definir Alfa vCcpEma, Definir Alfa vCcoEma, Definir Alfa vAssEma Definir Alfa vTxtEma;Definir Alfa vTxtEma2;Definir Alfa vCadChe;...
@====Comandos para quebra de linha ======@RetornaAscII (13,CR);RetornaAscII (10,LF);...
/*========================================================================*//*=================INICIO Geração HTML NO CORPO DO E-MAIL ================*//*========================================================================*/...vTxtEma = "<!DOCTYPE html>"+CR+LF;vTxtEma = vTxtEma + "<html>"+CR+LF;...
/*========================================================================*//*=================INICIO Geração HTML NO ANEXO DO E-MAIL ================*//*========================================================================*/NomeArquivo = "C:/senior/rel/Saldo_Horas_Diretores_"+vCadChe+".html"; arq = Abrir(NomeArquivo, Gravarnl);TrocaString(NomeArquivo, "/", "\\",NomeArquivo2);
....@==== Se necessitar realizar ajustes devido acentuação ====@@==== Verifique entidades HTML ============================@TrocaString(NomGerencia, "ã", "ã",NomGerencia);...
@==== Lógica de Geração do conteudo para ANEXO =========@vTxtEma2 = "<!DOCTYPE html>"+CR+LF;vTxtEma2 = vTxtEma2 + "<html>"+CR+LF;...
GravarNLEOL(arq, vTxtEma2 , 0);Fechar(arq);vAnxEma = NomeArquivo2;
EnviaEMailHTML (vRmtEma, vDstEma, vCcpEma, vCcoEma, vAssEma, vTxtEma, vAnxEma, 0, 0);
Exemplo de Formatação HTML para geração de e-mail´s Automáticos(Com dados no corpo e no anexo ao mesmo tempo)
Link para consulta de entidades html: http://www.w3schools.com/html/html_entities.asp
Definir Alfa vRmtEma;Definir Alfa vDstEma;Definir Alfa vCcpEma;Definir Alfa vCcoEma; Definir Alfa vAssEma;Definir Alfa vTxtEma;Definir Alfa VAnxEma;
...@==== Lógica da geração =====@...
Se(vTipSex="F") vTxtEma="<center><IMG SRC=C:\\Senior\\Vetorh\\Imagens\\Aniversario_FEMININO.jpg></center>"; Senao vTxtEma="<center><IMG SRC=C:\\Senior\\Vetorh\\Imagens\\Aniversario_MASCULINO.jpg></center>";
...
EnviaEMailHTML (vRmtEma, vEmaCom, vEmailFim, vCcoEma, vAssEma, vTxtEma, VAnxEma, 1, 1);
Exemplo de e-mail com apenas e-Flyer no corpo
Referências
http://www.senior.com.br/solucoes/gestao-de-pessoas/
http://www.w3schools.com/
http://www.techonthenet.com/oracle/
Fim!