VFPDosPrint: uso de funciones definidas por el usuario

139 views
Skip to first unread message

ArturoPC

unread,
Feb 7, 2018, 5:46:48 AM2/7/18
to Comunidad de Visual Foxpro en Español
Buenos días.

Como les comenté días atrás, estoy haciendo unas actualizaciones a un sistema que no es mío y está en VFP7. El sistema en sí no lo he tocado y todos los cambios (básicamente en reportes) son externos.

Ahora, me topé con estos archivos FMT que no conocía y ya investigué un poco y he podido avanzar, pero me encuentro con un problema.

Hay un dato que debo imprimir con un formato específico. Dicho formato lo tengo en una función definida por el usuario en un EXE separado de la aplicación. Funciona perfecto en los FRX pero en los FMT no.

El archivo FMT tiene esta sección:

<macros>
LETRA=M.NULETRA
FACTURA=M.NUFactura
FECHALETRA=M.FELETRA
CLIENTE=prFormato(m.DSCliente)
RUC=alltr(substr(m.RucCLiente,1,11))
TOTAL=TRANSFORM(M.IMTOTAL,'99,999.99')
</macros>

La línea en rojo se imprime como si fuera una constante, o sea, en vez de imprimir el nombre del cliente con el arreglo, imprime literalmente "prFormato(m.DSCliente"

Bueno, agradecería me indiquen cómo podría hacer que trabaje como se necesita, he leído la documentación y no veo el modo.

Gracias.

ArturoPC.

arielonix-FIBERTEL

unread,
Feb 7, 2018, 2:16:50 PM2/7/18
to Comunidad de Visual Foxpro en Español
Si no me equivoco,  el programa DOSPRINT fue creado por Victor Espina, y es excelente.  De hecho, al día de hoy lo sigo usando para los clientes que necesitan imprimir en impresoras matriciales. Deberías consultarlo a Victor, me parece a mí, por cualquier duda
 

 

 

Desde ya, muchas gracias y saludos

Ariel Sznaiderberg

15-4-423-3247

4-958-0763 / 2072

Sistemas Zeppelin

E-mail Servicio Técnico .: win...@gmail.com

Teléfonos Técnicos …….: 15-3-206-0860 /  15-3-619-5222 / 15-3-206-0870

E-mail Gerencial………… .:  sistemas...@gmail.com

 

WinOnix Computación

Victor Espina

unread,
Feb 20, 2018, 5:15:52 PM2/20/18
to Comunidad de Visual Foxpro en Español
Eso sucede cuando la expresión asociada a la macro no puede ser evaluada.   Indicas que la función prFormato esta ubicada en un EXE externo, por lo que dado que VDP corre desde un APP, pudieras tener problemas de scope.  Una solucion podria ser crear una función dentro de tu programa principal (que es la que usarías para asignar el valor a la macro) y desde ahi invocar a prFormato. 

Victor Espina
Reply all
Reply to author
Forward
0 new messages