Jump to content
Fivewin Brasil

Boleto cobrebem em pdf xHarbour 13.07


jfaguiar

Recommended Posts

FrPrn := frReportManager():new()

FrPrn:SetTitle("Dacte")

FrPrn:SetWorkArea("ARQCTO", Select("ARQCTO"))

FrPrn:SetResyncPair("ARQCTO")

FrPrn:LoadFromFile("xDacte.FR3")



DirWin := GetWinDir()

DirWin := DirWin + "\TEMP"

If ! LIsDir(DirWin)

LMkDir(DirWin)

Endif

DirWin := DirWin+"\"+"BOLETO.PDF"


FrPrn:SetProperty("PDFExport", "FileName", DirWin)

FrPrn:SetProperty("PDFExport", "OpenAfterExport", .f.)

FrPrn:SetProperty("PDFExport", "ShowDialog",.f.)

FrPrn:PrepareReport()

FrPrn:DoExport("PDFExport")
Link to comment
Share on other sites

Olá Wanderso.

Você poderia dar um exemplo juntos com os comandos da dll?

Utilizo esta function para imprimir:

STATIC FUNCTION ImprimeBoleto()
LOCAL oDlg,oCBX, oBoleto
LOCAL nJURODIA := ARQPARAM->JURODIA
LOCAL nVALDESC,nVALTIT,nVALMULT
LOCAL cINST01,cINST02,cINST03,cINST04,cINST05
PRIVATE cARQCONF,cARQLOGO,cAGENCIA,cCONTA
cAGCONTA := LTRIM( STR(TBCCOR->AGENCIA,6) )+"/"+TRIM(TBCCOR->CONTA)+"-"+LEFT(TBCCOR->DIGCONTA,1)
//
dllatual:= loadlibrary("Cobrebemx.dll")
SET RESOURCES TO dllatual
//
oCBX := TOleAuto():New("CobreBemX.ContaCorrente")
// Monta arquivo de licena de teste para banco 001 carteira 18
cARQCONF := TBCCOR->ARQCONF
oCBX:ArquivoLicenca := "H:\SISCOM\CobreBem\&cARQCONF" // TL356_42.conf"
// Monta dados da conta corrente
cAGENCIA := STRZERO(TBCCOR->AGENCIA,4)
IF !EMPTY(TBCCOR->DIGAGENC)
cAGENCIA += "-"+TBCCOR->DIGAGENC
ENDIF
oCBX:CodigoAgencia := cAGENCIA // STRZERO(TBCCOR->AGENCIA,4) // "0200"
cCONTA := TRIM(TBCCOR->CONTA)+;
IF(!EMPTY(TBCCOR->DIGCONTA),"-"+LEFT(TBCCOR->DIGCONTA,1)," " )
oCBX:NumeroContaCorrente := TRIM(cCONTA)
oCBX:LocalPagamento := "Pagável em qualquer banco até o vencimento"
//
IF !"033" $ TBCCOR->BANCO // nCDBCOAG
oCBX:CodigoCedente := LEFT(TBCCOR->CONTA,7) // "0715383"
ELSE
oCBX:CodigoCedente := SUBSTR(TBCCOR->CODEMPR,6,6)+"-"+SUBSTR(TBCCOR->CODEMPR,12,1) // No Santander 32000324553501300016
ENDIF // 12345678901234567890
IF TBCCOR->NNUMERNF
// Gera o n. número igual à nota fiscal no Bradesco é assim
/*
oCBX:InicioNossoNumero := "0000001"
oCBX:FimNossoNumero := "0079999"
nNOSSNUM := VAL( STR(ARQCREC->RECSEQ,6)+STR(ARQCREC->RECPARC,1) ) // Adi 22/07/09
oCBX:ProximoNossoNumero := STRZERO(nNOSSNUM-1,7) // adi em 03/07/09
*/
ELSE
// Real
oCBX:InicioNossoNumero := STRZERO(TBCCOR->NNUMEROI,7) // ad 03/07/2009
oCBX:FimNossoNumero := STRZERO(TBCCOR->NNUMEROF,7) // ad 03/07/2009
oCBX:ProximoNossoNumero := STRZERO(TBCCOR->NNUMERO-1,5)
nNOSSNUM := TBCCOR->NNUMERO
ENDIF
// Observação:
oCBX:PadroesBoleto:PadroesBoletoImpresso:CaminhoImagensCodigoBarras := "&cDRIVE\SISCOM\bitmaps\"
//
DbSelectArea("TBCCOR")
IF !REGLOCK(20,.F.)
DbSelectArea("TBFATURA")
RETURN Nil
ENDIF
DbSelectArea("ARQCREC")
//
lBOLETOOK := .T.
IF "356" $ TBCCOR->BANCO // nCDBCOAG // IF nCDBCOAG = 356
cARQLOGO := LEFT(TBCCOR->BANCO,3) + "N.jpg"
ELSE
cARQLOGO := LEFT(TBCCOR->BANCO,3) + ".jpg"
ENDIF
// O logo da parte superior é carregado através da seguinte propriedade ArquivoLogotipo abaixo
oCBX:PadroesBoleto:PadroesBoletoImpresso:ArquivoLogotipo := "&cDRIVE\SISCOM\bitmaps\&cARQLOGO"
//
nVALDESC:= 0
nVALTIT := ARQCREC->RECVAL - nVALDESC
IF !"033" $ TBCCOR->BANCO
nVALMULT := 2.00
ELSE
nVALMULT := (ARQCREC->RECVAL-nVALDESC) * nJURODIA/100
ENDIF
cINST01 := 'NAO DISPENSA MORA. COBRAR MORA DE '+TRIM(ARQPARAM->PMOEDA)+' '+LTRIM( TRANSF( (ARQCREC->RECVAL-nVALDESC) * nJURODIA/100,'@E 99,999.99') ) +' POR DIA DE ATRASO'
cINST02 := 'APOS VENCIMENTO COBRAR MULTA DE '+TRIM(ARQPARAM->PMOEDA)+' '+LTRIM( TRANSF(nVALMULT,'@E 99,999.99'))
cINST03 := 'PROTESTAR APOS '+LTRIM(ARQPARAM->PDIAPROT) + ' DIAS UTEIS DO VENCIMENTO'
cINST04 := 'VALORES EXPRESSOS EM REAIS'
cINST05 := 'NF '+STR(ARQCREC->RECSEQ,6)
//
oBoleto := oCBX:DocumentosCobranca:Add()
syswait(.5) // Tem no programa exemplo do chegado do forum
// Monta dados do sacado
oBoleto:NomeSacado := ARQCLI->CLIRAZAO
oBoleto:EnderecoSacado:= ARQCLI->CLIENDC
oBoleto:BairroSacado := ARQCLI->CLIBAIC
oBoleto:CidadeSacado := ARQCLI->CLICIDC
oBoleto:EstadoSacado := ARQCLI->CLIUFC
oBoleto:CEPSacado := ARQCLI->CLICEPC + IF("ARQTLCDX" $ cPATH," - A/C: "+ARQCLI->CLICONT2," ")
oBoleto:cnpjsacado := ARQCLI->CLICGC
// Monta dados do documento de cobranca
oBoleto:PadroesBoleto:InstrucoesCaixa := cINST01 + "<br>" + cINST02 + "<br>" + cINST03 + "<br>" + cINST04 + "<br>" + cINST05
oBoleto:PadroesBoleto:Demonstrativo := cINST01 + "<br>" + cINST02 + "<br>" + cINST03 + "<br>" + cINST04 + "<br>" + cINST05
oBoleto:DataDocumento := DTOC(RECDEMI)
oBoleto:DataProcessamento:= DTOC(RECDEMI)
oBoleto:DataVencimento := DTOC(RECDVEN)
oBoleto:NumeroDocumento := STRZERO(RECSEQ,6)+STR(RECPARC,1)
oBoleto:ValorDocumento := nVALTIT
oBoleto:TipoDocumentoCobranca:= "DS"
//
IF TBCCOR->NNUMERNF // Pega o nosso numero igual a nf
oBoleto:NossoNumero := STRZERO(RECSEQ,6)+STR(RECPARC,1)
ELSE
IF !EMPTY(ARQCREC->RECNNUM)
nNOSSNUM := VAL(ARQCREC->RECNNUM) - 1
oCBX:ProximoNossoNumero := STRZERO(nNOSSNUM,5)
++ nNOSSNUM
ENDIF
ENDIF
oCBX:calcularDadosBoletos()
linhadigi := oBoleto:LinhaDigitavel // pega linha digitável
codildigi := oBoleto:CodigoBarras // codigo utilizado para gerar o código de barras
//
// nNossoCob := oBoleto:NossoNumero && pega nosso número
//
VARAUX1 := " "
IF TBCCOR->NNUMERNF // Bradesco
//nNOSSNUM := VAL( STR(ARQCREC->RECSEQ,6)+STR(ARQCREC->RECPARC,1) ) // AD em 22/07/09
//oCBX:ProximoNossoNumero := STRZERO(nNOSSNUM-1,10) // STRZERO(nNOSSNUM,8) Sem o digito conf contato c/Cobrebem
ELSE // Real
// Pega o nosso numero pelo contador de auto-incremento - Real
IF EMPTY(ARQCREC->RECNNUM)
DbSelectArea("ARQCREC")
IF REGLOCK(100,.F.)
REPLACE RECNNUM WITH STRZERO(nNOSSNUM,5)
REPLACE RECTITU WITH cAGCONTA
IF !RECIMPB == "N"
REPLACE RECIMPB WITH "I"
ENDIF
DbUnlock()
ENDIF
//
++ nNOSSNUM
VARAUX1 := "GRAVOU AGENCIA"
REPLACE TBCCOR->NNUMERO WITH nNOSSNUM // ta travado
ELSE
// Retorna o próximo n.número para os parâmetros
nNOSSNUM := TBCCOR->NNUMERO
oCBX:ProximoNossoNumero := STRZERO(nNOSSNUM-1,5)
ENDIF
ENDIF
IF EMPTY(VARAUX1) // Se não gravou agencia e conta no bloco anterior
DbSelectArea("ARQCREC")
IF REGLOCK(20,.F.)
REPLACE RECTITU WITH cAGCONTA
IF !RECIMPB == "N"
REPLACE RECIMPB WITH "I"
ENDIF
DbUnlock()
ENDIF
ENDIF
SysRefresh()
//
oCBX:ImprimeBoletosSemPreview()
TBCCOR->( DbUnlock() )
RETURN( NIL )
***********************************************************************************************
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...