;* ;** ET_Z388B ****************************************************************
;* Monta Etiqueta p/ Imp. T‚rmica - Zebra                         * Modelo 106 *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 14/06/2018 por Anivel Augusto Rodrigues
;Ultima Alteracao: 19/06/2018 por Anivel Augusto Rodrigues                  
;Motivo Alteracao: Ajustes layout conforme fontes caregada na impressora F0388B
;Ultima Alteracao: 21/06/2018 por Anivel Augusto Rodrigues                  
;Motivo Alteracao: Ajustes layout conforme fontes caregada na impressora F0388B
;Ultima Alteracao: 17/07/2018 por Bruno Carvalho                  
;Motivo Alteracao: Ajustes nas fontes para impressÆo na BEMATECH LB-1000 (Teste na Impressora do usu rio) 
;Ultima Alteracao: 19/07/2018 por Bruno Carvalho                  
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 11/02/2020 por Bruno Carvalho                  
;Motivo Alteracao: Adicionado campo [Importado] e pre‡o convertido em metro, se unidade fiscal ‚ KG (Pre‡o / Rendimento) 

;Download das fontes para impressora a impressora LB-1000 pelo DIAGNOSTIC TOOL
 
;*******************************************************************************
Proc Monta_Etiqueta()
private opf

Print File Arquivo "O\n"
Print File Arquivo "N\n"
Print File Arquivo "q880\n"  
Print File Arquivo "Q480\n"
Print File Arquivo "S2\n"
Print File Arquivo "D15\n"
Print File Arquivo "ZB\n"

opf=1
switch
  case opf=0: ;padrao
    Print File Arquivo "A40,030,0,4,1,2,N,\""+LINHA1 +"\"\n"
    
    Print File Arquivo "A50,090,0,4,2,2,N,\""+LINHA2A+"\"\n"
    Print File Arquivo "A50,140,0,4,2,2,N,\""+LINHA2B+"\"\n"
    
    Print File Arquivo "A40,200,0,4,1,1,N,\""+LINHA3A+"\"\n"
    Print File Arquivo "A40,240,0,4,1,1,N,\""+LINHA3B+"\"\n"
    
    Print File Arquivo "A40,280,0,4,1,1,N,\""+LINHA4 +"\"\n"
    Print File Arquivo "A40,320,0,4,1,1,N,\""+LINHA5 +"\"\n"
    Print File Arquivo "A40,360,0,4,1,1,N,\""+LINHA6 +"\"\n"
    Print File Arquivo "A40,400,0,4,1,1,N,\""+LINHA7 +"\"\n"
    
    Print File Arquivo "P1\n"

  case opf=1: ;New Times Romam            
  
    ;Download das fontes para impressora pelo DIAGNOSTIC TOOL 
    ;Fonte: Times New Ram
    ;a.EFT = 28 Regular
    ;b.EFT = 40 Regular
    ;c.EFT = 50 It lico/Negrito              ;sempre alterando a largura do italico para 0 em todas as fontes de it lico
  
    Print File Arquivo "A70,030,0,b,1,1,N,\""+LINHA1 +"\"\n"
    
    Print File Arquivo "A70,090,0,c,1,1,N,\""+LINHA2A+"\"\n"
    Print File Arquivo "A70,150,0,c,1,1,N,\""+LINHA2B+"\"\n"
    
    Print File Arquivo "A70,230,0,a,1,1,N,\""+LINHA3A+"\"\n"
    Print File Arquivo "A70,270,0,a,1,1,N,\""+LINHA3B+"\"\n"
    
    Print File Arquivo "A70,310,0,a,1,1,N,\""+LINHA4 +"\"\n"
    If LINHA_PR<>""
       Then Print File Arquivo "A460,310,0,a,1,1,N,\""+LINHA_PR+"\"\n"
    EndIf
    Print File Arquivo "A70,350,0,a,1,1,N,\""+LINHA5 +"\"\n"
    Print File Arquivo "A460,350,0,a,1,1,N,\""+LINHA_IMP+"\"\n"
    
    Print File Arquivo "A70,390,0,a,1,1,N,\""+LINHA6 +"\"\n"
    Print File Arquivo "A460,390,0,a,1,1,N,\""+LARGURA_UTIL+"\"\n"    
    
    Print File Arquivo "A70,430,0,a,1,1,N,\""+LINHA7 +"\"\n"
    Print File Arquivo "P1\n"
endswitch


EndProc                 

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

If VSDGTABELA="" And VSDGTABELA2<>""
   Then VSDGTABELA = VSDGTABELA2
EndIf
DATA = Format("D13",Today())

Arquivo=PrivDir()+"ET_Z388.txt"
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"]
          UN_ITEM           = Substr(ITEM["UNIDADE FISCAL"],1,2)
          PAIS_ORIGEM       = ITEM["Pais"] 
     Else DESC_ITEM         = ""
          DESC_COMPLEMENTAR = ""
          UN_ITEM           = ""
          PAIS_ORIGEM       = ""
  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"]
          LARGUTIL     = REG_TECIDO["Largura Util"]
          GRAMATURA    = REG_TECIDO["Gramatura"]
          RENDIMENTO   = REG_TECIDO["Rendimento"]
          IMPORTADO    = REG_TECIDO["Importado"]
     Else ARTIGO       = ""
          COMPOSICAO   = ""
          PECA         = ""
          LARGURA      = ""
          LARGUTIL     = ""
          GRAMATURA    = ""
          RENDIMENTO   = ""
          IMPORTADO    = ""
  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   
                                        
  PRECO        = ""
  PRECO_TABELA = ""                                              
  GetRecord "\\Sistemas\\Vendas\\TbPrIte" VSDGTABELA,[Codigo do Item] To REG_PRECO
  If RetVal
     Then PRECO_TABELA = REG_PRECO["Preco Unitario"]
          PRECO        = Strval(PRECO_TABELA) 
  EndIf  
  
  For i From 1 To Len(PRECO)
    If SubStr(PRECO,i,1)="." Or SubStr(PRECO,i,1)=","
       Then PRECO = SubStr(PRECO,1,i-1) + SubStr(PRECO,i+1,Len(PRECO))
    EndIf   
  EndFor
  
  ;---- Pre‡o em Metro solicitado em 11/02/2020 --------------------------------
  PRECO_METRO = ""
  If UN_ITEM="KG" And NumVal(RENDIMENTO)>0
     Then PRECO_METRO = NDecimal((PRECO_TABELA/NumVal(RENDIMENTO)),2)
          
          For i From 1 To Len(PRECO_METRO)
            If SubStr(PRECO_METRO,i,1)="." Or SubStr(PRECO_METRO,i,1)=","
               Then PRECO_METRO = SubStr(PRECO_METRO,1,i-1) + SubStr(PRECO_METRO,i+1,Len(PRECO_METRO))
            EndIf   
          EndFor
  EndIf          
  
  te=[Quantidade]
  ce=0
  While True            
    ce=ce+1

    LINHA1 = "Produto: "+Rtrim(ARTIGO)+"   "+"Codigo: "+PRECO

    LINHA2A= SubStr(DESC_ITEM,01,22)
    LINHA2B= SubStr(DESC_ITEM,23,22)
    
    LINHA3A= "Composicao: "+SubStr(COMPOSICAO,01,28)
    LINHA3B=                SubStr(COMPOSICAO,29,28)

    LINHA4       = "            Peca: "+Format("W10",PECA)
    LINHA5       = "       Largura: "+Format("W12",LARGURA)
    LINHA6       = "  Gramatura: "+Format("W8",GRAMATURA)    
    LINHA7       = "Rendimento: "+Format("W12",RENDIMENTO)
    LARGURA_UTIL = "Largura Util: "+Format("W12",LARGUTIL)
    LINHA_IMP    = "    Importado: "+Format("W12",IMPORTADO)
    LINHA_PR    = ""
    If PRECO_METRO<>""
       Then LINHA_PR = "         OBS: "+Format("W12",PRECO_METRO)  
    EndIf        
    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
