;** Ec_0147 **********************************************************************
;*  Emissao de Boletas - Bradesco /Pelo Romaneio utilizando parƒmetro carnˆ    *
;********************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 18/08/2008 por Nikolas
;Ultima Alteracao: 16/12/2008 por Nikolas
;Motivo Alteracao: Alteracao impressao numero do documento vencimentos
;Ultima Alteracao: 15/01/2009 por Nikolas
;Motivo Alteracao: inclusao do codigo do cliente
;Ultima Alteracao: 16/06/2016 por Bruno Carvalho 
;Motivo Alteracao: Adicionado Pega_Endereco() e ajustado dados do endere‡o de cobranca
;Ultima Alteracao: 13/09/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes modo ordem da duplicata numero/letra

;*******************************************************************************
;* Rotina de Impressao de Duplicatas                                           *
;*******************************************************************************
Proc Imprime_Boleto()
Print File ARQIMP CI_8LPP

Print File ARQIMP "\n\n"

Print File ARQIMP Spaces(02)+Spaces(52)+Format("D10",[Data])+"\n"
Print File ARQIMP "\n\n\n"

Print File ARQIMP Spaces(00)+Format("W08,AL",Format("D10",[Faturac->Data de Emissao]))

If DP_ORDEM<>""
   Then Print File ARQIMP Spaces(02)+Format("W08,AL",NOTAFISC+"/"+DP_ORDEM)
   Else Print File ARQIMP Spaces(02)+Format("W08,AL",NOTAFISC+"  ")
EndIf

Print File ARQIMP Spaces(05)+"DM"+Spaces(05)+"NAO"+Spaces(02)+Format("D10",[Faturac->Data de Emissao])+"\n"

Print File ARQIMP "\n"

Print File ARQIMP Spaces(50)+Format("W12.2,EIC,AR",[Valor])+"\n\n"

Print File ARQIMP Spaces(30)+Format("W12.2,EIC,AR",VJUROSDIA)+"\n\n"

Print File ARQIMP "\n\n"

Print File ARQIMP Spaces(00)+"VALOR EXPRESSO EM R$"+"\n"
Print File ARQIMP Spaces(00)+"PROTESTAR APOS 5 DIAS DE VENCIMENTO"+"\n"
Print File ARQIMP Spaces(00)+"APOS VENCIMENTO MORA DIA"+"\n"

Print File ARQIMP "\n\n\n"

Print File ARQIMP Spaces(00)+[Faturac->Codigo]+" "
Print File ARQIMP Spaces(00)+[Faturac->Razao Social]+"    - CGC "+[Faturac->CGC]+"\n"

If IsBlank(VSD_C_Endereco) Or VSD_C_Endereco="O MESMO"
   Then Print File ARQIMP Spaces(00)+[Faturac->Endereco]+" -   " + [Faturac->Bairro]+"\n"
        Print File ARQIMP Spaces(00)+[Faturac->Cidade]+"/"+[Faturac->UF]+" -   "+[Faturac->CEP]+"\n"
   Else Print File ARQIMP Spaces(00)+VSD_C_Endereco+" -   " + VSD_C_Bairro+"\n"
        Print File ARQIMP Spaces(00)+VSD_C_Cidade+"/"+VSD_C_UF+" -   "+VSD_C_CEP+"\n"
EndIf
Print File ARQIMP "\n\n\n\n\n\n\n\n\n"

Print File ARQIMP CI_10CPP
Print File ARQIMP CI_6LPP
Endproc

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc Pega_Endereco(PARAM)
Private PARAM

VSD_E_Endereco=""
VSD_E_Bairro  =""
VSD_E_CEP     =""
VSD_E_Cidade  =""
VSD_E_UF      =""

VSD_C_Endereco=""
VSD_C_Bairro  =""
VSD_C_CEP     =""
VSD_C_Cidade  =""
VSD_C_UF      =""    

GetRecord "\\Sistemas\\Vendas\\FaturaCC" PARAM To REG_ENTCOB
If RetVal
   Then VSD_E_Endereco=REG_ENTCOB["Endereco de Entrega"]
        VSD_E_Bairro  =REG_ENTCOB["Bairro de Entrega"]
        VSD_E_CEP     =REG_ENTCOB["CEP de Entrega"]
        VSD_E_Cidade  =REG_ENTCOB["Cidade de Entrega"]
        VSD_E_UF      =REG_ENTCOB["UF de Entrega"]

        VSD_C_Endereco=REG_ENTCOB["Endereco de Cobranca"]
        VSD_C_Bairro  =REG_ENTCOB["Bairro de Cobranca"]
        VSD_C_CEP     =REG_ENTCOB["CEP de Cobranca"]
        VSD_C_Cidade  =REG_ENTCOB["Cidade de Cobranca"]
        VSD_C_UF      =REG_ENTCOB["UF de Cobranca"] 
EndIf   
 
EndProc ;Pega_Endereco() 

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
ArqImp=PrivDir()+"BOLETO.TXT"
If IsFile(ArqImp)
   Then Deleta_Arquivo(ARQIMP)
EndIf

Pega_Endereco([FaturaC->Numero da Of])

getsys_modo_ordemdup()

CONTPARC =0
CONTPARC2=0
For wcp From 1 To 2
  Moveto "FaturaV"
  Moveto [Numero da OF]
  Locate [FaturaC->Numero da Of]
  If RetVal
     Then While [Numero da OF]=[FaturaC->Numero da Of]
            Switch
              Case wcp=1:
                CONTPARC=CONTPARC+1
              OtherWise :
                CONTPARC2=CONTPARC2+1
                
                switch
                  case sys_modo_ordemdup="N":
                    DP_ORDEM=strval(CONTPARC2)
                  
                  otherwise                 :
                    If DP_NPARC=1
                       Then DP_ORDEM=""
                       Else DP_ORDEM=CHR(65+(CONTPARC2-1))
                    EndIf
                
                endswitch
                
                VRBJ     =0
                VJUROSDIA=BlankNum()
                If Not IsBlank(PARAM_TXJUROS)
                   Then VRBJ=([Valor]*PARAM_TXJUROS)/100
                        Switch
                          Case PARAM_FORMA_TXJUROS="A": VJUROSDIA=Round((VRBJ/365),2)
                          Case PARAM_FORMA_TXJUROS="M": VJUROSDIA=Round((VRBJ/30),2)
                          Case PARAM_FORMA_TXJUROS="D": VJUROSDIA=Round((VRBJ),2)
                        EndSwitch
                EndIf
                Imprime_Boleto()
            EndSwitch
            Skip
            If EOT() Then QuitLoop EndIf
          EndWhile
          If wcp>1 Then QuitLoop EndIf
     Else QuitLoop
  EndIf
EndFor
If CONTPARC=0
   Then Mensagem("Documento sem desdobramento de vencimento !// Boleta n„o ser  impressa !")
   Else AGUARDE("Imprimindo Boletos -> "+NOTAFISC)
        ImpriArq(ARQIMP)
EndIf
Release Vars CONTPARC, WCP, DP_ORDEM, ARQIMP, VRBJ, VJUROSDIA
Release Procs Imprime_Boleto
