Gestão de Pessoas - Manual do Usuário > Customizações > Regras > Regras por Processo > Regra por processo 883 - Alterar programação de eventos

Regra por processo 883 - Alterar programação de eventos

Esta regra será executada ao alterar informações da guia Programação da tela Administração de Eventos (FR234EVN) do módulo Treinamento.

Desta forma, a regra será executada nos seguintes momentos:

O registro da tabela Cadastro de Eventos (R234EVN) permanece disponível para consulta na regra, assim como a variável de sistema vExecucaoRegra, para identificar se a regra está sendo chamada antes (vExecucaoRegra = 0) ou depois (vExecucaoRegra = 1) da alteração. É possível abortar a gravação das alterações utilizando o Cancel().

Exemplo:

Definir Alfa xNomEvn;
Definir Alfa xIdeEvn;
Definir Alfa xAssuntoEmail;
Definir Alfa xTextoEmail;
Definir Cursor CurR234HOR;
Definir Cursor CurR234INS;
Definir Cursor CurR033PES;
Definir Alfa xCar13;
Definir Alfa xCar10;
Definir Data xDatIni;
Definir Alfa xStrDatIni;
Definir Alfa xStrDatFim;
Definir Alfa xStrHorIni;
Definir Alfa xStrHorFim;
Definir Alfa xInstrutores;

RetornaAscII(13, xCar13);
RetornaAscII(10, xCar10);

xCodEvn = R234EVN.CodEvn;
xNomEvn = R234EVN.NomEvn;
xIdeEvn = R234EVN.IdeEvn;

@ vExecucaoRegra: 0 - Antes, vExecucaoRegra: 1 - Depois @
Se (vExecucaoRegra = 0)
{ xAssuntoEmail = "Programação do evento " + R234EVN.IdeEvn + " - Antes"; }

Senao
{ xAssuntoEmail = "Programação do evento " + R234EVN.IdeEvn + " - Depois"; }

xTextoEmail = "Evento: " + R234EVN.IdeEvn + " - " + R234EVN.NomEvn + xCar13 + xCar10;

ConverteMascara (3, R234EVN.DatIni, xStrDatIni, "DD/MM/YYYY");
ConverteMascara (3, R234EVN.DatFim, xStrDatFim, "DD/MM/YYYY");

xTextoEmail = xTextoEmail + "Período: " + xStrDatIni + " à " + xStrDatFim + xCar13 + xCar10;

xTextoEmail = xTextoEmail + "Programação: " + xCar13 + xCar10;

CurR234HOR.SQL "SELECT * FROM R234HOR WHERE CODEVN = :xCodEvn";
CurR234HOR.AbrirCursor();
Enquanto (CurR234HOR.Achou)
{
xDatIni = CurR234HOR.DatIni;
xHorIni = CurR234HOR.HorIni;
xHorFim = CurR234HOR.HorFim;

ConverteMascara (3, xDatIni, xStrDatIni, "DD/MM/YYYY");
ConverteMascara (4, xHorIni, xStrHorIni, "HH:MM");
ConverteMascara (4, xHorFim, xStrHorFim, "HH:MM");

xTextoEmail = xTextoEmail + " - " + xStrDatIni + " - " + xStrHorIni + " às " + xStrHorFim;

xInstrutores = "";
CurR234INS.SQL "SELECT CODPES FROM R234INS WHERE CODEVN = :xCodEvn AND DATINI = :xDatIni AND HORINI = :xHorIni";
CurR234INS.AbrirCursor();
Se (CurR234INS.Achou)
{
Enquanto (CurR234INS.Achou)
{
EstaNulo(xInstrutores, xNulo);
Se (xNulo = 0)
xInstrutores = xInstrutores + ", ";

xCodPes = CurR234INS.CodPes;
CurR033PES.SQL "SELECT NOMPES FROM R033PES WHERE CODPES = :xCodPes";
CurR033PES.AbrirCursor();
Se (CurR033PES.Achou)
{ xInstrutores = xInstrutores + CurR033PES.NomPes; }

CurR033PES.FecharCursor();

CurR234INS.Proximo();
}

xTextoEmail = xTextoEmail + " - Instrutores: " + xInstrutores;
}
CurR234INS.FecharCursor();

xTextoEmail = xTextoEmail + xCar13 + xCar10;

CurR234HOR.Proximo();
}
CurR234HOR.FecharCursor();

EnviaEmail ("usuario@senior.com.br", "usuario@senior.com.br", "", "", xAssuntoEmail, xTextoEmail, "", 0);

Utilização: ao alterar informações na guia Programação da tela Administração de Eventos (FR234EVN), inclusive ao gerar horários recorrentes.

Disponível para o módulo: Treinamento.

Este artigo ajudou você?