;** RO_0173 ********************************************************************
;** Imprime a Digitacao do Romaneio                        ** Ponto Con **    *
;*******************************************************************************
;Autor: Visao/Vise
;Desenvolvido  em: 15/01/2000 por Geraldo Denilson Barroso
;Alterado em     : 14/01/2004 por Karen Lauar Nery
;Motivo Alteracao: Inclusao Data Emissao
;Alterado em     : 16/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: 30/07/2009 por Cleber Alves
;Motivo Alteracao: Observa‡Æo 
;Ultima Alteracao: 21/06/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustado conforme solicita‡Æo do cliente (MySuite: Solicita‡Æo 894) 
;Ultima Alteracao: 06/01/2014 por Luis Gustavo
;Motivo Alteracao: Implementado para imprimir duas vias na mesma folha 
;Ultima Alteracao: 09/01/2014 por Luis Gustavo
;Motivo Alteracao: Ajustes ao imprimir duas vias na mesma folha  
;Ultima Alteracao: 19/01/2014 por Luis Gustavo
;Motivo Alteracao: A pedido do Cliente, foi retirada as 2 ultimas implementa‡oes, agora vai ser impreso 3 vias, uma em cada folha  
;Ultima Alteracao: 16/02/2008 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes impressao mais usuario, segunda via

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

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

Moveto "FaturaC"
Moveto [Codigo]
Ativa_Lookup()
Moveto [Codigo]
Locate [FaturaC->Codigo]
If RetVal
   Then ROTA="  "+[Codigo da Area]+" "+[Descricao da Area]
   Else ROTA="???"
EndIf
KeyPress "ESC"

Moveto "FaturaC"
Print File ARQIMP "\n"
Print File ARQIMP Spaces(45)+"Impressao: "+Format("D10",Today())+"-"+Time()+" / "+[Codigo_Usuario]+ "\n\n"

Print File ARQIMP CI_IEXP+CI_INEG
Print File ARQIMP Spaces(14)+"Orcamento N§ "+Format("W06.3,AL",NOTAFISC)
If IsAssigned(SOIMPRIMIR) And SOIMPRIMIR
   Then Print File ARQIMP " 2a Via"+CI_FEXP+"\n\n"
   Else Print File ARQIMP CI_FEXP+"\n\n"
EndIf
                  
Print File ARQIMP "   Rota : "+Format("W40,AL",ROTA)+"\n"
Print File ARQIMP "Cliente : "+Format("W05,AL",[Codigo])+Format("W42,AL",[Razao Social])+CI_FNEG
Print File ARQIMP "Emissao: "+Format("D10",[Data de Emissao])+"\n"

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])+"\n"
Print File ARQIMP CI_15CPP

;********************* IMPRESSAO DOS ITENS ********************************
Print File ARQIMP "----------------------------------------------------------------------------------------------------------------------------------------"+"\n"
Print File ARQIMP Spaces(02)+"Item                                                                          Un.Emb  Quant.Emb  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]

  Moveto [Codigo do Item]
  Ativa_Lookup()
  Moveto [Codigo do Item]
  Locate [FaturaI->Codigo do Item]
  If RetVal
     Then UNEMB=[Unidade Embalagem]
          If IsBlank([Fator Conversao Embalagem])
             Then FATCON=1
             Else FATCON=[Fator Conversao Embalagem]
          EndIf
     Else UNEMB=""
  EndIf
  KeyPress "ESC"
  UnlockRecord

  Print File ARQIMP Spaces(02)+Format("W04,AL",[Item da OF])
  Print File ARQIMP Spaces(01)+Format("W11,AL",[Codigo do Item])
  Print File ARQIMP Spaces(01)+Format("W60,AL",[Descricao do Item])
  If Not IsBlank(UNEMB)
     Then Print File ARQIMP Spaces(05)+Format("W03,Al",UNEMB)
          Print File ARQIMP Format("W10.2,EIC",([Quantidade]/FATCON))
  EndIf
  Print File ARQIMP Spaces(02)+Format("W03,Al",[Unidade Fiscal])
  Print File ARQIMP Format("W11.2,EIC",[Quantidade])
  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 "\027E"
If [FaturaC->Observacao na Nota Fiscal]<>""
   Then Print File ARQIMP "Observacao: "+Format("W120,AL",[FaturaC->Observacao na Nota Fiscal])+"\n"
   Else Print File ARQIMP "\n"
EndIf
   
Print File ARQIMP "\027F"
Print File ARQIMP Fill("-",136)+"\n"

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

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

Print File ARQIMP "Transp.: "+ Format("W04,AL",[Codigo da Transportadora])+ " " +Format("W20,AL",[Nome Fantasia Transport])+Spaces(69)
Print File ARQIMP "Desconto"+Format("W06.2,EIC",[Taxa de Desconto]) + "%..."
Print File ARQIMP Format("W14.2,EIC",[Valor Desconto])+"\n"

;Print File ARQIMP Spaces(51)+"ATENCAO===>APOS O VENCIMENTO"+Spaces(24)+"Total................"+Format("W11.2,EIC",TOT)+"\n"

;Print File ARQIMP "Transportadora: "+ Format("W04,AL",[Codigo da Transportadora])+ " " +Format("W20,AL",[Nome Fantasia Transport])
;Print File ARQIMP Spaces(10)+"SERA COBRADO JUROS DE 5% AO MES." +Spaces(20)+"Desconto"+Format("W06.2,EIC",[Taxa de Desconto]) + "%..."
;Print File ARQIMP Format("W12.2,EIC",[Valor Desconto])+"\n"

If [Frete Incluso na Nota]="+"
   Then Print File ARQIMP Spaces(103)+"Valor Frete.........."+Format("W11.2,EIC",[Valor do Frete])+"\n"
EndIf

Print File ARQIMP Spaces(103)+"Valor Total.........."+Format("W11.2,EIC",[Valor Nota Fiscal])+"\n"

Print File ARQIMP "Cond. Pagto: "+[Descricao CondPagto]
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 "Venc.: "
;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 "\n"

;************************* IMPRESSAO DO RODAPE *********************************
Print File ARQIMP "\027F"
Print File ARQIMP Spaces(47)+"   /   /     -                                   " + "\n"
Print File ARQIMP Spaces(47)+"-------------------------------------------------" + "\n"
Print File ARQIMP Spaces(47)+"              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(7)
EndIf
For I From 1 to K
  Print File ARQIMP DATA[I]+Spaces(02)
EndFor
Print File ARQIMP "\n"
Print File ARQIMP Spaces(7)
For I From 1 to K
  Print File ARQIMP VALOR[I]+Spaces(02)
EndFor
Print File ARQIMP "\n\n"

KV=KV+1
EndProc

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

wc0173=3
If IsAssigned(SOIMPRIMIR) And SOIMPRIMIR
   then wc0173=1
endif

ArqImp=PrivDir()+"Ro_0173.Txt"
If IsFile(ArqImp)
   Then Deleta_Arquivo(ARQIMP)
EndIf

AGUARDE("Imprimindo Romaneio -> "+NOTAFISC)

For j From 1 To wc0173
IMPFAT()
EndFor

;---- Imprime Arquivo Impressao ------------------------------------------------
ImpriArq(ARQIMP)
Print File ARQIMP CI_10CPP
Print File ARQIMP CI_6LPP

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


