× Linguagem de Programação ADVPL

Perguntas Imprimir Danfe + Boleto

Mais
10 anos 7 meses atrás #22364 por inocenciojr
Bom dia Srs,

Alguém tem algum exemplo de como imprimir em um único arquivo pdf a DANFE e o Boleto.
Eu consigo gerar cada um em rotinas separadas, porém estou tentando gerar ambos em uma única rotina em um mesmo pdf para facilitar a impressão e o envio por email.
Os seguintes usuário(s) disseram Obrigado: heverson.gomes

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 6 meses atrás #22418 por lalberto
Respondido por lalberto no tópico Imprimir Danfe + Boleto
Inocencio boa noite, já fiz isso uma vez, o que vai precisar é no final da geração do danfe chamar sua rotina de impressão do boleto passando os parametros dos titulos, olha só, pra gerar o boleto em pdf já vi o pessoal reclamando que a função do código de barras não dá certo, por isso já te aconselho que vai ter muitos problemas, segue uma idéia de como passo os parâmetros chamando a rotina de impressão de boleto, após geração da danfe.

If SE4->(dbSetOrder(1), dbSeek(xFilial("SE4")+cCond)) .And. SE4->E4_DYBOLET == 'S' // Imprime Boleto
cBcoPadrao := GetNewPar("DY_BCOBOL" ,"001;3320;0;2062;1;17")
aBanco := Separa(cBcoPadrao,";",.T.)
cBanco := PadR(aBanco[1],TAMSX3("A6_COD")[1])
cAgencia := PadR(aBanco[2],TAMSX3("EE_AGENCIA")[1])
cAgeDigi := PadR(aBanco[3],TAMSX3("EE_DVAGE")[1])
cConta := PadR(aBanco[4],TAMSX3("EE_CONTA")[1])
cConDigi := PadR(aBanco[5],TAMSX3("EE_DVCTA")[1])
cSubConta := PadR(aBanco[6],TAMSX3("EE_SUBCTA")[1])

If !SEE->(dbSetOrder(1), dbSeek(xFilial("SEE")+cBanco+cAgencia+cConta+cSubConta))
If lAuto
Conout("Atencao Banco para Boleto Nao Localizado na Tabela SEE ! -> Nota " + SF2->F2_DOC)
Else
Alert("Atencao Banco para Boleto Nao Localizado na Tabela SEE ! -> Nota " + SF2->F2_DOC)
Endif
DbSelectArea("Query")
DbSkip();Loop
Endif

cPrefixoDe := QUERY->F2_SERIE
cPrefixoAte := QUERY->F2_SERIE
cNumDe := QUERY->F2_DOC
cNumAte := QUERY->F2_DOC
cParcelaDe := ' '
cParcelaAte := 'ZZZ'
cClienteDe := QUERY->F2_CLIENTE
cClienteAte := QUERY->F2_CLIENTE
cLojaDe := QUERY->F2_LOJA
cLojaAte := QUERY->F2_LOJA
nReimpressao := 2
nConsidera := 2
nMarcados := 2

U_DYFINR01(.t.,cPrefixoDe,cPrefixoAte,cNumDe,cNumAte,cParcelaDe,cParcelaAte,cClienteDe,cClienteAte,cLojaDe,cLojaAte,cBanco,cAgencia,cConta,cSubConta,nReimpressao,nConsidera,nMarcados,cImpDanfe)


E No fonte de Impressão do Boleto, vc vai receber todos os parâmetros acima e tratar dentro do fonte:

User Function DYFINR01(lAuto,cPrefixoDe,cPrefixoAte,cNumDe,cNumAte,cParcelaDe,cParcelaAte,cClienteDe,cClienteAte,cLojaDe,cLojaAte,cBanco,cAgencia,cConta,cSubConta,nReimpressao,nConsidera,nMarcados)


If !lAuto
If !Pergunte(cPerg,.T.)
Return(Nil)
EndIf
Else
// Impressao Automatica Boleto

Pergunte(cPerg,.F.)

MV_PAR01 := cPrefixoDe
MV_PAR02 := cPrefixoAte
MV_PAR03 := cNumDe
MV_PAR04 := cNumAte
MV_PAR05 := cParcelaDe
MV_PAR06 := cParcelaAte
MV_PAR07 := cClienteDe
MV_PAR08 := cClienteAte
MV_PAR09 := cLojaDe
MV_PAR10 := cLojaAte
MV_PAR11 := cBanco
MV_PAR12 := cAgencia
MV_PAR13 := cConta
MV_PAR14 := cSubConta
MV_PAR15 := nReimpressao
MV_PAR16 := nConsidera
MV_PAR17 := nMarcados

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
10 anos 6 meses atrás #22425 por inocenciojr
Respondido por inocenciojr no tópico Imprimir Danfe + Boleto
Luiz Bom dia!

Muito obrigado. Eu tenho de chamar minha função no fim do DanfeProc ou do PrtNfeSef?
E outra coisa, eu consigo pegar os MV_PAR para passar como parâmetros para impressão do boleto?
Pois a ideia é que o fonte assuma estas informações para a impressão da Danfe e o boleto, além de alguns relatórios que necessários para o cliente.

Obrigado pela ajuda!

Por favor Acessar ou Registrar para participar da conversa.

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