;** RB_0280 ********************************************************************
;*  Recibo de Baixas automaticas  1 recibo por titulo                          *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 26/07/2016 por Anivel Augusto Rodrigues
;Ultima Alteracao:   /  /     por  
;Motivo Alteracao: 

;*******************************************************************************
;* Rotina para impressao                                                    ****
;*******************************************************************************
Proc Imprimir()
private cdclie, nreciboporfolha

tpag   =200
pag    =0
lin    =0

nreciboporfolha=0
cdclie ="****"

moveto "Answer"
scan

  if nreciboporfolha=4
     then nreciboporfolha=0
          Print File ARQIMP "\f"+"\n"
  endif        
  
  if [Codigo do Destinatario]<>cdclie
     then GetRecord "\\Sistemas\\Cadastro\\Destinat" [Codigo do Destinatario] To REG_CLI
          cdclie=[Codigo do Destinatario]
  endif

  zeragrupo()
     
  cabecalho()
  titulos()
  Rodape()

  nreciboporfolha=nreciboporfolha+1
  
endscan
Print File ARQIMP "\f"+"\n"

EndProc ;Imprimir()

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc zeragrupo()

tvrsaldo =0
tvroperac=0
tvrjuros =0
tvrdescto=0
tvrresid =0

endproc

;*******************************************************************************
;* Cabe‡alho                                                                   *
;*******************************************************************************
Proc CABECALHO()
private s

pag=pag+1
lin=0

imprimelinha(CI_FEXP+CI_FNEG+CI_15CPP+CI_8LPP+ Fill("=",79) )

s=CI_10CPP+CI_IEXP+CI_INEG
Switch
  Case [Bx Tipo da Baixa]="NORMAL"   :  s=s+"RECIBO DE PAGAMENTO"
  Case [Bx Tipo da Baixa]="DEVOLUCAO":  s=s+"RECIBO DE DEVOLUCAO"
  Case [Bx Tipo da Baixa]="CANCELADO":  s=s+"RECIBO DE CANCELAMENTO"
EndSwitch
imprimelinha(s+ CI_15CPP+CI_FEXP+CI_FNEG)

imprimelinha("EMISSAO: "+Format("D13",Today())+"-"+Time())
imprimelinha(Fill("-",79))
imprimelinha("EMITIDO PARA CONTROLE INTERNO NŽO TEM  VALOR FISCAL")
imprimelinha(Fill("-",79))

imprimelinha("CLIENTE..: "+Format("W04,AL",[Codigo do Destinatario])+"-"+Format("W20,AL",REG_CLI["Nome Fantasia EmitDest"]))       
imprimelinha("ENDERE€O.: "+Format("W40,AL",REG_CLI["Endereco"]))
imprimelinha("BAIRRO...: "+Format("W30,AL",REG_CLI["Bairro"])+"FONE.: "+Format("W20,AL",REG_CLI["Telefone"]))
imprimelinha("CIDADE...: "+Format("W20,AL",REG_CLI["Cidade"]))       
imprimelinha("")

imprimelinha(Spaces(01)+"                       ------------------- Valores -------------------")
imprimelinha(Spaces(01)+"N§ Lanc. Documento        Original Juros/Multa    Desconto       Total")
imprimelinha(Spaces(01)+"-------- ------------- ----------- ----------- ----------- -----------")

EndProc ;CABECALHO()   

;*******************************************************************************
;* Impressao dos Titulos                                                       *
;*******************************************************************************
Proc Titulos()
private s

s=Spaces(01)+
  Format("W09,AL",[Numero do Lancamento      ])+
  Format("W10,AL",[Numero do Documento       ])+
  "-"+[Bx Sequencia da Baixa]+
  Format("W13.2,EIC",[Saldo do Documento     ])+
  Format("W12.2,EIC",[Bx Valor do Juros      ])+
  Format("W12.2,EIC",[BX Valor do Desconto   ])+
  Format("W12.2,EIC",[Bx Valor do Recebimento])
   
imprimelinha(s)

tvrsaldo =tvrsaldo +[Saldo do Documento     ]
tvroperac=tvroperac+[Bx Valor do Recebimento]
tvrjuros =tvrjuros +[Bx Valor do Juros      ]
tvrdescto=tvrdescto+[Bx Valor do Desconto   ]
tvrresid =tvrresid +[Bx Saldo Residual      ]

EndProc ;Titulos()

;*******************************************************************************
;* Impressao dos Rodap‚                                                        *
;*******************************************************************************
Proc Rodape()
private s,i

imprimelinha(Fill("-",79))

s=Spaces(08)+"Data do Pagamento: "+Format("D13",[Bxautc->Data da Baixa])
                                    
Switch
  Case [Bx Tipo da Baixa]="NORMAL"    : s=s+Spaces(05)+"Valor Recebido : "
  Case [Bx Tipo da Baixa]="DEVOLUCAO" : s=s+Spaces(05)+"Valor Devolvido: "
  Case [Bx Tipo da Baixa]="CANCELADO" : s=s+Spaces(05)+"Valor Cancelado: "
EndSwitch

s=s+LTrim(Format("W11.2,EIC",tvroperac))
imprimelinha(s)

imprimelinha(Fill("=",79))
imprimelinha("")
imprimelinha(CI_10CPP+CI_6LPP)

EndProc ;RODAPE()

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc imprimelinha(s)

If (lin+1)>=tpag
   Then 
        Print File ARQIMP "\f"+"\n"

        cabecalho()
EndIf

Print File ARQIMP s+"\n"
lin=lin+1

endproc


;*******************************************************************************
;* Rotina Principal                                                            *
;*****************+*************************************************************
If Not IsAssigned(NOMEMPRESA)           Then NOMEMPRESA=""           EndIf
If Not IsAssigned(Sys_Reset_Impressora) Then Sys_Reset_Impressora="" EndIf


ARQIMP = PrivDir()+"RB_0280.TXT"
Switch
  Case OK="A": ARQIMP = DIREPORT+ARQUIVO+".TXT"
EndSwitch
Deleta_Arquivo(ARQIMP)

{Ask} {Bxauti} Check
Moveto [Numero do Lote] TypeIn "~nlote"
Do_it!
CleaRall  

Sort "Answer" On "Codigo do Destinatario","Data de Emissao"
Clearall 

View "BxautC"
View "Answer"

Moveto "bxautc"
Moveto [Numero do Lote]
Locate nlote
if RetVal
   Then 
        AGUARDE("Imprimindo Comprovante do Lote -> "+[Bxautc->Numero do Lote])
        
        Imprimir()
        ImpriArq(ARQIMP)
        
        LIMPAGUARDE()
        
        Mensagem("Impress„o Concluida !")        
endif
ClearAll

Release vars tpag, pag, nlin
Release Procs imprimir, zeragrupo, rodape, Titulos, cabecalho, imprimelinha 
