Senior - Dicas de programação

11
Sistema Senior Gestã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.

Transcript of Senior - Dicas de programação

Page 1: 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.

Page 2: Senior - Dicas de programação

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.

Page 3: Senior - Dicas de programação

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>&nbsp;Coluna 01&nbsp;</B></font></td>"+CR+LF;vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B>&nbsp;Coluna 02&nbsp;</B></font></td>"+CR+LF;...vTxtEma = vTxtEma + "<td align='center'><font face='calibri' size='2' color='#FFFFFF'><B>&nbsp;Coluna 10&nbsp;</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 + ”&nbsp;</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

Page 4: Senior - Dicas de programação

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.

Page 5: Senior - Dicas de programação

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.

Page 6: Senior - Dicas de programação

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.

Page 7: Senior - Dicas de programação

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.

Page 8: Senior - Dicas de programação

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, "ã", "&atilde;",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

Page 9: Senior - Dicas de programação

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

Page 10: Senior - Dicas de programação

Referências

http://www.senior.com.br/solucoes/gestao-de-pessoas/

http://www.w3schools.com/

http://www.techonthenet.com/oracle/

Page 11: Senior - Dicas de programação

Fim!