lPortaArg = 4
lTabArg = "TMP_IMPRIMIR"

DECLARE integer A_CreatePrn in WINPPLA.DLL integer,string 
DECLARE integer A_CreateUSBPort in WINPPLA.DLL integer
DECLARE INTEGER A_GetUSBBufferLen IN WINPPLA.DLL
DECLARE INTEGER A_EnumUSB IN WINPPLA.DLL INTEGER
DECLARE integer A_Prn_Text_TrueType in WINPPLA.DLL integer,integer,integer,string,integer,integer,integer,integer,integer,string,string,integer
DECLARE integer A_Prn_Text in WINPPLA.DLL integer,integer,integer,integer,integer,integer,integer,short,integer,string
DECLARE integer A_Prn_Barcode in WINPPLA.DLL integer,integer,integer,short,integer,integer,integer,short,integer,string
DECLARE integer A_Get_Graphic in WINPPLA.DLL integer,integer,integer,short,string
DECLARE integer A_Set_Darkness in WINPPLA.DLL integer
DECLARE integer A_Print_Out in WINPPLA.DLL integer,integer,integer,integer
DECLARE A_ClosePrn in WINPPLA.DLL 

*cUsb = A_GetUSBBufferLen()

*A_CreateUSBPort(1)

IF MESSAGEBOX("Deseja Imprimir Tipo 1 ",292,"Aviso") = 6

SELECT &lTabArg
GO TOP IN &lTabArg
DO WHILE ! EOF(lTabArg)

   *A_CreatePrn(lPortaArg,"PPLA.prn")
   *cUsb = A_GetUSBBufferLen()
   A_CreateUSBPort(1)
   A_Set_Darkness(12)
   cCodBar1 = TMP_IMPRIMIR.CODIGO
   nSelect = "SELECT CODIGO,PRECO2 FROM Tslc003 WHERE CODBAR = ?cCodBar1 "
   TSEXEC("T",nSelect,"TMP_COD")
   cCodProd = TMP_COD.CODIGO

   cTextoAG1 = SUBSTR(&lTabArg..DESC,1,19)
   cTextoAG2 = SUBSTR(&lTabArg..DESC,20,19)

   cBarA1 = SUBSTR(&lTabArg..CODIGO,4,13)

   A_Prn_Barcode(5,150,1,68,0,0,20,98,1,cBarA1) && CDIGO DE BARRAS 98

   A_Prn_Text_TrueType(5,130,25,"Arial",1,400,0,0,0,"A2",cTextoAG1,1) && DECRIO 01

   cTextoAG1A = "R$: " + TRANSFORM(&lTabArg..PRECO1,"999,999.99")

   A_Prn_Text_TrueType(5,115,25,"Arial",1,400,0,0,0,"A3",cTextoAG2,1) && DECRIO 02

   A_Prn_Text_TrueType(25,70,35,"Arial",1,400,0,0,0,"A4",cTextoAG1A,1) && vALOR

   cTextoAG1B =  "R$: " + TRANSFORM(&lTabArg..PRECO1,"999,999.99")

   A_Prn_Barcode(5,20,1,68,0,0,20,98,1,cBarA1) && CDIGO DE BARRAS 98

   A_Prn_Text_TrueType(25,05,25,"Arial",1,400,0,0,0,"A5",cTextoAG1B,1) && vALOR
   
   *IF VAL(&lTabArg..CODIGO) < 99999999


   *endif
   
   SKIP IN &lTabArg
   IF ! EOF(lTabArg)
      cCodBar1 = TMP_IMPRIMIR.CODIGO
      nSelect = "SELECT CODIGO,preco2 FROM Tslc003 WHERE CODBAR = ?cCodBar1 "
      TSEXEC("T",nSelect,"TMP_COD")
      cCodProd = TMP_COD.CODIGO
      nSelect = "SELECT * FROM Tslc049b WHERE ?cCodProd = SEQ003 AND SEQ049 = 1 "
      TSEXEC("T",nSelect,"TMP_PRECO")

      cTextoAG1 = SUBSTR(&lTabArg..DESC,1,19)
      cTextoAG2 = SUBSTR(&lTabArg..DESC,20,19)


      cBarA1 = SUBSTR(&lTabArg..CODIGO,4,13)

      A_Prn_Barcode(140,150,1,68,0,0,20,98,1,cBarA1) && CDIGO DE BARRAS 98

      A_Prn_Text_TrueType(140,130,25,"Arial",1,400,0,0,0,"A2",cTextoAG1,1) && DECRIO 01

      cTextoAG1A = "R$: " + TRANSFORM(&lTabArg..PRECO1,"999,999.99")

      A_Prn_Text_TrueType(140,115,25,"Arial",1,400,0,0,0,"A3",cTextoAG2,1) && DECRIO 02
 
      A_Prn_Text_TrueType(165,70,35,"Arial",1,400,0,0,0,"A4",cTextoAG1A,1) && vALOR

      cTextoAG1B =  "R$: " + TRANSFORM(&lTabArg..PRECO1,"999,999.99")

      A_Prn_Barcode(140,20,1,68,0,0,20,98,1,cBarA1) && CDIGO DE BARRAS 98

      A_Prn_Text_TrueType(165,05,25,"Arial",1,400,0,0,0,"A5",cTextoAG1B,1) && vALOR
      
   ENDIF
  

   SKIP IN &lTabArg
   IF ! EOF(lTabArg)
      cCodBar1 = TMP_IMPRIMIR.CODIGO
      nSelect = "SELECT CODIGO,preco2 FROM Tslc003 WHERE CODBAR = ?cCodBar1 "
      TSEXEC("T",nSelect,"TMP_COD")
      cCodProd = TMP_COD.CODIGO
      nSelect = "SELECT * FROM Tslc049b WHERE ?cCodProd = SEQ003 AND SEQ049 = 1 "
      TSEXEC("T",nSelect,"TMP_PRECO")

      cTextoAG1 = SUBSTR(&lTabArg..DESC,1,19)
      cTextoAG2 = SUBSTR(&lTabArg..DESC,20,19)

      cBarA1 = SUBSTR(&lTabArg..CODIGO,4,13)

      A_Prn_Barcode(275,150,1,68,0,0,20,98,1,cBarA1) && CDIGO DE BARRAS 98

      A_Prn_Text_TrueType(280,130,25,"Arial",1,400,0,0,0,"A2",cTextoAG1,1) && DECRIO 01

      cTextoAG1A = "R$: " + TRANSFORM(&lTabArg..PRECO1,"999,999.99")

      A_Prn_Text_TrueType(280,115,25,"Arial",1,400,0,0,0,"A3",cTextoAG2,1) && DECRIO 02
 
      A_Prn_Text_TrueType(295,70,35,"Arial",1,400,0,0,0,"A4",cTextoAG1A,1) && vALOR

      cTextoAG1B =  "R$: " + TRANSFORM(&lTabArg..PRECO1,"999,999.99")

      A_Prn_Barcode(275,20,1,68,0,0,20,98,1,cBarA1) && CDIGO DE BARRAS 98

      A_Prn_Text_TrueType(280,05,25,"Arial",1,400,0,0,0,"A5",cTextoAG1B,1) && vALOR
      
   ENDIF
     
   A_Print_Out(1,1,1,1)
   =A_ClosePrn()
   
   IF ! EOF(lTabArg)
      SKIP IN &lTabArg
   ENDIF
   LOOP
   
ENDDO

ELSE

SELECT &lTabArg
GO TOP IN &lTabArg
DO WHILE ! EOF(lTabArg)

   *A_CreatePrn(lPortaArg,"PPLA.prn")
   *cUsb = A_GetUSBBufferLen()
   A_CreateUSBPort(1)
   A_Set_Darkness(12)
   cCodBar1 = TMP_IMPRIMIR.CODIGO
   nSelect = "SELECT CODIGO,PRECO2 FROM Tslc003 WHERE CODBAR = ?cCodBar1 "
   TSEXEC("T",nSelect,"TMP_COD")
   cCodProd = TMP_COD.CODIGO

   cTextoAG1 = SUBSTR(&lTabArg..DESC,1,19)
   cTextoAG2 = SUBSTR(&lTabArg..DESC,20,19)

   cBarA1 = SUBSTR(&lTabArg..CODIGO,4,13)

   *A_Prn_Barcode(5,150,1,68,0,0,20,98,1,cBarA1) && CDIGO DE BARRAS 98

   A_Prn_Text_TrueType(15,60,20,"Arial",1,400,0,0,0,"A2",cTextoAG1,1) && DECRIO 01

   *cTextoAG1A = "R$: " + TRANSFORM(&lTabArg..PRECO1,"999,999.99")

   A_Prn_Text_TrueType(15,50,20,"Arial",1,400,0,0,0,"A3",cTextoAG2,1) && DECRIO 02

   *A_Prn_Text_TrueType(25,20,35,"Arial",1,400,0,0,0,"A4",cTextoAG1A,1) && vALOR

   cTextoAG1B =  "R$: " + TRANSFORM(&lTabArg..PRECO1,"999,999.99")

   A_Prn_Barcode(15,20,1,68,0,0,20,98,1,cBarA1) && CDIGO DE BARRAS 98

   A_Prn_Text_TrueType(35,05,25,"Arial",1,400,0,0,0,"A5",cTextoAG1B,1) && vALOR
   
   *IF VAL(&lTabArg..CODIGO) < 99999999


   *endif

   A_Print_Out(1,1,1,1)
   =A_ClosePrn()
   
   IF ! EOF(lTabArg)
      SKIP IN &lTabArg
   ENDIF
   LOOP
   
ENDDO

ENDIF