;** CB_0000 ********************************************************************
;* Carta de Cobranca I                                                         *
;*******************************************************************************
;Autor: Visao/Vise
;Desenvolvido  em: 17/02/2009 por Anivel Augusto Rodrigues
;Alterado em     :   /  /     por
;Motivo Alteracao:

;*******************************************************************************
;* Rotina para Impressao do Cabecalho da Carta                                 *
;*******************************************************************************
Proc IMPCAB_CARTA()

If [Codigo da Empresa]<>CODEMPANT
   Then CODEMPANT=[Codigo da Empresa]

        getrecord "\\sistemas\\cadastro\\empresas" [Codigo da Empresa] to regempresas
        If retval
           Then EMP_NOMF=regempresas["Nome Fantasia Empresa"]
                EMP_RAZ =regempresas["Razao Social Empresa" ]
                EMP_END =regempresas["Endereco Empresa"     ]
                EMP_BAIR=regempresas["Bairro Empresa"       ]
                EMP_CID =regempresas["Cidade Empresa"       ]
                EMP_UF  =regempresas["UF Empresa"           ]
                EMP_CEP =regempresas["CEP Empresa"          ]
                EMP_FONE=regempresas["Telefone Empresa"     ]
        EndIf
EndIf

NFOLHA=NFOLHA+1

Print File ARQIMP "\n\n\n"

Print File ARQIMP CI_INEG+Format("W80,AC",EMP_NOMF)+CI_FNEG+"\n\n\n"

Print File ARQIMP EMP_CID+", "+
                  StrVal(Day(Today()))+" DE "+
                  RTrim(MesExt(Month(Today())))+" DE "+
                  StrVal(Year(Today()))+"\n\n"

Print File ARQIMP "Ilmo(a) Sr(a) "+CI_INEG+CLI_RAZ+CI_FNEG+".\n\n\n"

Print File ARQIMP Spaces(05)+"   Estando na rela‡„o de nossos bons clientes, tomamos a liberdade de"+"\n"
Print File ARQIMP Spaces(05)+"comunicar-lhe da existˆncia de d‚bito(s) em nosso credi rio, que deve"+"\n"
Print File ARQIMP Spaces(05)+"ter ocorrido por esquecimento."+"\n\n"

Print File ARQIMP Spaces(05)+"   Pedimos que entre em contato na loja para  que  seja  regularizado"+"\n"
Print File ARQIMP Spaces(05)+"seu d‚bito(s), pois nos dias de hoje, o credi rio  e  a  pontualidade"+"\n"
Print File ARQIMP Spaces(05)+"s„o suas melhores recomenda‡”es."+"\n\n"

Print File ARQIMP Spaces(05)+"   Tendo em vista que a emiss„o deste aviso ‚ autom tica, por  compu-"+"\n"
Print File ARQIMP Spaces(05)+"tador, caso V.S¦ j  tenha pago  at‚  a  data  da  entrega  do  mesmo,"+"\n"
Print File ARQIMP Spaces(05)+"solicitamos inutiliz -lo."+"\n\n\n"

Print File ARQIMP Spaces(05)+"         Atenciosamente,                    --------------------"+"\n"
Print File ARQIMP Spaces(05)+"                                           "+Format("W20,AC",EMP_NOMF)+"\n\n"


Print File ARQIMP "D‚bitos Vencidos"+" - FOLHA: "+StrVal(NFOLHA)+"\n"
Print File ARQIMP Fill("-",80)+"\n"

Nl=0
EndProc

;*******************************************************************************
;* Rotina para Impressao dos Titulos da Carta                                  *
;*******************************************************************************
Proc IMPTIT_CARTA()

LINHA1="Numero       Data        Valor   Dias "
LINHA2="Documento   Vencto      Titulo  Atraso"

If Not IsBlank(Array_TitDocto[13])
   Then LINHA1=LINHA1+" | "+"Numero       Data        Valor   Dias "
        LINHA2=LINHA2+" | "+"Documento   Vencto      Titulo  Atraso"
Endif

Print File ARQIMP LINHA1+"\n"
Print File ARQIMP LINHA2+"\n"

For Wi From 1 to 12
  If IsBlank(Array_TitDocto[wi]) Then QuitLoop Endif

  Print File ARQIMP Format("W10,AL",Array_TitDocto[wi])+
                    Format("D13",Array_TitVencto[wi])+
                    Format("W10.2,EIC",Array_TitValor[wi])+
                    Format("W08,EIC",Array_TitNDias[wi])

  If Not IsBlank(Array_TitDocto[wi+12])
		 Then Print File ARQIMP " | "+
                            Format("W10,AL",Array_TitDocto[wi+12])+
                            Format("D13",Array_TitVencto[wi+12])+
                            Format("W10.2,EIC",Array_TitValor[wi+12])+
                            Format("W08,EIC",Array_TitNDias[wi+12])
	Endif

	Print File ARQIMP "\n"
	Nl=Nl+1
EndFor

EndProc

;*******************************************************************************
;* Rotina para Impressao do Rodape da Carta                                    *
;*******************************************************************************
Proc IMPROD_CARTA(Tipo)

Print File ARQIMP "\n"
If Tipo="Total"
	 Then Print File ARQIMP " TOTAL ->"+CI_INEG+Format("W10.2,EIC,AL",TOTVR)+CI_FNEG+"\n"
   Else Print File ARQIMP CI_INEG+" * Continua Pr¢xima Folha -> "+StrVAl(NFOLHA+1)+CI_FNEG+"\n"
EndIf

For I From Nl To 12
 Print File ARQIMP "\n"
EndFor

Print File ARQIMP Fill("-",80)+"\n"
Print File ARQIMP CI_INEG+"* Os valores em atraso ser„o reajustados ap“s a data de vencimento."+CI_FNEG+"\n\n"

Print File ARQIMP CI_INEG+"* Aten‡„o: Caso j  tenha efetuado o pagamento, favor ignorar este aviso."+CI_FNEG+"\n\n"

Print File ARQIMP "Ilmo(a) Sr(a)"+"\n\n"

Print File ARQIMP "  "+CLI_RAZ +" - "+CODCLIANT+"\n"
Print File ARQIMP "  "+CLI_END +"\n"
Print File ARQIMP "  "+CLI_BAIR+" - "+CLI_CEP+"\n"
Print File ARQIMP "  "+CLI_CID +"/"+CLI_UF+"\n\n"

Print File ARQIMP Fill("-",80)+"\n"

Print File ARQIMP "  "+EMP_RAZ +"\n"
Print File ARQIMP "  "+EMP_END +" - "
Print File ARQIMP "  "+EMP_BAIR+" - "+EMP_CEP+"\n"
Print File ARQIMP "  "+EMP_CID +"/"+EMP_UF+" - "+EMP_FONE+"\f"

EndProc

;*******************************************************************************
;* Rotina Limpa Valores                                                        *
;*******************************************************************************
Proc Zera_Array()
NTIT=0
For Wi From 1 to 24
	Array_TitDocto[wi] =""
	Array_TitVencto[wi]=BlankDate()
	Array_TitValor[wi] =0
	Array_TitNDias[wi] =0
EndFor
EndProc


;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc ImprimePessoa()

IMPTIT_CARTA()
IMPROD_CARTA("Total")
MontaArquivoImpressao("PessoaFim",CODCLIANT,CLI_RAZ)

EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************

Echo Normal
Echo Off

MontaArquivoImpressao("Inicio","","")

LimpaRodape(0)

Array Array_TitDocto[24]
Array Array_TitVencto[24]
Array Array_TitValor[24]
Array Array_TitNDias[24]
Zera_Array()

CODEMPANT="***"
CODCLIANT="***"
View "\\Sistemas\\Cadastro\\Empresas"
View "\\Sistemas\\Cadastro\\Destinat"
Coedit "Answer"
PickForm "3"
SetaCorRegistro("Paginar")
NR=NRecords("ANswer")
Scan
  Barra(NR, RecNo())
  Aguarde("Aguarde, procesando "+BARRA_STRING)

  If [Codigo do Destinatario]<>CODCLIANT
     Then
          If CODCLIANT<>"***"
             Then ImprimePessoa()
          EndIf

          CODCLIANT=[Codigo do Destinatario]
          
          MontaArquivoImpressao("PessoaInicio",CODCLIANT,"")
          ExibeRodape(1,"Imprimindo Carta de Cobran‡a "+[Razao Social])

          NFOLHA   =0
          TOTVR    =0
					Zera_Array()

          getrecord "\\sistemas\\cadastro\\destinat" [Codigo do Destinatario] to regdestinat
          If retval
             Then CLI_RAZ =regdestinat["Razao Social"]
                  CLI_END =regdestinat["Endereco"]
                  CLI_BAIR=regdestinat["Bairro"]
                  CLI_CID =regdestinat["Cidade"]
                  CLI_UF  =regdestinat["UF"]
                  CLI_CEP =regdestinat["CEP"]
                  CLI_FONE=regdestinat["Telefone"]
          EndIf
          IMPCAB_CARTA()
  EndIf

	If NTIT=24
     Then IMPTIT_CARTA()
          IMPROD_CARTA("SubTotal")
          IMPCAB_CARTA()
					Zera_Array()
  EndIf

	NTIT=NTIT+1
	Array_TitDocto[NTIT] =[Numero do Documento]
	Array_TitVencto[NTIT]=[Data de Vencimento ]
	Array_TitValor[NTIT] =[Saldo do Documento ]
	Array_TitNDias[NTIT] =Today()-[Data de Vencimento]

	TOTVR=TOTVR+[Saldo do Documento]

EndScan
ImprimePessoa()
Do_It!
ClearAll

MontaArquivoImpressao("Fim","","")

LimpaRodape(0)

Mensagem("Fim do processo !")

LIMPAGUARDE()
Release Vars NL,NTIT,TOTVR,NR
Release Procs IMPCAB_CARTA, IMPTIT_CARTA, IMPROD_CARTA, Zera_Array, ImprimePessoa
