;** Ent_102B *******************************************************************
;** Imprime o comprovante de Entrega - BALCAO     Concretos Vico               *
;*******************************************************************************
;Autor: Visao/Vise
;Desenvolvido  em: 02/01/2003 por Douglas Rodrigues
;Alterado em     : 31/07/2006 por Nikolas M. Mateus
;Motivo Alteracao: Inclusao da Marca
;Alterado em     : 29/06/2006 por Antonio Marcelo Alves
;Motivo Alteracao: Inclusao ImpriArq()
;Alterado em     : 21/12/2006 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajusets
;Alterado em     : 27/03/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Marca
;Ultima Alteracao: 14/08/2007 por Antonio Marcelo Alves
;Motivo Alteracao: Ajustes Deleta_Arquivo
;Ultima Alteracao: 25/01/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes para ImpressÆo
;Ultima Alteracao: 22/09/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes ImpressÆo
;Ultima Alteracao: 11/06/2012 por Bruno Carvalho
;Motivo Alteracao: Ajustes para impressÆo da destina‡Æo 016 e 017
;Ultima Alteracao: 03/06/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ a palavra DEVOLUCAO ser exibida quando for Nota de DEV.
;Ultima Alteracao: 16/09/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes para tres casas decimais na impressao do campo quantidade 

;*******************************************************************************
;* Rotina para Impressao do Relatorio                                          *
;*******************************************************************************
Proc IMPENT()
;************************* IMPRESSAO DO CABECALHO *****************************
If Not IsAssigned(NOMEMPRESA)
   Then NOMEMPRESA=""
EndIf
Moveto "FaturaC"

Switch
  Case Search("DEVOL",[Descricao da Destinacao])>0 : If TITULO<>""
                                                        Then COMPLEMENTO=" - DEVOLUCAO"
                                                        Else COMPLEMENTO="DEVOLUCAO" 
                                                     EndIf
  Case [Codigo da Destinacao]="016"                : COMPLEMENTO=" S.R."
  Case [Codigo da Destinacao]="017"                : COMPLEMENTO=" E.F."
  OtherWise                                        : COMPLEMENTO=""
EndSwitch   

Print File ARQIMP CI_10CPP
Print File ARQIMP CI_8LPP

Print File ARQIMP CI_IEXP
Print File ARQIMP CI_INEG
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
Print File ARQIMP TITULO+COMPLEMENTO+"\n"

Print File ARQIMP CI_15CPP
Print File ARQIMP CI_FEXP
Print File ARQIMP CI_FNEG

Print File ARQIMP Spaces(33)+ "NUMERO:  "+Format("W06.3,AL",NOTAFISC)+"\n"

Print File ARQIMP Spaces(01)+"EMISSAO: "+Format("D13",Today())+"-"+Time()+Spaces(05)+
"VEND: "+Format("W21,AL",[Nome Fantasia Represent])+"\n"
Print File ARQIMP Fill("-",79)+"\n"
Print File ARQIMP Spaces(08)+"EMITIDO PARA FINS DE CONTROLE DE ENTREGA E NAO TEM VALOR FISCAL"+"\n"
Print File ARQIMP Fill("-",79)+"\n"
Print File ARQIMP Spaces(02)+"CLIENTE.: "
Print File ARQIMP Format("W05,AL",[Codigo])
Print File ARQIMP Format("W35,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]

Moveto "FaturaC"                                    

If SubStr([Observacao na Nota Fiscal],001,60)<>""
   Then Print File ARQIMP Spaces(02)+"OBS.....: "
        Print File ARQIMP Format("W65,AL",SubStr([Observacao na Nota Fiscal],001,60))+"\n"
EndIf
If SubStr([Observacao na Nota Fiscal],061,60)<>""
   Then Print File ARQIMP Spaces(12)+Format("W65,AL",SubStr([Observacao na Nota Fiscal],061,60))+"\n"
EndIf
If SubStr([Observacao na Nota Fiscal],121,60)<>""
   Then Print File ARQIMP Spaces(12)+Format("W65,AL",SubStr([Observacao na Nota Fiscal],121,60))+"\n"
EndIf
If SubStr([Observacao na Nota Fiscal],181,60)<>""
   Then Print File ARQIMP Spaces(12)+Format("W65,AL",SubStr([Observacao na Nota Fiscal],181,60))+"\n"
EndIf

;******************************** IMPRESSAO DOS ITENS ********************************
Print File ARQIMP Fill("=",80)+"\n"

Print File ARQIMP Spaces(01)+Format("W11,AL","LOCALIZACAO")
Print File ARQIMP Spaces(01)+Format("W43,AL","PRODUTO")
Print File ARQIMP Format("W03,AL","UF")
Print File ARQIMP Format("W10,AR","QUANT")+"\n"
Moveto "FaturaI"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
While ([Numero da OF]=[FaturaC->Numero da OF])
   Moveto [Codigo do Item]
   If Busca_Lookup("Codigo do Item",[Codigo do Item],"")
      Then ENT_CDDEPART=Reg_Busca_Lookup["Codigo do Departamento"]
           LOCAL       =Reg_Busca_Lookup["Localizacao"]
      Else ENT_CDDEPART=""
           LOCAL       =""
   EndIf
   UnLockRecord

   If (ENT_PATIOCC=1 And [Entrega]=ENTREGA And ENT_CDDEPART="01") Or
      (ENT_PATIOCC=2 And [Entrega]=ENTREGA And ENT_CDDEPART="01")
      Then Print File ARQIMP Format("W13,AL",LOCAL)
           Print File ARQIMP Format("W11,AL",[Codigo do Item])
           Print File ARQIMP Format("W32,AL",[Descricao do Item])
           Print File ARQIMP Format("W03,AL",[Unidade Fiscal])
           Print File ARQIMP Format("W10.3,EIC",[Quantidade])+"\n"
           Print File ARQIMP Spaces(24)+Format("W30,AL",[Descricao da Marca])+"\n"
   EndIf
   Skip
   If EOT() Then QuitLoop EndIf
EndWhile

Print File ARQIMP CI_15CPP

Print File ARQIMP CI_FEXP
Print File ARQIMP CI_FNEG

Moveto "FaturaC"
Print File ARQIMP Fill("-",79)+"\n\n\n"
Print File ARQIMP "RECEBI AS MERCADORIAS ACIMA _______/_______/__________"+"\n\n\n"
Print File ARQIMP Spaces(07)+Fill("_",60)+"\n"
Print File ARQIMP Chr(27)+Chr(98)
Print File ARQIMP Spaces(17)+Format("W40,AC",CLIENTE)+"\n\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 Fill("-",80)
Print File ARQIMP Fill("\n",20)
EndProc ; (IMPENT)

;*******************************************************************************
;* 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]="S"
     Then Moveto [Codigo do Item]
          If Busca_Lookup("Codigo do Item",[Codigo do Item],"")
             Then If Reg_Busca_Lookup["Codigo do Departamento"]="01" ; Loja
                     Then IMPRIME = 1
                          ENT_BALCAOS =True
                          UnLockRecord
                          QuitLoop
                  EndIf
          EndIf
          UnLockRecord
  EndIf
  Skip
  If EOT() Then QuitLoop EndIf
EndWhile

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 If Reg_Busca_Lookup["Codigo do Departamento"]="01" ; Loja
                     Then IMPRIME = 2
                          ENT_BALCAON =True
                          UnLockRecord
                          QuitLoop
                  EndIf
          EndIf
          UnLockRecord
  EndIf
  Skip
  If EOT() Then QuitLoop EndIf
EndWhile
EndProc ; (Entrega)

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
ENT_BALCAOS = False
ENT_BALCAON = False                           
IMPRIME     = 0

Entrega()

For ENT_PATIOCC From 1 To 2
   
    If Not ENT_BALCAOS And Not ENT_BALCAON 
       Then Quitloop
    EndIf

    If IMPRIME = 1 Or IMPRIME = 2
       Then MSGDISPOSITIVO="Comprovante de Entrega/Balcao"
            DispositivoI("CPE")
            If OK<>""
               Then AGUARDE("Imprimindo Ordem de Entregue BALCAO -> "+NOTAFISC)
                    ArqImp=PrivDir()+"ENT_102B.Txt"
                    If IsFile(ArqImp)
                       Then Deleta_Arquivo(ARQIMP)
                    EndIf
                Else If ENT_PATIOCC=1
                        Then Loop
                        Else QuitLoop
                     EndIf    
            EndIF
            IMPRIME = 0
    EndIf
    
    Switch
      Case ENT_PATIOCC=1: If Not ENT_BALCAOS Then Loop EndIF
                          ENTREGA = "S"
                          TITULO="ENTREGA NO BALCAO"
                          IMPENT()
      Case ENT_PATIOCC=2: If Not ENT_BALCAON Then QuitLoop EndIF
                          ENTREGA = "N"
                          TITULO="AUXILIO ENTREGA PATIO"
                          IMPENT()
    EndSwitch
    
    Print File ARQIMP CI_10CPP
    Print File ARQIMP CI_6LPP
    ;---- Imprime Arquivo Impressao --------------------------------
    ImpriArq(ARQIMP)
EndFor

Release Vars CLIENTE,ITEM,LOCAL,ENTREGA,ENT_BALCAO,
        END_ENT,BAI_ENT,CID_ENT,CEP_ENT
Release Procs IMPENT,ENTREGA
LIMPAGUARDE()
