;** RO_0188 ********************************************************************
;** Imprime a Digitacao do Romaneio                  ** ETICA SUPERMERADO **   *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 17/11/2004 por Anivel Augusto Rodrigues
;Alterado em     : 03/08/2005 por Nikolas M. Mateus
;Motivo Alteracao:
;Alterado em     : 19/06/2006 por Antonio Marcelo Alves
;Motivo Alteracao: Inclusao ImpriArq()
;Ultima Alteracao: 14/08/2007 por Antonio Marcelo Alves
;Motivo Alteracao: Ajustes Deleta_Arquivo
;Ultima Alteracao: 16/10/2007 por Nikolas
;Motivo Alteracao: Criado baseado no do sup. crioulo
;Ultima Alteracao: 15/06/2016 por Bruno Carvalho 
;Motivo Alteracao: Adicionado Pega_Endereco_Fatura() e ajustado dados do endere‡o
;Ultima Alteracao: 26/06/2018 por Anivel Augusto Rodrigues                           
;Motivo Alteracao: Ajustes itens mercadoria/servico

;*******************************************************************************
;* Rotina para Impressao do Relatorio                                          *
;*******************************************************************************
Proc IMPRO()

;************************* IMPRESSAO DO CABECALHO *****************************
If Not IsAssigned(NOMEMPRESA)
   Then NOMEMPRESA=""
EndIf

Moveto "FaturaC"
Pega_Endereco_Fatura([Numero da OF])

Print File ARQIMP CI_8LPP
Print File ARQIMP CI_FEXP
Print File ARQIMP CI_FNEG
Print File ARQIMP CI_15CPP
Print File ARQIMP Fill("=",79)+"\n"
Print File ARQIMP CI_10CPP
Print File ARQIMP CI_IEXP
Print File ARQIMP CI_INEG

Switch
  Case Search("DEV",[Descricao da Destinacao])>0            : Print File ARQIMP "DEVOLU€ŽO"
  Case Search("SIMPLES REMESSA",[Descricao da Destinacao])>0: Print File ARQIMP "SIMPLES REMESSA"
  Case [Codigo da Destinacao]="005"                         : Print File ARQIMP Format("W30,AL",[Descricao da Destinacao])
  Case Search("VEND",[Descricao da Destinacao])>0           : Print File ARQIMP "OR€AMENTO"
  OtherWise                                                 : Print File ARQIMP Format("W30,AL",[Descricao da Destinacao])
EndSwitch
Print File ARQIMP CI_15CPP

Print File ARQIMP CI_FEXP
Print File ARQIMP CI_FNEG
Print File ARQIMP Spaces(10)+Username()
Print File ARQIMP "\n"

Print File ARQIMP Spaces(01)+"EMISSAO: "+Format("D13",Today())+"-"+Time()+"  "+
                  "VEND: "+Format("W21,AL",[Nome Fantasia Represent])+
                  "    NUMERO:  "+Format("W06.3,AL",NOTAFISC)+"\n"

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

Print File ARQIMP Spaces(02)+"CLIENTE.: "
Print File ARQIMP Format("W05,AL",[Codigo])
Print File ARQIMP Format("W40,AL",[Razao Social])+"\n"

Print File ARQIMP Spaces(02)+"AUTORIZ.: "+Format("W42,AL",[Nome do Autorizado])+Format("W20,AL",[CPF do Autorizado])+"\n"
CLIENTE=[Razao Social]
Print File ARQIMP Spaces(02)+"ENDERE€O: "+ Format("W40,AL",[Endereco])+"\n"
Print File ARQIMP Spaces(02)+"BAIRRO..: "+ Format("W20,AL",[Bairro])+
"FONE: " + Format("W20,AL",[Telefone])+"\n"
Print File ARQIMP Spaces(02)+"CIDADE..: "+Format("W20,AL",[Cidade])+Spaces(30)
Print File ARQIMP "PEDIDO:  "+[Numero do Pedido]+"\n\n"

If IsBlank(VSD_E_Endereco) Then VSD_E_Endereco=[Endereco] EndIf
If IsBlank(VSD_E_Bairro)   Then VSD_E_Bairro=[Bairro]     EndIf
If IsBlank(VSD_E_Cidade)   Then VSD_E_Cidade=[Cidade]     EndIf
If IsBlank(VSD_E_CEP)      Then VSD_E_CEP=[Cep]           EndIf

Print File ARQIMP Spaces(02)+"ENTREGA.: "+Format("W33,AL",VSD_E_Endereco)+Spaces(02)+"BAIRRO: "+Format("W20,AL",VSD_E_Bairro)+"\n"
Print File ARQIMP Spaces(02)+"CIDADE DE ENTREGA: "+Format("W20,AL",VSD_E_Cidade)+Spaces(09)+"CEP: "+Format("W10,AL",VSD_E_CEP)+"\n\n"
                  
Print File ARQIMP Spaces(02)+"OBS...:"
Moveto "FaturaC"
If SubStr([Observacao na Nota Fiscal],001,73)<>""
   Then Print File ARQIMP Format("W75,AL",SubStr([Observacao na Nota Fiscal],001,73))+"\n"
EndIf
If SubStr([Observacao na Nota Fiscal],074,73)<>""
   Then Print File ARQIMP Format("W75,AL",SubStr([Observacao na Nota Fiscal],074,73))+"\n"
EndIf
If SubStr([Observacao na Nota Fiscal],147,73)<>""
   Then Print File ARQIMP Format("W75,AL",SubStr([Observacao na Nota Fiscal],147,73))+"\n"
EndIf
If SubStr([Observacao na Nota Fiscal],220,73)<>""
   Then Print File ARQIMP Format("W75,AL",SubStr([Observacao na Nota Fiscal],220,73))+"\n"
EndIf

;********** PARCELAS/VENCIMENTOS ********************

Print File ARQIMP Fill("-",79)+"\n"
Print File ARQIMP Spaces(09)+"PARCELA"+Spaces(05)+"ND"+Spaces(05)+"VENCIMENTO"+Spaces(07)+"VALOR"+Spaces(02)+"FP"+"\n"

Moveto "FaturaV"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
If RetVal
   Then While ([Numero da OF]=[FaturaC->Numero da OF])
          Print File ARQIMP Spaces(12)+AlinhM([Sequencia],2)+Spaces(05)+Format("W4",[Numero de Dias])+
                            Spaces(05)+ Format("D13",[Data])+Spaces(01)+Format("W11.2,EIC",[Valor])+Spaces(02)+Format("W2",[Forma de Pagamento])+"\n"
          Skip
          If EOT() Then QuitLoop EndIf
        EndWhile
EndIf

;******************************** IMPRESSAO DOS ITENS ********************************
Print File ARQIMP Fill("=",80)+"\n"
Print File ARQIMP " PRODUTO                                     UF      QUANT    Vr.Unit   Vr.Total"+"\n"

Moveto "FaturaI"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
QUANT=0
TOT  =0

While [Numero da OF]=[FaturaC->Numero da OF]
   Print File ARQIMP Format("W11,AL",[Codigo do Item])
   Print File ARQIMP Format("W34,AL",[Descricao do Item])
   Print File ARQIMP Format("W03,AL",[Unidade Fiscal])
   Print File ARQIMP Format("W10.2,EIC",[Quantidade])+Spaces(01)
   Print File ARQIMP Format("W10.2,EIC",[Preco Unitario])
   Print File ARQIMP Format("W11.2,EIC",[Preco Total])+"\n"

   QUANT=QUANT+[Quantidade]
   TOT=TOT+[Preco Total]
   Skip
   If EOT() Then QuitLoop EndIf
EndWhile

Moveto "FaturaC"
Print File ARQIMP Spaces(74)+"------"+"\n"
Print File ARQIMP Spaces(69)+Format("W11.2,EIC",[Valor Mercadoria]+[Valor Servico])+"\n"
Print File ARQIMP Fill("-",79)+"\n"

Print File ARQIMP Spaces(02)+"VR.MERCADORIAS: "+Format("W11.2,EIC",[Valor Mercadoria])+
                  Spaces(05)+"VR.DESCTO: "+Format("W8.2,EIC",[Valor Desconto])+"\n"

Print File ARQIMP Spaces(02)+"VR.SERVICO....: "+Format("W11.2,EIC",[Valor Servico])+
                  Spaces(05)+"VR.DESCTO: "+Format("W8.2,EIC",[Valor Desconto Servico])+"\n"

Print File ARQIMP Spaces(02)+"VR.FRETE......: "+Format("W11.2,EIC",[Valor do Frete])+"\n\n"

Print File ARQIMP Spaces(02)+"   VR A PAGAR.: "
Print File ARQIMP CI_10CPP
Print File ARQIMP CI_IEXP
Print File ARQIMP LTrim(Format("W11.2,EIC",[Valor Nota Fiscal]))+"\n\n"
Print File ARQIMP CI_FEXP
Print File ARQIMP CI_15CPP
Print File ARQIMP Fill("-",79)+"\n\n\n"
Print File ARQIMP Spaces(17)+Fill("-",40)+"\n"
Print File ARQIMP Chr(27)+Chr(98)
Print File ARQIMP Spaces(17)+Format("W40,AC",CLIENTE)+"\n"
Print File ARQIMP Fill("-",80)+"\n"
Print File ARQIMP Spaces(17)+"NAO VALE COMO N.F PROCURE O CUPOM NO CAIXA"+"\n"
Print File ARQIMP Spaces(17)+"         AGRADECEMOS A PREFERENCIA"+"\n"
Print File ARQIMP Spaces(17)+"         ''NAO TEMOS COBRADOR''     "+"\n"
Print File ARQIMP Spaces(17)+ "     HAVERA AUMENTO APOS O VENCIMENTO "+"\n"
Print File ARQIMP Fill("-",80)+"\n"
Print File ARQIMP Fill("\n",10)
Print File ARQIMP CI_6LPP
Print File ARQIMP "\n\n\n\n\n"
EndProc ; (IMPRO)

;*******************************************************************************
;* Rotina de Impressao de Nota Promissoria                                     *
;*******************************************************************************
Proc IMPNP()

Moveto "FaturaC"
Moveto [Codigo da Empresa]
Ativa_Lookup()
Locate [FaturaC->Codigo da Empresa]
If RetVal
   Then EMPRESA=[Razao Social Empresa]
        CNPJEMP=[CGC Empresa         ]
        CIDEMP =[Cidade Empresa      ]
   Else EMPRESA=""
        CNPJEMP=""
        CIDEMP =""
EndIf
KeyPress "ESC"

Moveto "DupC"
Moveto [Codigo da Empresa]
Locate [FaturaC->Codigo da Empresa], NOTAFISC, SERIEFISC
If Not RetVal
   Then Mensagem("Duplicata nÆo encontrada, Verificar !")
        Moveto "FaturaC"
        Return
EndIf

Moveto "DupI"
Moveto [Codigo da Empresa]
Locate [DupC->Codigo da Empresa],
       [DupC->Numero do Documento],
       [DupC->Serie do Documento ]
If Not RetVal
   Then Mensagem("Desdobramento da duplicata nÆo encontrada, Verificar !")
        Moveto "FaturaC"
        Return
EndIf

While [Codigo da Empresa  ]=[DupC->Codigo da Empresa  ] And
      [Numero do Documento]=[DupC->Numero do Documento] And
      [Serie do Documento ]=[DupC->Serie do Documento ]

 Print File ARQIMP CI_15CPP
 Print File ARQIMP CI_6LPP

 Print File ARQIMP "+------------------------------------------------------------------------------+"+"\n"
 Print File ARQIMP "|                   N O T A    P R O M I S S O R I A                           |"+"\n"
 Print File ARQIMP "|                   ================================                           |"+"\n"
 Print File ARQIMP "|                    Republica Federativa do Brasil                            |"+"\n"
 Print File ARQIMP "|                                                                              |"+"\n"

 Print File ARQIMP "| Numero: "+ Format("W6,AC",[Numero do Documento])
 If [Ordem do Documento]<>""
    Then Print File ARQIMP "/"+[Ordem do Documento]+Spaces(13)
    Else Print File ARQIMP Spaces(15)
 EndIf

 Print File ARQIMP COMPLETA("Vencimento: "+StrVal(Day([Data Vencimento]))+" de "+
                            RTrim(MesExt(Month([Data Vencimento])))+" de "+
                            Strval(Year([Data Vencimento])),48," ")+"|"+"\n"
 Print File ARQIMP "|                                                                              |"+"\n"

 Print File ARQIMP "|"+Spaces(30)+"Valor.....: "+LTrim(Format("W13.2,EIC,AR",[Valor Duplicata]))+Spaces(21)
 Print File ARQIMP Fill(" ",15-Len(LTrim(Format("W13.2,EIC,AR",[Valor Duplicata]))))+"|"+"\n"
 Print File ARQIMP "|                                                                              |"+"\n"

 Print File ARQIMP "| No dia "+
                   COMPLETA(StrVal(Day([Data Vencimento]))+" de "+
                   RTrim(MesExt(Month([Data Vencimento])))+" de "+
                   Strval(Year([Data Vencimento]))+
                   ", pagarei pela presente NOTA PROMISSORIA a ",70," ")+"|"+"\n"
 Print File ARQIMP "| "+Format("W30,AL",EMPRESA)+Spaces(47)+"|"+"\n"
 Print File ARQIMP "| Inscrita no CNPJ: "+Format("W18,AL",CNPJEMP)+" ou sua ordem "
 Print File ARQIMP "a quantia de "+Spaces(14)+"|"+"\n"

 ESCEXT([Valor Duplicata])
 Print File ARQIMP "|                                                                              |"+"\n"

 Print File ARQIMP "|"+Spaces(04) + SubStr(EXTENSO,001,60) +Spaces(14)+"|" +"\n"
 Print File ARQIMP "|"+Spaces(04) + SubStr(EXTENSO,061,60) +Spaces(14)+"|" +"\n"
 Print File ARQIMP "|"+Spaces(04) + SubStr(EXTENSO,122,60) +Spaces(14)+"|" +"\n"

 Print File ARQIMP "|                                                                              |"+"\n"

 Print File ARQIMP "| Emitente: "+[DupC->Codigo]+" - "+ Format("W40,AL",[DupC->Razao Social Fatura])+Spaces(20)+"|"+"\n"
 Print File ARQIMP "| CNPJ/CPF: "+Format("W18,AL",[DupC->CGC Fatura])+Spaces(48)+" |"+"\n"
 Print File ARQIMP "| Endereco: "+Format("W38,AL",[DupC->Endereco Fatura])
 Print File ARQIMP "Bairro: "+Format("W20,AL",[DupC->Bairro Fatura])+" |"+"\n"
 Print File ARQIMP "| Cidade..: "+[DupC->Cep Fatura]+" - "+Format("W20,AL",[DupC->Cidade Fatura])+Spaces(5)
 Print File ARQIMP "    Uf: "+[DupC->UF Fatura]+Spaces(18) + " |"+"\n"
 Print File ARQIMP "|                                                                              |"+"\n"
 Print File ARQIMP "| "+COMPLETA(CIDEMP+", "+StrVal(Day([DupC->Data de Emissao]))+" de "+
                        RTrim(MesExt(Month([DupC->Data de Emissao])))+" de "+
                        Strval(Year([DupC->Data de Emissao])),47," ")
 Print File ARQIMP "___________________________"+Spaces(03)+"|"+"\n"
 Print File ARQIMP "|                                                                              |"+"\n"
 Print File ARQIMP "+------------------------------------------------------------------------------+"+"\n"

 Print File ARQIMP CI_15CPP
 Print File ARQIMP CI_6LPP+"\n\n\n\n\n\n\n\n\n\n\n\n\n"

 Skip
 If EOT() Then QuitLoop EndIf

EndWhile
Moveto "FaturaC"
EndProc

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

AGUARDE("Imprimindo Romaneio -> "+NOTAFISC)
IMPRO()
If [FaturaC->Forma de Pagamento]="NP"
   Then IMPNP()
EndIf

;---- Imprime Arquivo Impressao ------------------------------------------------
ImpriArq(ARQIMP)

Release Vars CLIENTE
Release Procs IMPRO

LIMPAGUARDE()


