;** Et_Z171B *******************************************************************
;* Monta Etiqueta p/ Impressora Termica - Venus/AVista/Aprazo                  *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 01/11/2016 por Anivel Augusto Rodrigues
;Ultima Alteracao: 22/11/2016 por Bruno Carvalho
;Motivo Alteracao: Ajustes na impressÆo da 1§ etiqueta, solicita‡Æo #26812#
;Ultima Alteracao: 09/01/2017 por Rafael Matos
;Motivo Alteracao: Ajustes tamanho da Referencia 
;Ultima Alteracao: 03/04/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes p/ a impressÆo correta do c¢digo de barras na impressora ZEBRA
;Ultima Alteracao: 05/11/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes padrÆo p/ codigo de barras EAN8, EAN13 ou COD128

;*******************************************************************************

Proc Monta_Etiqueta()
Moveto "Answer"

Print File Arquivo "O\n"
Print File Arquivo "N\n"
Print File Arquivo "q816\n"
Print File Arquivo "Q592,24\n"
Print File Arquivo "S2\n"
Print File Arquivo "D8\n"
Print File Arquivo "ZT\n"

Linha01=""
Linha02=""
Linha03=""
Linha04=""
Linha05=""
Linha06=""
Linha07=""
Linha08=""
Linha09=""
Linha10=""

If Not IsBlank(CITEM[1])
   Then
        Linha01="A40,66,0,3,2,2,N,\""+EMPRESA+"\"\n"
        Linha02="A70,121,0,1,1,1,N,\""+"Em  caso  haja  defeito  de\""+"\n"
        Linha03="A70,136,0,1,1,1,N,\""+"fabrica‡„o troca-se somente\""+"\n"
        Linha04="A70,151,0,1,1,1,N,\""+"com essa etiqueta\""+"\n"
        Switch
          Case Search("EAN13",TPBARRA[1])>0 : Linha05="B40,181,0,E30,3,2,110,B,\""+CITEM[1]+"\"\n"
          Case Search("EAN8",TPBARRA[1])>0  : Linha05="B40,181,0,E80,3,2,110,B,\""+CITEM[1]+"\"\n"
          OtherWise                         : Linha05="B40,181,0,1,3,2,110,B,\""+CITEM[1]+"\"\n" 
        EndSwitch
        Linha06="A20,321,0,2,1,1,N,\""+DITEA[1]+"\"\n"
        Linha07="A50,351,0,2,2,2,N,\"Ref: "+REFEA[1]+"\"\n"
        Linha08="A60,402,0,4,1,1,N,\""+PR1[1]+"\"\n"
        Linha09="A60,431,0,4,1,1,N,\""+PR2[1]+"\"\n"
        Linha10="A40,506,0,2,2,2,N,\"Ref: "+REFEA[1]+"\"\n"       
        
EndIf

If Not IsBlank(CITEM[2])
   Then
        Linha01=Linha01+"A450,66,0,3,2,2,N,\""+EMPRESA+"\"\n"
        Linha02=Linha02+"A480,121,0,1,1,1,N,\""+"Em  caso  haja  defeito  de\""+"\n"
        Linha03=Linha03+"A480,136,0,1,1,1,N,\""+"fabrica‡„o troca-se somente\""+"\n"
        Linha04=Linha04+"A480,151,0,1,1,1,N,\""+"com essa etiqueta\""+"\n"
        Switch
          Case Search("EAN13",TPBARRA[2])>0 : Linha05=Linha05+"B450,181,0,E30,3,2,110,B,\""+CITEM[2]+"\"\n"
          Case Search("EAN8",TPBARRA[2])>0  : Linha05=Linha05+"B450,181,0,E80,3,2,110,B,\""+CITEM[2]+"\"\n"
          OtherWise                         : Linha05=Linha05+"B450,181,0,1,3,2,110,B,\""+CITEM[2]+"\"\n" 
        EndSwitch
        Linha06=Linha06+"A430,321,0,2,1,1,N,\""+DITEA[2]+"\"\n"
        Linha07=Linha07+"A460,351,0,2,2,2,N,\"Ref: "+REFEA[2]+"\"\n"
        Linha08=Linha08+"A470,402,0,4,1,1,N,\""+PR1[2]+"\"\n"
        Linha09=Linha09+"A470,431,0,4,1,1,N,\""+PR2[2]+"\"\n"
        Linha10=Linha10+"A460,506,0,2,2,2,N,\"Ref: "+REFEA[2]+"\"\n"
EndIf

Print File Arquivo Linha01
Print File Arquivo Linha02
Print File Arquivo Linha03
Print File Arquivo Linha04
Print File Arquivo Linha05
Print File Arquivo Linha06
Print File Arquivo Linha07
Print File Arquivo Linha08
Print File Arquivo Linha09
Print File Arquivo Linha10

If CITEM[1]=CITEM[2]
   Then Print File Arquivo "P"+StrVal(CR)+"\n"
        ce=ce+((CR-1)*2)
   Else Print File Arquivo "P1\n"
EndIf
ne=2

EndProc

;*******************************************************************************
;* Monta Comandos p/ Impressora Termica                                        *
;*******************************************************************************
Proc Monta_Comandos()  
If IsAssigned(DITEA)
   Then Release Vars DITEA, DITEB, CITEM, MARCA, PRUNI, EMPRESA, TPBARRA
EndIf

Switch
  Case SYS_CODIGO_CLIENTE="0171" : EMPRESA="Venus  Modas"
  Case SYS_CODIGO_CLIENTE="0322" : EMPRESA = "Moreira & Silva"
  OtherWise                      : EMPRESA = ""
EndSwitch   

Array   DITEA[2]
Array   CITEM[2]
Array TPBARRA[2]
Array   REFEA[2]
Array     PR1[2]
Array     PR2[2]

Arquivo=PrivDir()+"Venus.ipl"
Deleta_Arquivo(Arquivo)

ne=2
View "\\Sistemas\\Vendas\\Tbprite"
Coedit "Answer"
Scan
  te=[Quantidade]
  
  PRECO1=[Preco Unitario]
  PRECO2=""
  
  CodItem=[Codigo do Item]
  CodItemRaiz=PegaCodigoRaiz(CodItem)

  Moveto "\\Sistemas\\Vendas\\Tbprite"
  Moveto [Codigo da Tabela]
  Locate VSDGTABELA2,CodItemRaiz
  If RetVal
     Then PRECO2=[Preco Unitario]
     Else PRECO2="" 
  EndIf   
  
  LPR1="A Vista R$"+LTrim(Format("W9.2,EIC",PRECO1))
  LPR2="A Prazo R$"+LTrim(Format("W9.2,EIC",PRECO2))

  Moveto "Answer"

  If (te-(2-ne))>2
     Then CR=Int((te-(2-ne))/2)
     Else CR=1
  EndIf
  ce=0
  While True
    ce=ce+1
    ne=ne+1
    If ne=3
       Then For i From 1 To 2
              DITEA[i]=""
              CITEM[i]=""
            TPBARRA[i]=""
              REFEA[i]=""
                PR1[i]=""
                PR2[i]=""
            EndFor
            ne=1
    EndIf
    DITEA[ne]=Substr([Descricao do Item],1,25)+Substr([Descricao do Item],28,3)
    REFEA[ne]=RTrim([Referencia])+RTrim(SubStr([Descricao do Item],28,3))
    CITEM[ne]=[Codigo de Barras]
  TPBARRA[ne]=Upper([Tipo Codigo_Barras])  
      PR1[ne]=LPR1
      PR2[ne]=LPR2
    If ne=2   Then Monta_Etiqueta() EndIf
    If ce>=te Then QuitLoop         EndIf
  EndWhile
EndScan
If ne<2 Then Monta_Etiqueta() EndIf
Do_It!
ClearAll

ImpriArq(Arquivo)

Sleep 700
Deleta_Arquivo(Arquivo)
ClearAll
EndProc

Monta_Comandos()
Release Procs Monta_Etiqueta, Monta_Comandos
