× Linguagem de Programação ADVPL

Perguntas Re: Envio Danfe PDf E-mail Cliente

Mais
11 anos 9 meses atrás #3029 por iranildo74205
Pessoal do MasterAdvpl criei uma rotina que roda em JOB para gerar o danfe_numerodanfe.pdf e enviar o pdf para o e-mail do cliente. Basta criar o campo F3_YDANFE na SF3 sendo um flag para a rotina processar.
Caso precisem do restante do fonte é só avisar que irei enviar o fonte completo.


ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÚÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄ¿±±
±±³Programa ³ RPdfDanfe ³ Autor ³ Iranildo Cavalcante ³ Data ³ 25/04/2012³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄ´±±
±±³Descri+.o ³ Gerar e Enviar e-mail do PDF da Danfe da Nf-e ³±±
±±ÃÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ´±±
±±ºUso ³ Especifico COGERH º±±
±±ÀÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
/*/
User Function RPdfDanfe()
Private oDanfe
Private nConsNeg := 0.4 // Constante para concertar o cálculo retornado pelo GetTextWidth para fontes em negrito.
Private nConsTex := 0.5 // Constante para concertar o cálculo retornado pelo GetTextWidth.

// Gera Log De Servico
ConOut("INICIO DO PROCESSAMENTO DE EMAILS DA DANFE :" + DtoC(Msdate()) + " Hora: " + Time())

// Inicializa a environment para execucao do schedule
PREPARE ENVIRONMENT EMPRESA aspassimples01aspassimples FILIAL aspassimples01aspassimples MODULO aspassimplesFATURAMENTOaspassimples FUNNAME aspassimplesRPDFaspassimples TABLES "SF2","SF3"

dbSelectArea("SF3")

cIndexName := Criatrab(Nil,.F.)
cIndexKey := "F3_NFISCAL+F3_CLIEFOR"
cFilter := "F3_FILIAL==aspassimples"+xFilial("SF3")+"aspassimples .And. "
cFilter += "F3_CODRSEF=aspassimples100aspassimples .And. F3_CHVNFE <>aspassimples aspassimples .And."
cFilter += "F3_YDANFE<>aspassimplesSaspassimples .And. F3_CFO >= aspassimples5000aspassimples "

IndRegua("SF3", cIndexName, cIndexKey,, cFilter, Nil)

dbSelectArea("SF3")
dbGoTop()

oFont1 := TFont():New( "Courier New", , -18, .T.)

While !EOF()

MV_PAR01 := SF3->F3_NFISCAL
MV_PAR02 := SF3->F3_NFISCAL
MV_PAR03 := aspassimples1 aspassimples
MV_PAR04 := 2
MV_PAR05 := 2

//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Posiciona o SA1 (Cliente) ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
DbSelectArea("SA1")
DbSetOrder(1)
DbSeek(xFilial()+SF3->F3_CLIEFOR+SF3->F3_LOJA,.T.)

DbSelectArea("SF3")

if Alltrim(SA1->A1_EMAIL) <> "" // Se tiver cadastrado o e-mail do Cliente.
If oDanfe == Nil
lPreview := .T.
oDanfe := FWMSPrinter():New(aspassimplesDanfe_aspassimples+SF3->F3_NFISCAL,6,.F.,,.T.)
oDanfe:SetPortrait()
oDanfe:SetPaperSize(9)
oDanfe:SetMargin(60,60,60,60)
oDanfe:cPathPDF := "C:\"
oDanfe:SetViewPDF(.F.)
EndIf

Private PixelX := oDanfe:nLogPixelX()
Private PixelY := oDanfe:nLogPixelY()

DanfePro1(@oDanfe,,"000001",,,.F.)

If lPreview
oDanfe:Preview() //Visualiza antes de imprimir
EndIf

// ---- Enviar e-mail do Danfe.pdf para o e-mail do Cliente 18/04/2012
EnvDanfe(Alltrim(SA1->A1_EMAIL),Alltrim(SF3->F3_NFISCAL))

FreeObj(oDanfe)
oDanfe := Nil

endif
Reclock("SF3",.F.)
SF3->F3_YDANFE := "S"
MsUnlock()
dbSkip()

EndDo

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #3033 por lalberto
Respondido por lalberto no tópico Re: Envio Danfe PDf E-mail Cliente
Iranildo Muito Obrigado, seria legal vc colocar na área de downloads na opção de envio de arquivo ok.

Obrigado

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 9 meses atrás - 11 anos 9 meses atrás #3034 por iranildo74205
Prezados, foi enviado o arquivo fonte para downloads categoria fonte diversos esperamos que seja publicado.
Ultima edição: 11 anos 9 meses atrás por iranildo74205.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #3039 por iranildo74205
Prezados foi publicado ok! esta em DOWNLOADS -> Fontes diversos. ok.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #16636 por pinheiro
Respondido por pinheiro no tópico Re: Envio Danfe PDf E-mail Cliente
Caros, usando a rotina via chamada no menu ta funcionando beleza, porem ao tentar schedular esta dando erro abaixo, pesquisei e no TDN fala que esta função deve ser usada somente atraves do Smart client. alguem sabe como resolver?

Stack :
Function GetFontPixWidths() doesn't available in JOB. in file c:\advtec9\interface\srvfunctions.inl at line 2791
on FWFONTSIZE:CHKFONT(FWFONTSIZE.PRW) 19/04/2013 10:08:03 line : 86

[build: 7.00.120420A-20120726]
[environment: SCH]
[thread: 2396]
[dbthread: 1880]
[rpodb: TOP]
[localfiles: ADS]
[remark: U_RPDFDANFE|12|01]
[threadtype: JobThread]
Called from FWFONTSIZE:GETTEXTWIDTH(FWFONTSIZE.PRW) 19/04/2013 10:08:03 line : 173
Called from RETTAMCOL(RPDFDANFE.PRW) 26/08/2013 12:54:21 line : 3269
Called from PRTDANFE(RPDFDANFE.PRW) 26/08/2013 12:54:21 line : 2166
Called from IMPDET(RPDFDANFE.PRW) 26/08/2013 12:54:21 line : 552
Called from DANFEPRO1(RPDFDANFE.PRW) 26/08/2013 12:54:21 line : 362
Called from U_RPDFDANFE(RPDFDANFE.PRW) 26/08/2013 12:54:21 line : 99
Called from WFLAUNCHER(WF.PRW) 18/07/2012 13:54:21 line : 445
*/

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #16682 por anizio.souza
Respondido por anizio.souza no tópico Envio Danfe PDf E-mail Cliente
Caro Iranildo, boa tarde.

Muito legal o Protheus enviar os danfes por email e em pdf.

Essa rotina roda por trás do processamento. ou é rotina de user?

Podes enviar o fonte completo pra eu analisar aqui?


Obriagdo,

Por favor Acessar ou Registrar para participar da conversa.

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