;** ET_Z382P ********************************************************************
;* Monta Etiqueta p/ Impressora Termica - Zebra                                *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 23/05/2019 por Bruno Carvalho
;Ultima Alteracao: 18/03/2021 por Bruno Carvalho                   
;Motivo Alteracao: Ajustes no espa‡amento entre o Rendimento e a Largura                

;*******************************************************************************
Proc Monta_Etiqueta()

Print File Arquivo "q800\n"
Print File Arquivo "Q300,24+\n"
Print File Arquivo "rN\n"
Print File Arquivo "S3\n"
Print File Arquivo "D10\n"
Print File Arquivo "ZT\n"
Print File Arquivo "JF\n"
Print File Arquivo "O\n"
Print File Arquivo "N\n"

If MODO_IMPRESSAO = 1
   Then ;MODO_IMPRESSAO=1 -> Com descritivos maiores na impressÆo da etiqueta
        Print File Arquivo "A05,000,0,1,2,4,N,\""+LINHA1+"\"\n"
        Print File Arquivo "A05,045,0,1,2,4,N,\""+LINHA2+"\"\n"
        Print File Arquivo "A05,090,0,1,2,4,N,\""+LINHA3+"\"\n"
        Print File Arquivo "A05,135,0,1,2,4,N,\""+LINHA4+"\"\n"
        Print File Arquivo "A05,185,0,1,2,3,N,\""+LINHA5+"\"\n"
        Print File Arquivo "A05,225,0,1,2,4,N,\""+LINHA6+"\"\n"
        Print File Arquivo "A05,275,0,1,2,4,N,\""+LINHA8+"\"\n"
   Else ;MODO_IMPRESSAO=2 -> Com descritivos menores na impressÆo da etiqueta 
        Print File Arquivo "A05,010,0,1,2,2,N,\""+LINHA1+"\"\n"
        Print File Arquivo "A05,045,0,1,2,3,N,\""+LINHA2+"\"\n"    ;LINHA MAIOR
        Print File Arquivo "A05,090,0,1,2,2,N,\""+LINHA3+"\"\n"
        Print File Arquivo "A05,120,0,1,2,2,N,\""+LINHA4+"\"\n"
        Print File Arquivo "A05,160,0,1,2,2,N,\""+LINHA5+"\"\n"
        Print File Arquivo "A05,200,0,1,2,2,N,\""+LINHA6+"\"\n" 
        Print File Arquivo "A05,240,0,1,2,2,N,\""+LINHA8+"\"\n" 
EndIf

Print File Arquivo "P"+StrVal(VSDGQUAN)+"\n"

EndProc

;*******************************************************************************
;* Monta Comandos p/ Impressora Termica                                        *
;*******************************************************************************
Proc Monta_Comandos()

MODO_IMPRESSAO = 2

Arquivo=PrivDir()+"ET_Z382P.ejf"
Deleta_Arquivo(Arquivo)

DynArray REPRESENTANTE[] 

NUM_IMPRESSAO = 1
Switch
  Case ListaRegra_VSDGREPRESEN_Ativo Or VSDGREPRESEN="" : 
       NUM_IMPRESSAO = 0
       {Ask} {\\Sistemas\\Cadastro\\Represen}
       Moveto [Inativo Represent      ]       TypeIn "N"
       Moveto [Codigo do Representante] Check
       If VSDGREPRESEN<>""
          Then TypeIn ListaRegra_VSDGREPRESEN
       EndIf
       Do_it!
       Scan
         NUM_IMPRESSAO = NUM_IMPRESSAO + 1
         REPRESENTANTE[NUM_IMPRESSAO] = [Codigo do Representante] 
       EndScan
       ClearAll
  OtherWise : REPRESENTANTE[1] = VSDGREPRESEN   
EndSwitch 
          
GetRecord "\\Sistemas\\Estoque\\Itens" VSDGITEM To ITEM
If RetVal
   Then DESCRICAO  = ITEM["Descricao do Item"]
        REFERENCIA = ITEM["Referencia"] 
        DESC_COMP  = ITEM["Descricao Complementar"]
        TECIDO     = ITEM["Descricao da Cor_Tecido"]
   Else DESCRICAO  = ""
        REFERENCIA = ""
        DESC_COMP  = ""
        TECIDO     = ""
EndIf 

PRECO=""
If VSDGTABELA<>""
   Then GetRecord "\\Sistemas\\Vendas\\Tbprite" VSDGTABELA,VSDGITEM To REG_PRECO
        If RetVal
           Then PRECO=StrVal(REG_PRECO["Preco Unitario"])    
                PosI=Search(".",PRECO)
                If PosI>0
                   Then PRECO = SubStr(PRECO,1,PosI-1)+"/"+SubStr(PRECO,PosI+1,Len(PRECO))
                EndIf
        EndIf
EndIf        

TM_REND = Len(VSDGREND)
If TM_REND<=5 Then TM_REND = 5 Else TM_REND = TM_REND + 2 EndIf

;** NÆo ‚ para ser impresso a Descri‡Æo Complementar ***************************
DESC_COMP = VSDGCOMPOSICAO

LINHA1 = "        ARTIGO: "+VSDGARTIGO
LINHA2 = "        TECIDO: "+Format("W23",DESCRICAO)  ;VSDGNOME
LINHA3 = "    COMPOSICAO: "+Ltrim(SubStr(DESC_COMP,01,23))
LINHA4 = "                "+Ltrim(SubStr(DESC_COMP,24,23))
LINHA5 = "    RENDIMENTO: "+Format("W"+StrVal(TM_REND)+",AL",StrVal(VSDGREND))+"LARG: "+StrVal(VSDGLARG)
LINHA6 = "        CODIGO: "+PRECO
If IsBlank(VSDGQUAN) Then VSDGQUAN = 1 EndIf
For ii From 1 To DynArraySize(REPRESENTANTE)
  GetRecord "\\Sistemas\\Cadastro\\Represen" REPRESENTANTE[ii] To REG_REPRESENTANTE
  LINHA8 = " REPRESENTANTE: "+Format("W23",LTRIM(REG_REPRESENTANTE["Nome Fantasia Represent"]))
  Monta_Etiqueta() 
Endfor
ImpriArq(Arquivo)

Sleep 700
Deleta_Arquivo(Arquivo)
ClearAll
EndProc

Monta_Comandos()
Release Procs Monta_Etiqueta,Monta_Comandos
