;** CB_0010 ********************************************************************
;* Carta de Cobranca XIV                                                         *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 23/04/2014 por Luis Gustavo
;Alterado em     :   /  /     por
;Motivo Alteracao:

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

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)+"  Tendo em vista que, at‚ a presente data, nosso sistema n„o  acusou"+"\n"
Print File ARQIMP Spaces(05)+"o pagamento da(s) sua(s) presta‡”es vencidas conforme rela‡„o  abaixo"+"\n"
Print File ARQIMP Spaces(05)+"e aviso emitido anteriormente, solicitamos que sejam tomadas as devi-"+"\n"
Print File ARQIMP Spaces(05)+"das providˆncias para quita‡„o desse(s) d‚bito(s)."+"\n\n"

Print File ARQIMP Spaces(05)+"   Contamos com sua colabora‡„o para entrar em contato com nosso  se-"+"\n"
Print File ARQIMP Spaces(05)+"tor de cobran‡a."+"\n\n"

Print File ARQIMP Spaces(05)+"   Tendo em  vista  que  a  emissÆo  deste  aviso ‚  autom tica,  por "+"\n"
Print File ARQIMP Spaces(05)+"computador, caso j  tenha sido 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 Principal                                                            *
;*******************************************************************************
Seta_FilePrint("CB_0000")

AGUARDE("Imprimindo Carta de Cobran‡a")

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

CODEMPANT="***"
CODCLIANT="***"
CoEdit "Answer"
Scan

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

          Moveto [Codigo da Empresa]
          If Busca_Lookup("Codigo da Empresa",[Codigo da Empresa],"SM")
             Then EMP_NOMF=REG_BUSCA_LOOKUP["Nome Fantasia Empresa"]
                  EMP_RAZ =REG_BUSCA_LOOKUP["Razao Social Empresa" ]
                  EMP_END =REG_BUSCA_LOOKUP["Endereco Empresa"     ]
                  EMP_BAIR=REG_BUSCA_LOOKUP["Bairro Empresa"       ]
                  EMP_CID =REG_BUSCA_LOOKUP["Cidade Empresa"       ]
                  EMP_UF  =REG_BUSCA_LOOKUP["UF Empresa"           ]
                  EMP_CEP =REG_BUSCA_LOOKUP["CEP Empresa"          ]
                  EMP_FONE=REG_BUSCA_LOOKUP["Telefone Empresa"     ]
          EndIf
  EndIf

  If [Codigo do Destinatario]<>CODCLIANT
     Then
          If CODCLIANT<>"***"
             Then IMPTIT_CARTA()
                  IMPROD_CARTA("Total")
          EndIf

          CODCLIANT=[Codigo do Destinatario]
          NFOLHA   =0
          TOTVR    =0
					Zera_Array()
          Moveto [Codigo do Destinatario]
          If Busca_Lookup("Codigo",[Codigo do Destinatario],"SM")
             Then CLI_RAZ =REG_BUSCA_LOOKUP["Razao Social"]
                  CLI_END =REG_BUSCA_LOOKUP["Endereco"]
                  CLI_BAIR=REG_BUSCA_LOOKUP["Bairro"]
                  CLI_CID =REG_BUSCA_LOOKUP["Cidade"]
                  CLI_UF  =REG_BUSCA_LOOKUP["UF"]
                  CLI_CEP =REG_BUSCA_LOOKUP["CEP"]
                  CLI_FONE=REG_BUSCA_LOOKUP["Telefone"]
             Else CLI_RAZ ="????"
                  CLI_END =""
                  CLI_BAIR=""
                  CLI_CID =""
                  CLI_UF  =""
                  CLI_CEP =""
                  CLI_FONE=""
          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
IMPTIT_CARTA()
IMPROD_CARTA("Total")
Do_It!
ClearAll

ImpriArq(ARQIMP)

LIMPAGUARDE()
Release Vars NL,NTIT,TOTVR
Release Procs IMPCAB_Carta,IMPTit_Carta, ImpRod_Carta
