;** Et_Z0345A ******************************************************************
;* Monta Etiqueta p/ Imp. T‚rmica - Bematech - Interno      ** Vitoria Textil **
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 07/12/2016 por Bruno Carvalho
;Ultima Alteracao: 23/12/2016 por Bruno Carvalho                 
;Motivo Alteracao: Adicionado Simbologia         
;Ultima Alteracao: 02/02/2017 por Bruno Carvalho                 
;Motivo Alteracao: Adicionado processo para imprimir simbologia na BEMATECH
;Ultima Alteracao: 09/02/2017 por Bruno Carvalho                 
;Motivo Alteracao: Adicionado Download_Simbologia_Bematech() e novas simbologias 
;Ultima Alteracao: 22/02/2017 por Bruno Carvalho                 
;Motivo Alteracao: Ajsutes de Otimiza‡Ćo de Carregamento das Simbologias para a Impressora 
;Ultima Alteracao: 06/03/2017 por Bruno Carvalho                 
;Motivo Alteracao: Ajustes Monta_Comandos() ao carregar Download_Simbologia()
;Ultima Alteracao: 12/05/2017 por Bruno Carvalho                 
;Motivo Alteracao: Adicionado controle p/ carregar simbologia -> CARREGA_SIMBOLOGIA_ETQ
;Ultima Alteracao: 15/05/2017 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ criar a tabela no diret˘rio private
;Ultima Alteracao: 15/05/2017 por Bruno Carvalho                   
;Motivo Alteracao: Ajustado Download_Simbologia() no script "RE_0010"
;Ultima Alteracao: 20/02/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Adicionado novas simbologias textil
;Ultima Alteracao: 02/01/2019 por Bruno Carvalho                           
;Motivo Alteracao: Adicionado simbologia ALV_42

;*******************************************************************************
;Imprime a Simbologia                                                          ;
;*******************************************************************************
Proc Imprime_Simbologia_Bematech()

;Imagens aramzenadas na mem˘ria da impressora (exporta‡Ćo das imagens pelo "DiagTool_V1.54")

LINHA    = "210"
POSICAO  = "50"
EXTENSAO = ".BMP"
For i From 1 To DynArraySize(SIMBOL)
  Switch 
    ;---- Lavagem --------------------------------------------------------------
    Case SIMBOL[i]="001" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_00"+EXTENSAO+"\""+"\n" ;LAV_00
    Case SIMBOL[i]="002" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_01"+EXTENSAO+"\""+"\n" ;LAV_01 
    Case SIMBOL[i]="003" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_02"+EXTENSAO+"\""+"\n" ;LAV_02
    Case SIMBOL[i]="004" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_03"+EXTENSAO+"\""+"\n" ;LAV_03
    Case SIMBOL[i]="005" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_04"+EXTENSAO+"\""+"\n" ;LAV_04
    ;Adicionados  em 09/02/2017
    Case SIMBOL[i]="026" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_25"+EXTENSAO+"\""+"\n" ;LAV_25     
    Case SIMBOL[i]="027" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_26"+EXTENSAO+"\""+"\n" ;LAV_26     
    Case SIMBOL[i]="028" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_27"+EXTENSAO+"\""+"\n" ;LAV_27    
    Case SIMBOL[i]="029" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_28"+EXTENSAO+"\""+"\n" ;LAV_28     
    Case SIMBOL[i]="030" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_29"+EXTENSAO+"\""+"\n" ;LAV_29     
    Case SIMBOL[i]="031" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_30"+EXTENSAO+"\""+"\n" ;LAV_30     
    Case SIMBOL[i]="032" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_31"+EXTENSAO+"\""+"\n" ;LAV_31     
    Case SIMBOL[i]="033" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_32"+EXTENSAO+"\""+"\n" ;LAV_32     
    Case SIMBOL[i]="034" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_33"+EXTENSAO+"\""+"\n" ;LAV_33    
    Case SIMBOL[i]="035" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_34"+EXTENSAO+"\""+"\n" ;LAV_34     
    Case SIMBOL[i]="036" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_35"+EXTENSAO+"\""+"\n" ;LAV_35
    Case SIMBOL[i]="037" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LAV_36"+EXTENSAO+"\""+"\n" ;LAV_36        
    ;---- Alvejamento ---------------------------------------------------------- 
    Case SIMBOL[i]="006" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"ALV_05"+EXTENSAO+"\""+"\n" ;ALV_05
    Case SIMBOL[i]="007" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"ALV_06"+EXTENSAO+"\""+"\n" ;ALV_06
    Case SIMBOL[i]="008" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"ALV_07"+EXTENSAO+"\""+"\n" ;ALV_07
    ;---- Secagem --------------------------------------------------------------
    Case SIMBOL[i]="009" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_08"+EXTENSAO+"\""+"\n" ;SEC_08
    Case SIMBOL[i]="010" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_09"+EXTENSAO+"\""+"\n" ;SEC_09
    Case SIMBOL[i]="011" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_10"+EXTENSAO+"\""+"\n" ;SEC_10
    Case SIMBOL[i]="012" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_11"+EXTENSAO+"\""+"\n" ;SEC_11
    Case SIMBOL[i]="013" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_12"+EXTENSAO+"\""+"\n" ;SEC_12
    Case SIMBOL[i]="014" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_13"+EXTENSAO+"\""+"\n" ;SEC_13
    Case SIMBOL[i]="015" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_14"+EXTENSAO+"\""+"\n" ;SEC_14
    ;---- Passadora ------------------------------------------------------------
    Case SIMBOL[i]="016" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"PAS_15"+EXTENSAO+"\""+"\n" ;PAS_15
    Case SIMBOL[i]="017" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"PAS_16"+EXTENSAO+"\""+"\n" ;PAS_16
    Case SIMBOL[i]="018" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"PAS_17"+EXTENSAO+"\""+"\n" ;PAS_17
    Case SIMBOL[i]="019" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"PAS_18"+EXTENSAO+"\""+"\n" ;PAS_18
    ;---- Limpeza a Seco -------------------------------------------------------
    Case SIMBOL[i]="020" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LIMP_19"+EXTENSAO+"\""+"\n" ;LIMP_19
    Case SIMBOL[i]="021" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LIMP_20"+EXTENSAO+"\""+"\n" ;LIMP_20
    Case SIMBOL[i]="022" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LIMP_21"+EXTENSAO+"\""+"\n" ;LIMP_21
    Case SIMBOL[i]="023" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LIMP_22"+EXTENSAO+"\""+"\n" ;LIMP_22
    Case SIMBOL[i]="024" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LIMP_23"+EXTENSAO+"\""+"\n" ;LIMP_23
    Case SIMBOL[i]="025" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LIMP_24"+EXTENSAO+"\""+"\n" ;LIMP_24
    ;Adicionados  em 09/02/2017
    Case SIMBOL[i]="038" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LIMP_37"+EXTENSAO+"\""+"\n" ;LIMP_37
    Case SIMBOL[i]="039" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LIMP_38"+EXTENSAO+"\""+"\n" ;LIMP_38
    Case SIMBOL[i]="040" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"LIMP_39"+EXTENSAO+"\""+"\n" ;LIMP_39    

    ;Adicionados  em 20/02/2018
    Case SIMBOL[i]="041" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"ALV_41"+EXTENSAO+"\""+"\n" ;ALV_41
    Case SIMBOL[i]="042" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_42"+EXTENSAO+"\""+"\n" ;SEC_42
    Case SIMBOL[i]="043" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_43"+EXTENSAO+"\""+"\n" ;SEC_43
    Case SIMBOL[i]="044" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_44"+EXTENSAO+"\""+"\n" ;SEC_44
    Case SIMBOL[i]="045" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"SEC_45"+EXTENSAO+"\""+"\n" ;SEC_45
    Case SIMBOL[i]="046" : Print File Arquivo "PUT"+SubStR(EXTENSAO,2,3)+" "+POSICAO+","+LINHA+",\"ALV_42"+EXTENSAO+"\""+"\n" ;ALV_42
    
    OtherWise            : POSICAO = Strval(NumVal(POSICAO)-80)                                                                ;Simbologia Inv lida
  EndSwitch  
  POSICAO = Strval(NumVal(POSICAO)+90)
EndFor

EndProc ;Imprime_Simbologia_Bematech() 
           
;*******************************************************************************
;Monta Etiqueta                                                                ;
;*******************************************************************************
Proc Monta_Etiqueta()

Print File Arquivo "q1272\n"        ;DOT a 12 por mm
Print File Arquivo "Q400,032\n"     ;DOT a  8 por mm
Print File Arquivo "rN\n"
Print File Arquivo "S3\n"
Print File Arquivo "D7\n"
Print File Arquivo "ZT\n"
Print File Arquivo "JF\n"
Print File Arquivo "O\n"
Print File Arquivo "N\n"

Print File Arquivo "A40,010,0,4,1,1,N,\""+EMPRE+"\"\n"
Print File Arquivo "A40,060,0,4,1,1,N,\""+DITEA+"\"\n"
Print File Arquivo "A40,090,0,4,1,1,N,\""+DITEB+"\"\n"
Print File Arquivo "A40,120,0,4,1,1,N,\""+DITEC+"\"\n"
Print File Arquivo "A40,150,0,4,1,1,N,\""+DITED+"\"\n"
Print File Arquivo "A40,180,0,4,1,1,N,\""+DITEE+"\"\n"

Imprime_Simbologia_Bematech()

Print File Arquivo "X043,318,8,137,380"+"\n"
Print File Arquivo "X141,318,8,235,380"+"\n"
Print File Arquivo "X239,318,8,333,380"+"\n"
Print File Arquivo "X337,318,8,431,380"+"\n"
Print File Arquivo "X435,318,8,529,380"+"\n"
Print File Arquivo "X533,318,8,629,380"+"\n"
Print File Arquivo "X631,318,8,725,380"+"\n"
Print File Arquivo "X729,318,8,823,380"+"\n"

Print File Arquivo "P1\n"

EndProc               

;*******************************************************************************
;* Rotina para Verificar Simbologia                                            *
;*******************************************************************************
Proc Achou_Simbologia(PARAM)
Private ACHOU_SIMB,wii,PARAM

ACHOU_SIMB = False
For wii From 1 To DynArraySize(SIMBOL)
  If PARAM = SIMBOL[wii]
     Then ACHOU_SIMB = True
  EndIf   
Endfor  

If ACHOU_SIMB  
   Then Return True
   Else Return False
EndIf   
    
EndProc ;Achou_Simbologia()  

;*******************************************************************************
;* Monta Comandos p/ Impressora Termica                                        *
;*******************************************************************************
Proc Monta_Comandos()
If IsAssigned(DITEA) Then Release Vars DITEA, LOCAL, CITEM, DESCM EndIf

TIPO_IMPRESSORA = "BEMATECH"

DATA = Format("D13",Today())

Arquivo=PrivDir()+"Et_Z345A.ext"
Deleta_Arquivo(Arquivo)

Coedit "Answer"
Scan
  GetRecord "\\Sistemas\\Estoque\\Itens" [Codigo do Item] To ITEM
  If RetVal
     Then DESC_ITEM         = ITEM["Descricao do Item"]
          DESC_COMPLEMENTAR = ITEM["Descricao Complementar"]
          PAIS              = ITEM["Pais"]
          COR               = ITEM["Codigo da Cor_Tecido"]
     Else DESC_ITEM         = ""
          DESC_COMPLEMENTAR = ""
          PAIS              = ""
          COR               = ""   
  EndIf   
  
  GetRecord "\\Sistemas\\Estoque\\Iten_tec" [Codigo do Item] To REG_TECIDO
  If RetVal
     Then ARTIGO     = REG_TECIDO["Artigo"]
          COMPOSICAO = REG_TECIDO["Composicao"]
          PECA       = REG_TECIDO["Peca"]
          LARGURA    = REG_TECIDO["Largura"]
          GRAMATURA  = REG_TECIDO["Gramatura"]
          RENDIMENTO = REG_TECIDO["Rendimento"]
          SIMBOLOGIA = REG_TECIDO["Simbologia_Impressao"]
     Else ARTIGO     = ""
          COMPOSICAO = ""
          PECA       = ""
          LARGURA    = ""
          GRAMATURA  = ""
          RENDIMENTO = ""
          SIMBOLOGIA = "" 
  EndIf                 
  
  ;---- Comando para Imprimir Imagens Armazenadas na Impressora ----------------
  CONT_SIMBOL=0
  DynArray SIMBOL[]
  If SIMBOLOGIA<>""
     Then PosI = Search("-",SIMBOLOGIA)
          If PosI>0
             Then While PosI>0
                    CONT_SIMBOL         = CONT_SIMBOL +1
                    SIMBOL[CONT_SIMBOL] = SubStr(SIMBOLOGIA,1,PosI-1)
                    SIMBOLOGIA = SubStr(SIMBOLOGIA,PosI+1,Len(SIMBOLOGIA))
                    PosI = Search("-",SIMBOLOGIA)
                    If PosI=0
                       Then CONT_SIMBOL         = CONT_SIMBOL +1
                            SIMBOL[CONT_SIMBOL] = SIMBOLOGIA
                            QuitLoop
                    EndIf   
                  EndWhile
             Else SIMBOL[1]=SIMBOLOGIA
          EndIf
     Else SIMBOL[1]=""
  EndIf  
   
  CITEM = [Codigo do Item]
  For i from 1 To 10
     If SubStr(CITEM,1,1)="0"
        Then CITEM = SubStr(CITEM,2,Len(CITEM))
        Else QuitLoop
     EndIf                               
  EndFor
  If SYS_CODIGO_CLIENTE="0345"
     Then ARTIGO = CITEM
  EndIf
  
  GetRecord "\\Sistemas\\Cadastro\\Empresas" "0001" To REG_EMP
  If RetVal
     Then EMPRE = Format("W49,AC",REG_EMP["Nome Fantasia Empresa"]+" - "+REG_EMP["CGC Empresa"])
     Else EMPRE = ""
  EndIf      

  te=[Quantidade]
  ce=0
  While True            
    ce=ce+1
    DITEA = "     ARTIGO: "+Format("W10,AL",ARTIGO)
    DITEB = "  DESCRICAO: "+DESC_ITEM
    DITEC = " COMPOSICAO: "+SubStr(COMPOSICAO,1,38)
    DITED = "    LARGURA: "+Format("W12",LARGURA)   +" GRAMATURA: "+Format("W10",GRAMATURA)
    DITEE = " RENDIMENTO: "+Format("W12",RENDIMENTO)+"      PAIS: "+PAIS    
    Monta_Etiqueta()
    If ce>=te Then QuitLoop EndIf
  EndWhile
EndScan
Do_It!
ClearAll

ImpriArq(Arquivo)

Sleep 700
Deleta_Arquivo(Arquivo)
ClearAll
EndProc

Monta_Comandos()
Release Procs Monta_Etiqueta,Monta_Comandos
