;** Et_Z159A *******************************************************************
;* Monta Etiqueta p/ Impressora Termica ZEBRA                     * Modelo 113 *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 10/09/2018 por Bruno Carvalho
;Ultima Alteracao: 12/09/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ ser impresso os 30 caracteres da descri‡Æo do item mesma linha
;Ultima Alteracao: 07/11/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes padrÆo p/ codigo de barras EAN8, EAN13 ou COD128                                      
;Ultima Alteracao: 28/03/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes CNPJ                                                                                  
;Ultima Alteracao: 29/05/2019 por Bruno Carvalho
;Motivo Alteracao: Adicionado [Capacidade] e [Dimensoes] -> Cadastro de Itens "Iten_Com"

;*******************************************************************************
Proc Monta_Etiqueta(q)
Private POSI,q

Print File Arquivo "O\n"
Print File Arquivo "N\n"
Print File Arquivo "q880\n"
Print File Arquivo "Q400,24\n"
Print File Arquivo "S2\n"
Print File Arquivo "D7\n"
Print File Arquivo "ZT\n"
                                      
If DITEB<>""
   Then Print File Arquivo "A200,005,1,3,1,1,N,\""+DITEA+"\"\n"
        Print File Arquivo "A180,005,1,3,1,1,N,\""+DITEB+"\"\n"
   Else Print File Arquivo "A195,005,1,3,1,1,N,\""+DITEA+"\"\n"
EndIf
Print File Arquivo "A155,030,1,3,1,1,N,\""+CAP+"\"\n"
Print File Arquivo "A135,030,1,3,1,1,N,\""+DIM+"\"\n"
Switch
  Case Search("EAN13",TPBARRA)>0 : Print File Arquivo "B102,075,1,E30,2,1,40,B,\""+DITED+"\"\n"  ;EAN13 
  Case Search("EAN8",TPBARRA)>0  : Print File Arquivo "B102,075,1,E80,2,1,40,B,\""+DITED+"\"\n"  ;EAN13
  OtherWise                      : Print File Arquivo "B102,085,1,1,2,1,40,B,\""+DITED+"\"\n"    ;COD128 
EndSwitch
Print File Arquivo "A750,360,2,1,2,2,N,\"CNPJ: 07.940.543/0002-19\"\n"

Print File Arquivo "P"+strval(q)+"\n"
EndProc

;*******************************************************************************
;* Monta Comandos p/ Impressora Termica                                        *
;*******************************************************************************
Proc Monta_Comandos()
If IsAssigned(DITEA)
   Then Release Vars DITEA,DITEB,DITEC,DITED,CAP,DIM
EndIf

Arquivo=PrivDir()+"Et_Z159A.ipl"
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 Embalagem"],1,2)
          FATOR_CONVERSAO   = ITEM["Fator Conversao Embalagem"]
          If FATOR_CONVERSAO>0
             Then FATOR_CONVERSAO = StrVal((NumVal(FATOR_CONVERSAO)))
             Else FATOR_CONVERSAO = StrVal(FATOR_CONVERSAO) 
          EndIf   
          If SubStr(FATOR_CONVERSAO,1,1)="."
             Then FATOR_CONVERSAO = "0"+FATOR_CONVERSAO
          EndIf
     Else DESC_ITEM         = ""
          DESC_COMPLEMENTAR = ""
          UN_ITEM           = ""
          FATOR_CONVERSAO   = ""
  EndIf   
  
  GetRecord "\\Sistemas\\Estoque\\Iten_Com" [Codigo do Item] To REG_ITENCOM
  If RetVal
     Then CAPACIDADE = REG_ITENCOM["Capacidade"]
          DIMENSOES  = REG_ITENCOM["Dimensoes"]
     Else CAPACIDADE = ""
          DIMENSOES  = ""     
  EndIf     
  
  DITEA = SubStr(DESC_ITEM,01,26)
  DITEB = Rtrim(Ltrim(SubStr(DESC_ITEM,27,26)))
  DITEC = Format("W27,AC","CAP ("+FATOR_CONVERSAO+" "+UN_ITEM+")")
TPBARRA = Upper([Tipo Codigo_Barras])
    CAP = Ltrim(Rtrim(CAPACIDADE))
    DIM = Ltrim(Rtrim(DIMENSOES))    
  DITED = [Codigo de Barras]

  Monta_Etiqueta([Quantidade])

EndScan
Do_It!
ClearAll

ImpriArq(Arquivo)

Sleep 700
Deleta_Arquivo(Arquivo)
ClearAll
EndProc

Monta_Comandos()
Release Procs Monta_Etiqueta,Monta_Comandos
