;** ENT_0334 *******************************************************************
;** Via de entrega                                         ** CASA FONSECA **  *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 10/02/2015 por Kamila Gomes
;Alterado em     : 03/06/2015 por Kamila Gomes            
;Motivo Alteracao: Ajustes ao verificar se itens foram entregues
;Alterado em     : 01/07/2015 por Kamila Gomes            
;Motivo Alteracao: Ajustes tamanho fonte dos itens
;Alterado em     : 22/07/2015 por Andrey Fillipe            
;Motivo Alteracao: Ajustes tamanho da fonte da observacao

;*******************************************************************************
;* Checa linha na area de impressao dos itens                                  *
;*******************************************************************************
Proc Checa_Linha(Nl)
private nl,tabela
tabela=table()

If (CONTADOR+nl)>40
   Then Print File ARQIMP "\n"
        Print File ARQIMP Format("W117,AC","   * * * *  CONTINUA NO PROXIMO FORMULARIO * * * *    ")+"\f"

        Cabecalho()     
        Moveto tabela
   Else CONTADOR=CONTADOR+nl
EndIf
EndProc ;Checa_Linha()

;*******************************************************************************
;* Rotina para Impressao do cabecalho                                          *
;*******************************************************************************
Proc Cabecalho()
If Not IsAssigned(NOMEMPRESA)
   Then NOMEMPRESA=""
EndIf

Moveto "Faturac"
Print File ARQIMP CI_10CPP+CI_8LPP
Print File ARQIMP chr(27)+chr(67)+chr(44) ;Imprime 44 Linhas por pagina

Print File ARQIMP CI_IEXP+CI_INEG+"VIA DE ENTREGA"+CI_FEXP+CI_FNEG+Spaces(22)+"Impressao: "+Format("D10",Today())+"-"+Time()+ "\n\n"

Print File ARQIMP CI_IEXP+CI_INEG+Spaces(20)+"Orcamento N§ "+Format("W06.3,AL",NOTAFISC)+CI_FEXP+CI_FNEG+"\n\n"

Print File ARQIMP "Cliente : "+CI_INEG+Format("W05,AL",[Codigo])+Format("W46,AL",[Razao Social])+CI_FNEG+"\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 "Vendedor: "+        Format("W05,AL",[Codigo do Representante])+Format("W41,AL",[Nome Fantasia Represent])
Print File ARQIMP "Dt Emissao: "+Format("D13",[Data de Emissao])+"\n"
Print File ARQIMP "Operacao: "+CI_INEG+" "+Format("W04,AL",[Codigo da Destinacao   ])+Format("W41,AL",[Descricao da Destinacao])+CI_FNEG
Print File ARQIMP "Dt Saida  : "+Format("D13",[Data de Saida  ])+"\n"

Print File ARQIMP CI_15CPP
Print File ARQIMP "----------------------------------------------------------------------------------------------------------------------------------"+"\n"
Print File ARQIMP "Item                                                                                                        Pedido Un  Quantidade "+"\n"
Print File ARQIMP "----------------------------------------------------------------------------------------------------------------------------------"+"\n"

CONTADOR=13
EndProc ;(Cabecalho)

;*******************************************************************************
;* Rotina para Impressao dos itens                                             *
;*******************************************************************************            
Proc Itens()
QTOTAL = 0

Moveto "FaturaI"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
While [Numero da OF]=[FaturaC->Numero da OF]
  Checa_Linha(1)
  
  Moveto [Codigo do Item]
  If Busca_Lookup("Codigo do Item",[FaturaI->Codigo do Item],"SM")
     Then DescrItem=Reg_Busca_Lookup["Descricao Complementar"]
     Else DescrItem=[Descricao do Item]
  EndIf
  UnLockRecord
  If [Entrega] = "N"
     Then Print File ARQIMP Spaces(01)+Format("W04,AL",[Item da OF])
          Print File ARQIMP Spaces(01)+Format("W11,AL",[Codigo do Item])
          Print File ARQIMP Spaces(01)+Format("W88,AL",DescrItem)
          Print File ARQIMP Spaces(01)+Format("W07,AL",[Numero Pedido_Orcamento])
          Print File ARQIMP Spaces(01)+Format("W03,Al",[Unidade Fiscal])

          If [Quantidade]-Int([Quantidade])>0
             Then Print File ARQIMP Format("W011.3,EIC",[Quantidade])+"\n"
             Else Print File ARQIMP Format("W011,EIC",[Quantidade])+"\n"
          EndIf
          QTOTAL = QTOTAL + [Quantidade]
  EndIf

  Skip
  If EOT() Then QuitLoop EndIf
EndWhile

Print File ARQIMP Spaces(118)+"-----------"+"\n"
If QTOTAL-Int(QTOTAL)>0
     Then Print File ARQIMP Spaces(118)+Format("W011.3,EIC",QTOTAL)+"\n"
     Else Print File ARQIMP Spaces(118)+Format("W011,EIC",QTOTAL)+"\n"
  EndIf


Release Vars DescrItem

While CONTADOR < 28
  Checa_Linha(1)
  Print File ARQIMP "\n"
EndWhile

EndProc ;(Itens)

;*******************************************************************************
;* Rotina para Impressao do rodape                                             *
;*******************************************************************************            
Proc Rodape()
Checa_Linha(11)

Moveto "FaturaC"
Print File ARQIMP "----------------------------------------------------------------------------------------------------------------------------------"+"\n"

Print File ARQIMP CI_INEG
Print File ARQIMP CI_10CPP
Print File ARQIMP "OBS.: "
Print File ARQIMP Format("W77,AL",SubStr([Observacao na Nota Fiscal],001,73))+"\n"
If Not IsBlank(SubStr([Observacao na Nota Fiscal],074,73))
   Then Print File ARQIMP Format("W77,AL",SubStr([Observacao na Nota Fiscal],074,73))+"\n\n\n"
   Else Print File ARQIMP "\n\n\n"
EndIf
Print File ARQIMP CI_15CPP
Print File ARQIMP CI_FNEG
Print File ARQIMP Spaces(01)+"RECEBI AS MERCADORIAS ACIMA "
Print File ARQIMP Spaces(01)+"     /   /     -                                "+"\n"
Print File ARQIMP Spaces(31)+"------------------------------------------------"+"\n"
Print File ARQIMP Spaces(31)+"                Data e Assinatura               "+"\f"
EndProc ;(Rodape)                   

;*******************************************************************************
;* Rotina p/ Checar as Entregas                                                *
;*****************+*************************************************************
Proc Entrega()

Moveto "FaturaI"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
While ([Numero da OF]=[FaturaC->Numero da OF])
  If [Entrega]="N"
     Then Moveto [Codigo do Item]
          If Busca_Lookup("Codigo do Item",[Codigo do Item],"")
             Then  ENT_BALCAOS =True
                   UnLockRecord
                   QuitLoop
          EndIf
          UnLockRecord
  EndIf
  Skip
  If EOT() Then QuitLoop EndIf
EndWhile

EndProc ; (Entrega)


;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
ArqImp=PrivDir()+"ENT_0334.Txt"
ENT_BALCAOS = False
ENTREGA = "S"

Entrega()
    
If ENT_BALCAOS 
   Then ;ENTREGA = "N"
        MSGDISPOSITIVO="Comprovante de Entrega/Balcao"
        DispositivoI("CPE")
        If OK<>""
           Then AGUARDE("Imprimindo Ordem de Entrega BALCAO -> "+NOTAFISC)
                If IsFile(ArqImp)
                   Then Deleta_Arquivo(ARQIMP)
                EndIf 
                Cabecalho()
                Itens()
                Rodape()
                 
                ImpriArq(ARQIMP)  
        EndIF
EndIf

Release Vars VALOR, DATA, CONTADOR, DescrItem, K, KV, ArqImp
Release Procs Checa_Linha, Cabecalho, Itens, Rodape, VENC

LIMPAGUARDE()
