Árvore de páginas

Ponto-de-Entrada: LOGQDO - Log de Alterações nos Documentos
Abrangências: Microsiga Protheus 10 , Microsiga Protheus 11
Versões: Microsiga Protheus 10 , Microsiga Protheus 11
Compatível Países: Todos
Sistemas Operacionais: Todos
Compatível às Bases de Dados: Todos
Idiomas: Português (Brasil) , Português (Portugal) , Espanhol , Inglês
Descrição:
O Ponto de Entrada LOGQDO permite que seja monitorado através de Log por e-mail as alterações dos Documentos no módulo Controle de Documentos, podendo ser utilizado para auditoria e controle das manipulações efetuadas pelos usuários.
Eventos

Programa Fonte
QDOXDOC.PRW
Sintaxe

LOGQDO - Log de Alterações nos Documentos ( [ cTexto ], [ cDoc ], [ cTipo ], [ cFuncao ], [ cLinha ], [ cAcao ] ) --> NIL

Parâmetros:
Nome Tipo Descrição Default Obrigatório Referência
cTexto Caracter Texto a ser enviado no email
cDoc caracter Código do documento que está sendo alterado
cTipo caracter Tipo de Ação executada pelo Sistema
cFuncao caracter Função do sistema que efetuou a alteração
cLinha caracter Linha do fonte que é executada a função
cAcao caracter Ação efetuada pelo sistema
Retorno
    NIL(nulo)
Observações

Exemplos
#INCLUDE "PROTHEUS.CH"#INCLUDE "RWMAKE.CH"#INCLUDE 'ap5mail.ch'#DEFINE _CRLF CHR(13)+CHR(10)User Function LogQDO()Local cRelServ := GetMv('MV_RELSERV')			//-- Nome do servidor de envio de e-mailLocal cRelAcnt := GetMv('MV_RELACNT')			//-- Conta a ser utilizada no envio de e-mailLocal cRelPsw  := GetMv('MV_RELPSW')			//-- Indica qual a senha da conta utilizada para envio de e-mailLocal cRelFrom := GetMv('MV_RELFROM')			//-- Email utilizado no campo from (utilizar um email valido)Local cEmail   := '[email protected];[email protected]'Local cTexto   := PARAMIXB[1]Local cDoc     := PARAMIXB[2]Local cTipo    := PARAMIXB[3]Local cFuncao  := PARAMIXB[4]Local cLinha   := PARAMIXB[5]Local cAcao    := PARAMIXB[6]Local cMsg     := 'teste'Local cErro    := ''Local lOk      := .F.Local aAreaAnt := GetArea()Local aAreaSM0 := SM0->(GetArea())MsgAlert("Envio de Log para monitoramento de Documentos")dbSelectArea("SM0")dbSeek(cEmpAnt+cFilAnt)cMsg := "Empresa        : " + cEmpAnt	+ " - " + SM0->M0_NOME	 + _CRLF cMsg += "Filial         : " + cFilAnt	+ " - " + SM0->M0_FILIAL + _CRLF cMsg += "Nome do Arquivo: "	+ cTexto 	+ _CRLFcMsg += "Documento: "	 	+ cDoc 		+ _CRLFcMsg += "Tipo:" 			+ cTipo 	+ _CRLFcMsg += "Função:" 			+ cFuncao 	+ _CRLFcMsg += "Linha:" 			+ cLinha 	+ _CRLFcMsg += "Ação:" 			+ cAcao 	+ _CRLFcMsg += "Usuario: "         + AllTrim(SubStr(cUsuario,7,15)) +  _CRLFIf Empty(cRelServ) .Or. Empty(cRelAcnt) .Or. Empty(cRelPsw)	RestArea(aAreaSM0)	RestArea(aAreaAnt)    ReturnEndIf   CONNECT SMTP SERVER cRelServ ACCOUNT cRelAcnt PASSWORD cRelPsw RESULT lOkIf  ! lOk                                     conout('Erro de conexao ')                        	RestArea(aAreaSM0)	RestArea(aAreaAnt)    ReturnEndIf    If GetMv("MV_RELAUTH")     If ! mailAuth(cRelAcnt,cRelPsw)        conout('erro de autenticacao')                        		RestArea(aAreaSM0)		RestArea(aAreaAnt)        Return    EndIfEndIfSEND MAIL FROM cRelFrom TO cEmail ; SUBJECT cvaltochar(dtos(dDataBase))+" " + cvaltochar (time()) + " - Protheus LogQdo -> Docto: " + cDoc ;BODY cMsg ;RESULT lOk                       If  !lOk    GET MAIL ERROR cErro    conout('Erro de envio: '+cErro)                        EndIfDISCONNECT SMTP SERVER RESULT lOkIf  !lOk    GET MAIL ERROR cErro    conout('Erro de Desconexao :'+ cErro)                        EndIfRestArea(aAreaSM0)RestArea(aAreaAnt)Return NIL
Variáveis
Nome Tipo Escopo Pode Alterar descrição
Array of Record Global Não