Hola a todos.
Gracias por sus aportes.
Tenían razón algunos, parece que yo estaba pecando por exceso. En
realidad, no eran necesarios la mayoría de los SET (printer, device,
etc.) que yo estaba usando y ELLOS eran los que estaban causando el
problema.
Yo ya había probado con los ??? y el problema seguía. Repito. Solo
solucionó cuando quité todos los SETs a excepción del que direcciona a
la impresora de red.
Por si a alguien le interesa, el código final (que funciona) quedó
así:
FUNCTION ImprimeAPTR
LPARAMETERS tcLinea
LOCAL lcImpresora, lcSetPrinter, lcDevice
lcSetConsole = SET("Console")
SET CONSOLE OFF
lcImpresora = Thisform.cImpresoraAPTR
SET PRINTER TO NAME (lcImpresora)
*-- Configura la impresora
*??? CHR(15) && activa condensado
??? CHR(27) + CHR(108) + CHR(3) && activa margen izq a 3 columnas
*-- Imprime la línea y hace un retorno de carro
??? tcLinea + CHR(13) + CHR(10)
*-- Deja todo como estaba
??? CHR(27) + CHR(108) + CHR(0) && repone margen izq a 0 columnas
*??? CHR(18) && cancela condensado
SET PRINTER TO DEFAULT
SET CONSOLE &lcSetConsole
RETURN
---
Saludos solucionables
Ricardo De Castro Aquino
Asunción - Paraguay