Perguntas M-Messenger

Mais
12 anos 4 meses atrás #354 por lalberto
M-Messenger foi criado por lalberto
Senhores, boa tarde!

Alguém sabe como utilizar a funcionalidade do M-MESSENGER cadastrando novos eventos e customizando rotinas p/ disparar emails para esses novos eventos??? Há um manual para isto? No help apenas fala como usar os eventos já cadastrados...

Grato,
Fabio

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
12 anos 4 meses atrás #400 por lalberto
Respondido por lalberto no tópico Re: M-Messenger
Boa tarde

Você pode cadastrar os eventos na tabela E3 do SX5, vinculá-los aos usuários através da rotina m-messenger e chama-los através de ponto de entrada, dependendo do que você precisa ser avisado/executado. Segue abaixo exemplo que montei para um cliente.

#include "rwmake.ch"

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ MA080VLD ºAutor ³ Marcos Candido º Data ³ 18/09/08 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Ponto de entrada ativado no botao "OK" do cadastro do º±±
±±º ³ TES. (Inclusao / Alteracao / Exclusao). º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function MA080VLD

Local lRetorno := .T.
Local aInfo := {}
Local aOpc := PARAMIXB

If aOpc[1] == 3

aadd(aInfo , "O TES abaixo acaba de ser incluido no sistema pelo usuário: "+Substr(cUsuario,7,15) )
aadd(aInfo , " " )
aadd(aInfo , "Código: "+M->F4_CODIGO )
aadd(aInfo , "Texto Padrão: "+M->F4_TEXTO )
aadd(aInfo , "Finalidade: "+M->F4_FINALID )

ElseIf aOpc[1] == 4

dbSelectArea("SF4")
dbSetOrder(1)
dbSeek(xFilial("SF4")+M->F4_CODIGO)

For j:=1 to FCount()
If FieldGet(FieldPos(FieldName(j))) <> &("M->"+(FieldName(j)))
If Len(aInfo) == 0
aadd(aInfo , "Os seguintes campos foram alterados no cadastro de TES: " +M->F4_CODIGO )
aadd(aInfo , "pelo usuário: "+Substr(cUsuario,7,15) )
aadd(aInfo , " " )
Endif
If ValType(FieldGet(FieldPos(FieldName(j)))) == "N"
cOld := Str(FieldGet(FieldPos(FieldName(j))))
cNew := Str(&("M->"+(FieldName(j))))
Elseif ValType(FieldGet(FieldPos(FieldName(j)))) == "D"
cOld := DtoC(FieldGet(FieldPos(FieldName(j))))
cNew := DtoC(&("M->"+(FieldName(j))))
Elseif ValType(FieldGet(FieldPos(FieldName(j)))) == "C"
cOld := FieldGet(FieldPos(FieldName(j)))
cNew := &("M->"+(FieldName(j)))
Else
cOld := ""
cNew := ""
Endif
aadd(aInfo , FieldName(j) )
aadd(aInfo , "Conteúdo Anterior: "+cOld )
aadd(aInfo , "Novo Conteúdo : "+cNew )
Endif
Next

Else

aadd(aInfo , "O TES abaixo acaba de ser excluido no sistema pelo usuário: "+Substr(cUsuario,7,15) )
aadd(aInfo , " " )
aadd(aInfo , "Código: "+SF4->F4_CODIGO )
aadd(aInfo , "Texto Padrão: "+SF4->F4_TEXTO )
aadd(aInfo , "Finalidade: "+SF4->F4_FINALID )

Endif

MEnviaMail("Z10",aInfo)

Return(lRetorno)

/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ MMENSZ10 ºAutor ³ Marcos Candido º Data ³ 18/09/08 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Rotina para adequar a mensagem que o usuario ira receber º±±
±±º ³ sobre evento pre cadastrado. º±±
±±º ³ º±±
±±º ³ Z10 ==> Inclusao/Alteracao/Exclusao de TES º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/

User Function MMENSZ10

Local cMens := ""
Local aInfo := PARAMIXB

For m:=1 to Len(aInfo[1])
cMens += aInfo[1][m]+CHR(13)+CHR(10)
Next

Return cMens


São dois pontos de entrada que funcionam em conjunto. O MEnviaMail, que você deve passar o código do evento e um array com as mensagens que serão enviadas. No exemplo acima ficou MEnviaMail("Z10",aInfo).

E o outro ponto de entrada que concatena a palavra MMENS com o codigo do seu evento . No exemplo acima ficou MMENSZ10, pois meu evento está cadastrado como Z10. Para cada evento customizado você deverá ter uma User Function MMENSxxx .

Funciona que é uma beleza.

Abraços.

Marcos Candido

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 semana atrás #12776 por tragial.alan
Respondido por tragial.alan no tópico Re: M-Messenger
Olá Luiz Alberto,


Estou usando o protheus 10 ainda para fazer uns testes. E breve migraremos para o Protheus 11.
Eu compilei o código e cadastrei na E3 da SX5 ... mudando todos os Z10 para meu código que era 049.
Porém, quando altero ou incluo, ele só informa que eu a excluí.


Você poderia dar um help?


Abraços.
Att.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 7 meses atrás #17264 por Rstrozi
Respondido por Rstrozi no tópico Re: M-Messenger
Boa tarde Pessoal,

Peço desculpas pelo comentário tardio, porém não é necessário utilizar FieldGet(FieldPos(FieldName(n))) para pegar o conteúdo do campo. Utilizando simplesmente FieldGet(n), já funciona.

Por favor Acessar ou Registrar para participar da conversa.

Mais
6 anos 11 meses atrás #32134 por tyelsilva
Respondido por tyelsilva no tópico Re: M-Messenger
Boa tarde!

Referente a estes pontos de entrada, usei-os como exemplo alterando a tabela e os campos. Quando executo a função mostra "variable does not exist PARAMIXB". O que tenho que fazer para corrigir esse erro?

Desde já agradeço.

Att,

Marciel

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.128 segundos
Joomla templates by a4joomla