;** ET_CB003  ******************************************************************
;** Impressao de Etiqueta c/ C¢digo de Barras - Jato de Tinta        ** JN **  *
;** Adaptado para ImpressÆo de C¢digos de Barra : COD128
;** Etiqueta Pimaco Com 3 Colunas e 13 Linhas de Etiqueta (3,8 x 2,1)
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido em : 09/02/2012 por Bruno Carvalho
;Ultima Alteracao: 27/08/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes de otimiza‡Æo
;Ultima Alteracao: 05/09/2014 por Luis Gustavo 
;Motivo Alteracao: Ajustes na Proc MONTA_ETIQUETA()
;Ultima Alteracao: 18/09/2014 por Andrey Fillipe
;Motivo Alteracao: Ajustes na Proc MONTA_ETIQUETA()   
;Ultima Alteracao: 06/10/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ posicionamento da impressÆo realizada na empresa

;*******************************************************************************
;* Rotina de Impressao das Etiquetas                                           *
;*******************************************************************************
Proc MONTA_ETIQUETA()

If QUEBRA_PAGINA > 65                  
   Then QUEBRA_PAGINA = 5
        Print File ARQIMP "\f"      
        Print File ARQIMP CI_15CPP
        Print File ARQIMP "\n\n"
EndIf             

Print File ARQIMP Spaces(01)

For I From 1 to K
  Print File ARQIMP DESC_ITEM1[I]
  If I=1 Or I=3  
     Then Print File ARQIMP Spaces(05)
     Else Print File ARQIMP Spaces(04)
  EndIf   
EndFor

Print File ARQIMP "\n"
Print File ARQIMP Spaces(01)
        
For I From 1 to K
  Print File ARQIMP DESC_ITEM2[I]
  If I=1 Or I=3                                       
     Then Print File ARQIMP Spaces(05)
     Else Print File ARQIMP Spaces(04)
  EndIf 
EndFor
              
Print File ARQIMP "\n"

Print File ARQIMP Spaces(04)
For I From 1 to K
  If I=1 Or I=3    
     Then CONT = 28   
     Else CONT = 27
  EndIf   
  If COD_BARRA[I] = ""
     Then Print File ARQIMP Spaces(27)
     Else Print File ARQIMP COD_BARRA[I]
          Print File ARQIMP Spaces(CONT)
  EndIf
EndFor                                                      
Print File ARQIMP "\n\n\n"              

EndProc
;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
ClearAll

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

Tabela=Cria_Temp(PrivDir())
Copy "Answer" Tabela
ClearAll

Print File ARQIMP CI_15CPP
Print File ARQIMP "\n\n"

DynArray ITEM[]
Array DESC_ITEM1[5]
Array DESC_ITEM2[5]
Array COD_BARRA[5]

CONT_ITEM     = 0
K             = 0
CODIGO_ITEM   = "***"
CONTADOR      = 0                            
QUEBRA_PAGINA = 0


View "\\Sistemas\\Estoque\\Itens"
View "Answer"
View Tabela
While [Quantidade] > CONTADOR
      
      GetRecord "\\Sistemas\\Estoque\\Itens" [Codigo do Item] To REG_ITEM
      If Not RetVal
         Then CONT_ITEM = CONT_ITEM + 1
              ITEM[CONT_ITEM] = [Codigo do Item]
      EndIf    
      
      CONTADOR=CONTADOR + 1  
      QUEBRA_PAGINA = QUEBRA_PAGINA + 1
      
      K=K+1                                                             ;07                                          ;03
      DESC_ITEM1[K] = "\027E"+Format("W23,AL",SubStr(REG_ITEM["Descricao do Item"],1,23))+"\027F"  
      DESC_ITEM2[K] = "\027E"+Format("W7,AL",Substr(REG_ITEM["Descricao do Item"],24,7))+Spaces(02)+Format("W14,AR",REG_ITEM["Unidade Fiscal"])+"\027F"      
                                 
      Switch
        Case Search("EAN13",REG_ITEM["Tipo Codigo_Barras"]) > 0 : COD_BARRA[K] = Chr(27)+"(B"+Chr(19)+"0020150" + REG_ITEM["Codigo de Barras"]
        OtherWise                                               : If REG_ITEM["Tipo Codigo_Barras"]<>""
                                                                     Then COD_BARRA[K] = Chr(27)+"(B"+Chr(16)+"0220150" + REG_ITEM["Codigo de Barras"]
                                                                     Else COD_BARRA[K] = ""
                                                                  EndIf   
      EndSwitch
      If K=5                    
         Then MONTA_ETIQUETA()
              K=0
      EndIf
      If [Quantidade] = CONTADOR
         Then CONTADOR = 0
              Skip                      
              If EOT() Then QuitLoop EndIf
      EndIf
EndWhile

If K>0
   Then MONTA_ETIQUETA()
EndIf

Print File ARQIMP "\n"

LIMPAGUARDE()

Delete Tabela

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



