;** ET_0316 ********************************************************************
;** Imprime Etiqueta Personalizada                    * Decore Acabamentos **  *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 15/05/2012 por Bruno Carvalho
;Alterado      em: 19/02/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes DESC_PRAZO
;Alterado      em: 27/08/2013 por Kamila Gomes
;Motivo Alteracao: Ajustes tamanho campo valores

;*******************************************************************************
;* Monta Linha para ImpressÆo                                                  *
;*******************************************************************************
Proc Linha(Indice,Opcao)
Private Indice, LINHA
 debug
If OPCAO<>""
   Then Switch
          Case WH=1 : LINHA_1[Contador]=Gravar_Impressao
          Case WH=2 : LINHA_2[Contador]=Gravar_Impressao
          Case WH=3 : LINHA_3[Contador]=Gravar_Impressao
          Case WH=4 : LINHA_4[Contador]=Gravar_Impressao
        EndSwitch
   Else Switch
          Case Indice = 1 : LINHA=[Codigo do Item]+Spaces(6)+"Cod.For.: "+Completa([Codigo Fornecedor],36," ")+Spaces(10) 
          Case Indice = 2 : LINHA=Completa([Descricao do Item],55," ")+Spaces(2)+Completa([Unidade Fiscal],4," ")+Spaces(11)
          Case Indice = 3 : LINHA=Completa([Descricao da Marca],29," ")+Spaces(08)+Format("W7,AL",DESC_VISTA)+" R$ "
                            LINHA=LINHA+Format("W11.2,EIC",([Preco Unitario]+([Preco Unitario]*TAXA_VISTA/100)))+Spaces(13)
          Case Indice = 4 : LINHA=Completa([Descricao do Grupo],29," ")+Spaces(08)
                            If DESC_PRAZO<>""
                               Then LINHA=LINHA+Format("W7,AL",DESC_PRAZO)+" R$ "+Format("W11.2,EIC",[Preco Unitario])+Spaces(13)
                               Else LINHA=LINHA+Spaces(31)
                            EndIf   
        Endswitch
        Return LINHA    
EndIf

EndProc

;*******************************************************************************
;* Rotina para Impressao do Relatorio                                          *
;*******************************************************************************
Proc IMPETIQUETA()
Private QUANTIDADE, QTD, LINHA_1, LINHA_2, LINHA_3, LINHA_4, Contador, 
        Controle, NUM_ETQ, Gravar_Impressao  

QUANTIDADE = 0
QTD        = 0

Scan
  QUANTIDADE=QUANTIDADE+[Quantidade]
EndScan

QTD=Int(QUANTIDADE/Numero_Coluna)

If (QUANTIDADE-(QTD*Numero_Coluna))>0
   Then QTD=QTD+1
EndIf 

Array LINHA_1[QTD]
Array LINHA_2[QTD]
Array LINHA_3[QTD]
Array LINHA_4[QTD]

For WH From 1 To 4
  Home
  Contador = 1
  Controle = 0
  NUM_ETQ  = 0
  While [Quantidade] >= Controle
    Controle=Controle+1
    NUM_ETQ=NUM_ETQ+1 
    
    Switch
      Case NUM_ETQ = 1 : Gravar_Impressao=Linha(WH,"")
      Case NUM_ETQ = 2 : Gravar_Impressao=Gravar_Impressao+Linha(WH,"")    
      Case NUM_ETQ = 3 : Gravar_Impressao=Gravar_Impressao+Linha(WH,"")
    EndSwitch
                       
    If NUM_ETQ=Numero_Coluna
       Then Linha(WH,"1")
            NUM_ETQ =0
            Contador=Contador+1
    EndIf  
  
    If [Quantidade]=Controle
       Then Controle=0
            Skip
            If Eot()  
               Then Switch 
                      Case Numero_Coluna=2 : If NUM_ETQ=1
                                                Then Linha(WH,"1")
                                             EndIf
                      Case Numero_Coluna=3 : If NUM_ETQ=1 Or NUM_ETQ=2
                                                Then Linha(WH,"1")
                                             EndIf
                    EndSwitch                      
                    QuitLoop 
            EndIf   
    EndIf
  EndWhile

Endfor  

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

For CONTADOR From 1 To QTD
  Print File ARQIMP "\027E"+Spaces(2)+LINHA_1[CONTADOR]+"\027F"+"\n" 
  Print File ARQIMP "\027E"+Spaces(2)+LINHA_2[CONTADOR]+"\027F"+"\n" 
  Print File ARQIMP Spaces(2)+LINHA_3[CONTADOR]+"\n" 
  Print File ARQIMP Spaces(2)+LINHA_4[CONTADOR]+"\n" 
  Print File ARQIMP "\n\n"
EndFor

EndProc ;IMPETIQUETA()
;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
ARQIMP=PrivDir()+"ET_0316.Txt"
If IsFile(ARQIMP)
   Then Deleta_Arquivo(ARQIMP)
EndIf
AGUARDE("Imprimindo Etiqueta ...")

Numero_Coluna=2

Moveto "Answer"
IMPETIQUETA()

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

Release Vars VALOR
Release Procs IMPETIQUETA

LIMPAGUARDE()