;** Rp_0102A *******************************************************************
;*  Recibo de Pagamento                                                        *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 21/11/2013 por Andrey Fillipe
;Ultima Alteracao: 16/05/2016 por Bruno Carvalho 
;Motivo Alteracao: Copia do RP_0102A -> RP_0102B e ajustado conforme ‚ o processo do BXCXAUTO

;*******************************************************************************
;* Rotina para impressao                                                    ****
;*******************************************************************************
Proc Imprimir()

tpag   = 64
pag    = 0
lin    = 0
CodCli = "***"

moveto "Answer"
Moveto [Numero do Lote]
Locate nlote
if RetVal
   then while [Numero do Lote]=[Bxautc->numero do Lote] 
          If CodCli<>[Codigo do Destinatario]
             Then If CodCli <> "***"
                     Then Rodape()
                  EndIf
                  CodCli = [Codigo do Destinatario]
                  GetRecord "\\Sistemas\\Cadastro\\Destinat" CodCli To REG_CLI
                  cabecalho()
                  zeragrupo()
                  grupotitulos()
          EndIf   
          titulos()
          Moveto "Answer"
          skip
          if eot() then quitloop endif
        endwhile
Endif
Rodape()   

EndProc ;Imprimir()

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
Proc grupotitulos()
private tit

tit="Titulos a Receber"
imprimelinha(CI_INEG+tit+CI_FNEG)

endproc                     

;*******************************************************************************
;*                                                                             *
;*******************************************************************************
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("")

imprimelinha(CI_15CPP)
imprimelinha(Fill("=",60))
imprimelinha(Format("W60,AC","COMPROVANTE DE BAIXA(S)"))
imprimelinha("")
imprimelinha("EMISSAO: "+Format("D13",Today())+"-"+Time())
imprimelinha("EMITIDO PARA CONTROLE INTERNO NŽO TEM  VALOR FISCAL")
imprimelinha(Fill("-",60))
imprimelinha("N LOTE...: "+CI_IEXP+[Bxautc->Numero do Lote]+CI_FEXP)
imprimelinha("CLIENTE..: "+Format("W04,AL",CodCli)+"-"+Format("W20,AL",REG_CLI["Nome Fantasia EmitDest"]))       
imprimelinha("ENDERE€O.: "+Format("W40,AL",REG_CLI["Endereco"]))
imprimelinha("BAIRRO...: "+ Format("W20,AL",REG_CLI["Bairro"]))
imprimelinha("TELEFONE.: "+Format("W20,AL",REG_CLI["Telefone"]))
imprimelinha("CIDADE...: "+Format("W20,AL",REG_CLI["Cidade"]))       
imprimelinha("")
imprimelinha("Data da Baixa: "+Format("D13",[Bxautc->Data da Baixa])+spaces(03)+
             "Data Base: "+Format("D13",[Bxautc->Data Base]))
imprimelinha("")                                                                        
imprimelinha("             ------------------ Valores ------------------")
imprimelinha("Documento       Original Juros/Multa  Desconto       Total")
imprimelinha("------------ ----------- ----------- --------- -----------")

EndProc ;CABECALHO()   

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

s=Format("W12,AL"   ,[Numero do Documento ])+Spaces(1)+
  Format("W11.2,EIC",([Bx Valor do Recebimento]+[Bx Valor do Desconto])-[Bx Valor do Juros])+Spaces(1)+
  Format("W11.2,EIC",[Bx Valor do Juros   ])+Spaces(1)+
  Format("W9.2,EIC",[Bx Valor do Desconto])+Spaces(1)+
  Format("W11.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("")
imprimelinha(Fill("-",60))
imprimelinha("Data Media: "+Format("D13",DTMEDIA))
imprimelinha("Vr Recebido: "+LTrim(Format("W11.2,EIC",tvroperac)))
imprimelinha("")

Print File ARQIMP Fill("=",60)
For i From 1 To 9
  imprimelinha("")
EndFor
imprimelinha(CI_10CPP)
imprimelinha(CI_6LPP)

EndProc ;RODAPE()

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

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

        cabecalho()
        grupotitulos()
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()+"RP_0102A.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 "Numero do Lote","Codigo do Destinatario"
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 Procs imprimir, grupotitulos, totalizagrupo, zeragrupo, rodape, Titulos, cabecalho, 
              imprimelinha 
