;** RO_0117 ********************************************************************
;** Imprime a Digitacao do Romaneio                        ** C. AZEVEDO **    *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 15/01/2000 por Geraldo Denilson Barroso
;Alterado em     : 31/01/2006 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes
;Alterado em     : 20/06/2006 por Antonio Marcelo Alves
;Motivo Alteracao: Inclusao ImpriArq()
;Ultima Alteracao: 14/08/2007 por Antonio Marcelo Alves
;Motivo Alteracao: Ajustes Deleta_Arquivo

;*******************************************************************************
;* Rotina para Impressao do Romaneio                                           *
;*******************************************************************************
Proc IMPFAT()

;************************** IMPRESSAO DO CABECALHO *****************************
If Not IsAssigned(NOMEMPRESA) Then NOMEMPRESA="" EndIf
If Not IsAssigned(SYS_CHAPA_USUARIO) Then SYS_CHAPA_USUARIO="9999" EndIf
Moveto "Faturac"
Print File ARQIMP chr(27)+chr(67)+chr(33) ;Imprime 33 Linhas por pagina
Print File ARQIMP CI_10CPP
Print File ARQIMP CI_6LPP

Print File ARQIMP Format("W43,AL","CONTROLE INTERNO")+"Impressao: "+Format("D10",Today())+"-"+Time()+" / "+SYS_CHAPA_USUARIO+ "\n\n"

Print File ARQIMP "\014"
Print File ARQIMP "\027E"
Print File ARQIMP Spaces(20)+"Romaneio  N§ "+Format("W06.3,AL",NOTAFISC)+"\n\n"
Print File ARQIMP "\020"

Print File ARQIMP "Cliente : "+Format("W05,AL",[Codigo])+[Razao Social]+"  ["+[Nome Fantasia EmitDest]+"]\n"
Print File ARQIMP "\027F"

Print File ARQIMP CI_8LPP
Print File ARQIMP "\027P"         ;Imprime 10 Caracteres por polegada

Print File ARQIMP Spaces(10)+Format("W40,AL",[Endereco])
Print File ARQIMP Format("W18,AL",[CGC])+"\n"

Print File ARQIMP Spaces(10)+Format("W20,AL",[Bairro])
Print File ARQIMP Format("W20,AL",[CEP])
Print File ARQIMP Format("W25,AL",[IE])+"\n"

Print File ARQIMP Spaces(10)+Format("W20,AL",[Cidade])
Print File ARQIMP Format("W20,AL",[UF])
Print File ARQIMP Format("W25,AL",[Telefone])+"\n"

Print File ARQIMP "Operacao: "
Print File ARQIMP Chr(27)+Chr(71)
Print File ARQIMP ""+[Codigo da Destinacao]+" "+[Descricao da Destinacao]+"\n"
Print File ARQIMP Chr(27)+Chr(72)

Print File ARQIMP "Vendedor: "+Format("W05,AL",[Codigo do Representante])
Print File ARQIMP Format("W25,AL",[Nome Fantasia Represent])
Print File ARQIMP "Pedido: "+[Numero do Pedido]+Spaces(05)
Print File ARQIMP "Carreg: "+[Numero_Carregamento]+"\n"
Print File ARQIMP "\015"         ;Imprime 17 Caracteres por polegada

;********************* IMPRESSAO DOS ITENS ********************************
Print File ARQIMP "----------------------------------------------------------------------------------------------------------------------"+"\n"
Print File ARQIMP Spaces(02)+"Item                                                                           Un  Quantidade  Unitario        Total"+"\n"
Print File ARQIMP "----------------------------------------------------------------------------------------------------------------------"+"\n"
Moveto "FaturaI"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
QUANT    = 0
TOT      = 0
CONTADOR = 0

While [Numero da OF]=[FaturaC->Numero da OF]
  Print File ARQIMP Spaces(02)+Format("W03,AR",StrVal([Item da OF]))
  Print File ARQIMP Spaces(01)+Format("W11,AL",[Codigo do Item])
  Print File ARQIMP Spaces(01)+Format("W62,AL",[Descricao do Item])
  Print File ARQIMP Spaces(01)+Format("W03,Al",[Unidade Fiscal])
  If [Quantidade]-Int([Quantidade])>0
     Then Print File ARQIMP Format("W11.2,EIC",[Quantidade])
     Else Print File ARQIMP Format("W09,EIC",[Quantidade])+Spaces(2)
  EndIf
  Print File ARQIMP Format("W10.2,EIC",[Preco Unitario])
  Print File ARQIMP Format("W13.2,EIC",[Preco Total])+"\n"
  TOT   = TOT + [Preco Total]
  Skip
  If EOT() Then QuitLoop EndIf
  CONTADOR = CONTADOR + 1
EndWhile

For ITEM From CONTADOR To 10
    Print File ARQIMP "\n"
EndFor
Print File ARQIMP "---------------------------------------------------------------------------------------------------------------------"+"\n"

;********************* IMPRESSAO DOS TOTAIS **************************
Moveto "FaturaC"

Print File ARQIMP Spaces(88)+"Total.............."+Format("W11.2,EIC",TOT)+"\n"

Print File ARQIMP "          *** FAVOR MANTER O ENDERECO E O TELEFONE ATUALIZADOS ***"
Print File ARQIMP Spaces(23)+"Desconto"+Format("W06.2,EIC",[Taxa de Desconto]) + "%..."
Print File ARQIMP Format("W12.2,EIC",[Valor Desconto])+"\n"

Print File ARQIMP Spaces(88)+"Total Liquido......"+Format("W11.2,EIC",[Valor Mercadoria Liquido])+"\n\n"

Print File ARQIMP "\018"
Print File ARQIMP "Cond. Pagto: "+[Descricao CondPagto]
Print File ARQIMP "   FP: "+[Forma de Pagamento]
Print File ARQIMP "   NP: "+StrVal([Numero de Parcelas])
Print File ARQIMP "   CD: "+[Composicao de Dias]+"\n"

;********************* IMPRESSAO DOS VENCIMENTOS **************************
Print File ARQIMP "\027E"
Print File ARQIMP "Vencimentos: "

Array DATA[9]
Array VALOR[9]
K=0
KV=0
Moveto "FaturaV"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
While [Numero da OF]=[FaturaC->Numero da OF]
  K=K+1
  DATA[K]  = Format("D13",[Data])
  VALOR[K] = Format("W10.2,AR,EIC",[Valor])
  If K=9
     Then VENC()
          K=0
  EndIf
  Skip
  If EOT() Then QuitLoop EndIf
EndWhile
If K>0
   Then VENC()
EndIf
Print File ARQIMP "\027F"

Moveto "FaturaC"
Print File ARQIMP "Observacoes: "
Print File ARQIMP "\27E"
Print File ARQIMP Format("W100,AL",SubStr([Observacao na Nota Fiscal],001,100))+"\n"
Print File ARQIMP Format("W100,AL",SubStr([Observacao na Nota Fiscal],101,100))
Print File ARQIMP "\27F"
Print File ARQIMP "\n"

;************************* IMPRESSAO DO RODAPE *********************************
Print File ARQIMP Spaces(12)+"   /   /     -                                   " + "\n"
Print File ARQIMP Spaces(12)+"-------------------------------------------------" + "\n"
Print File ARQIMP Spaces(12)+"              Data e Assinatura"+"\n"
Print File ARQIMP CI_6LPP
Print File ARQIMP CI_10CPP
Print File ARQIMP "\f"
EndProc

;*******************************************************************************
;* Rotina de Impressao dos Vencimentos                                         *
;*******************************************************************************
Proc VENC()
If KV>0
   Then Print File ARQIMP Spaces(13)
EndIf
For I From 1 to K
  Print File ARQIMP DATA[I]+Spaces(02)
EndFor
Print File ARQIMP "\n"
Print File ARQIMP Spaces(13)
For I From 1 to K
  Print File ARQIMP VALOR[I]+Spaces(02)
EndFor
Print File ARQIMP "\n\n"

KV=KV+1
EndProc

;*******************************************************************************
;* 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_10CPP
 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_10CPP
 Print File ARQIMP CI_6LPP+"\f"

 Skip
 If EOT() Then QuitLoop EndIf

EndWhile
Moveto "FaturaC"
EndProc

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

AGUARDE("Imprimindo Romaneio -> "+NOTAFISC)
IMPFAT()

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

Release Vars VALOR,DATA
Release Procs IMPFAT,VENC
LIMPAGUARDE()


