FUNCTION Imprimir()
aOrdenado:= ORDENAR( aConsumo )
cComensal:= aOrdenado[1,12]
cCutter:= ""
FOR ww:= 1 TO LEN( aOrdenado )
cCutter:= aOrdenado[1,19]
IF cPtoAuxi != aOrdenado[ww,7]
IF lCierra
IF lFinal
// @ pRow()+1, 00 SAY chr(27)+"!"+ chr(8)
@ pRow()+2, 01 SAY "- - - - - - - - - - - - - - -"
IF ALLTRIM(aOrdenado[ww,19]) == "SI"
IF cMiniPrint == "E"
FOR nn:=1 TO 8
@ pRow()+1, 01 say ""
NEXT nn
@ pRow()+1, 00 SAY CHR(27) + CHR(109)
ELSE
@ pRow()+1, 00 SAY CHR(27)+ CHR(100) + CHR(49) // "d" + "0,48"
ENDIF
ELSE
FOR nn:=1 TO 6
@ pRow()+1, 01 say ""
NEXT nn
ENDIF
ENDIF
SET PRINTER TO
ENDIF
DBSelectArea( "GRUMEN" ); OrdSetFocus( "GRUPOMN1" )
DbSeek( aOrdenado[ww,8] )
cPuerto:= ALLTRIM( grumen->PRINTER32 )
cPuerto := aOrdenado[ww,7]
cPtoAuxi:= aOrdenado[ww,7]
nPrnn:= nPrnn + 1
cFileTmp:= "P"+ StrZero( HB_Random(99), 2 ) + ;
StrZero( HB_Random(99), 2 ) + ;
StrZero( HB_Random(998), 3 )
AADD( aFilesPrn, { cRutaExe + "Spool" + cFileTmp + ".PRN", ;
cPuerto, grumen->ACTIVAR, Left(grumen->NOMBRE,15) } )
SET PRINTER TO ( aFilesPrn[nPrnn,1] )
SET DEVICE TO PRINTER
@ pRow()+1, 00 SAY chr(27)+"!"+ chr(0) + "-------------------------------"
IF cMiniPrint == "E"
@ PRow()+1, 00 Say chr(27)+"!"+ Chr(48) + LEFT(aOrdenado[ww,9],7) + " MESA:"+ventas->MESA + chr(27)+ "!"+ chr(8)
ELSEIF cMiniPrint == "S" .OR. cMiniPrint == "O"
@ PRow()+1, 00 Say Chr(27)+"i" + Chr(1) + Chr(1) + "MESA: "+ventas->MESA + Chr(27)+"i" + Chr(0) + Chr(0)
ENDIF
@ pRow()+1, 00 SAY chr(27)+"!"+ chr(0) + "-------------------------------" + chr(27)+ "!"+ chr(8)
@ pRow()+1, 00 SAY "COMANDA: " + aOrdenado[ww,1] + " FOL: "+ AllTrim(Str(ventas->CUENTA,7)) // + " SILLA: " + aOrdenado[ww,8]
@ pRow()+1, 00 SAY "FECHA..: " + ventas->FECHA + " HORA : " + LEFT(TIME(),5)
@ pRow()+1, 00 SAY "CAJA...: " + cNumCajas + " TURNO: "+cNumTurno
@ pRow()+1, 00 SAY chr(27)+"!"+ chr(0) + "-------------------------------"
lCierra:= TRUE
lFinal := TRUE
IF !Empty( AllTrim(aOrdenado[ww,12]) )
@ PRow()+1,00 Say CHR(27)+CHR(33)+CHR(42)+ "SILLA: " + AllTrim( aOrdenado[ww,12] ) + chr(27)+ "!"+ chr(8)
ENDIF
ENDIF
DBSelectArea( "GRUMEN" ); OrdSetFocus( "GRUPOMN1" )
IF DbSeek( aOrdenado[ww,8] )
IF grumen->SEPCOMANDA == "S"
lCortalo:= TRUE
IF lSepara
@ pRow()+1, 00 SAY chr(27)+"!"+ chr(0) + "-------------------------------"
IF cMiniPrint == "E"
@ PRow()+1, 00 Say chr(27)+"!"+ chr(48)+ LEFT(aOrdenado[ww,9],7) + " MESA:"+ventas->MESA + chr(27)+ "!"+ chr(8)
IF !Empty( AllTrim( aOrdenado[ww,12] ) )
// @ PRow()+1,00 Say CHR(27)+CHR(33)+CHR(42)+ "SILLA: " + AllTrim( aOrdenado[ww,12] ) + + chr(27)+"!"+Chr(3)
ENDIF
ELSEIF cMiniPrint == "S"
@ PRow()+1, 00 Say chr(27)+"!"+ Chr(48) + "MESA: "+ventas->MESA + Chr(27)+"i" + Chr(0) + Chr(0)
ENDIF
@ pRow()+1, 00 SAY chr(27)+"!"+ chr(0) + "-------------------------------" + chr(27)+ "!"+ chr(8)
@ pRow()+1, 00 SAY "COMANDA: " + aOrdenado[ww,1] + " FOL: "+ AllTrim(Str(ventas->CUENTA,7)) // + " SILLA: " + aOrdenado[ww,8]
@ pRow()+1, 00 SAY "FECHA..: " + ventas->FECHA + " HORA : " + LEFT(TIME(),5)
@ pRow()+1, 00 SAY "CAJA...: " + cNumCajas + " TURNO: "+cNumTurno
@ pRow()+1, 00 SAY chr(27)+"!"+ chr(0) + "-------------------------------"
ENDIF
ENDIF
ENDIF
IF cComensal != aOrdenado[ww,12]
@ PRow()+1,00 Say CHR(27)+CHR(33)+CHR(42)+ "SILLA: " + AllTrim( aOrdenado[ww,12] ) + chr(27)+ "!"+ chr(8)
cComensal:= aOrdenado[ww,12]
ENDIF
IF aOrdenado[ww,17] == "S"
IF aOrdenado[ww,2] == 0.5
@ pRow()+1,00 say "MITAD"
ELSE
@ pRow()+1,00 say aOrdenado[ww,2] PICT '999.99'
ENDIF
ELSE
@ pRow()+1, 00 Say aOrdenado[ww,2] PICT '999.99'
ENDIF
IF aOrdenado[ww,17] == "S"
IF !EMPTY( aOrdenado[ww,5] )
@ pRow(), 07 say "-" + AllTrim(aOrdenado[ww,3]) + "/ " + AllTrim(aOrdenado[ww,5])
IF !EMPTY( aOrdenado[ww,6] )
@ pRow()+1, 07 SAY AllTrim(aOrdenado[ww,6])
ENDIF
ELSE
@ pRow(),07 say "-" + AllTrim(aOrdenado[ww,3])
ENDIF
ELSE
IF cMiniPrint == "E"
@ pRow(), 07 say AllTrim(aOrdenado[ww,3])
IF !EMPTY( AllTrim(aOrdenado[ww,4]) )
@ pRow()+1, 07 SAY AllTrim(aOrdenado[ww,4])
ENDIF
IF !EMPTY( aOrdenado[ww,5] )
@ pRow()+1, 07 SAY AllTrim(aOrdenado[ww,5])
ENDIF
IF !EMPTY( aOrdenado[ww,6] )
@ pRow()+1, 07 SAY AllTrim(aOrdenado[ww,6])
ENDIF
ELSEIF cMiniPrint == "S"
@ pRow(),07 say AllTrim(aOrdenado[ww,3])
IF !EMPTY( aOrdenado[ww,5] )
@ pRow()+1, 07 SAY AllTrim(aOrdenado[ww,5])
ENDIF
IF !EMPTY( aOrdenado[ww,6] )
@ pRow()+1, 07 SAY AllTrim(aOrdenado[ww,6])
ENDIF
ELSEIF cMiniPrint == "O"
@ pRow(),07 say AllTrim(aOrdenado[ww,3])
IF !EMPTY( aOrdenado[ww,5] )
@ pRow()+1, 07 SAY AllTrim(aOrdenado[ww,5])
ENDIF
IF !EMPTY( aOrdenado[ww,6] )
@ pRow()+1, 07 SAY AllTrim(aOrdenado[ww,6])
ENDIF
ENDIF
ENDIF
// @ pRow()+1, 08 SAY aOrdenado[ww,12] + " " + aOrdenado[ww,18] PICT '@!'
// @ pRow()+1, 08 SAY aOrdenado[ww,12] + " " + aOrdenado[ww,18] PICT '@!'
// IF !Empty( aOrdenado[ww,12] )
// @ pRow()+1, 08 SAY aOrdenado[ww,12] PICT '@!'
// ENDIF
IF lCortalo
IF ww != LEN( aOrdenado )
@ pRow()+2, 01 SAY "- - - - - - - - - - - - - - -"
IF ALLTRIM(aOrdenado[ww,19]) == "SI"
IF cMiniPrint == "E"
FOR nn:=1 TO 8
@ pRow()+1, 01 say ""
NEXT nn
@ PRow()+1,00 SAY CHR(27) + CHR(109)
ELSE
@ pRow()+1, 00 SAY CHR(27)+ CHR(100) + CHR(49) // "d" + "0,48"
ENDIF
ENDIF
ENDIF
lCortalo:= FALSE
lSepara := TRUE
lFinal := FALSE
ENDIF
NEXT
IF ALLTRIM(cCutter) == "SI"
IF cMiniPrint == "E"
FOR nn:=1 TO 8
@ pRow()+1, 01 say ""
NEXT nn
@ PRow()+1,00 SAY CHR(27) + CHR(109)
ELSE
@ pRow()+1, 00 SAY CHR(27)+ CHR(100) + CHR(49) // "d" + "0,48"
ENDIF
ELSE
FOR nn:=1 TO 6
@ pRow()+1, 01 say ""
NEXT nn
@ pRow()+1, 01 SAY "- - - - - - - - - - - - - - -"
ENDIF
SET PRINTER OFF
SET PRINTER TO
FOR ww:= 1 TO LEN( aFilesPrn )
IF aFilesPrn[ww,3] == "S"
PrintFileRaw( aFilesPrn[ww,2], ;
aFilesPrn[ww,1], ;
"MESA: " + ventas->MESA + " " + aOrdenado[ww,9] + ;
aFilesPrn[ww,4] )
ENDIF
NEXT
SET DEVICE TO SCREEN
SET CONSOLE ON
oWait:Close()