Imprimir una macro y que salga la hoja después de la impresión
|
Cuando pulsa el botón "Imprimir" desde la carpeta RECETARIO, aparece la ventana desde donde se imprime casi todo. En esa ventana usted puede tener definidas macros que hagan varias cosas. Las macros constan de varias opciones de impresión y pueden tener uno o varios signos ">". Cada vez que Magisfor encuentra un signo > saca la hoja de la impresora.
¿Cómo imprime Magisfor? En el código Magisfor define 3 objetos "Printer" para imprimir desde esa ventana de impresión:
PRT(0): Es la impresora para los informes (todo lo que no son etiquetas) PRT(1): Es la impresora para imprimir las etiquetas (puede ser la misma que la que imprime los informes) PRT(2): Es por donde se imprime todo lo que se ve en la pantalla (tanto los informes en pantalla como las etiquetas se envían a la pantalla a través de este objeto).
Las impresoras
PRT(0) y PRT(1) son las dos primeras impresoras que hay
cuando va a:
Ejemplo: 2F7>34> Esta macro imprimirá:
2: Fórmula y M.O. F: Etiqueta para adjuntar o pegar en la receta 7: Facturación al Seguro >: Saldrá la hoja de la impresora 3: Prospecto para el paciente 4: Etiqueta para el frasco (la etiqueta que se imprime con la impresora de etiquetas general (ver Menú Configuración => Parámetros => Impresoras)) >: saldrá la segunda hoja de la impresora.
Esto hace tiempo funcionaba tal como se explica aquí, pero tenía un problema. Por ejemplo, esta macro: 4F>
4: Imprime la etiqueta del frasco F: Imprime la etiqueta para la receta >: Sale la hoja de la impresora
Si la impresora para las etiquetas PRT(1) es una impresora diferente a la impresora por donde se imprimen los informes PRT(0), se imprimirán las etiquetas por la impresora de etiquetas pero luego debido al signo > saldrá una hoja en blanco por la impresora de informes, sale en blanco porque en la macro no hay nada que imprimir por la impresora de informes. El signo > saca la hoja de la impresora de informes PRT(0) pero no la saca de la impresora de etiquetas PRT(1) (aunque ambas impresoras sean la misma, no saca la hoja por si es una impresora de etiquetas diferente a la de informes).
Para evitar este problema desde hace un tiempo Magisfor dejó de sacar una hoja en blanco siempre que antes del signo > hubiese una opción que imprime una etiqueta, esto produce un error porque no saldrá la hoja si la opción anterior al signo > de la macro se ha de imprimir por la impresora de etiquetas general. Es decir Magisfor saca la hoja si la opción anterior al signo > se ha enviado por el objeto PRT(0) pero no la saca si se ha enviado por el objeto PRT(1). Por supuesto nunca la saca cuando se envía por el objeto PRT(2) que es el que imprime en la pantalla.
Ejemplo: F3> (Imprime la etiqueta para la recetar, luego el prospecto para el paciente y luego saca la hoja de la impresora. 3F> (Imprime primero el prospecto para el paciente, luego la etiqueta para adjuntar con la receta pero luego no saca la hoja. Este es el error que ocurre hasta la versión 11.0.23 incluida. Tendrá que pulsar el botón "Sacar hoja" para que la hoja salga.
A partir de la versión 11.0.24:
Magisfor comprueba si la impresora de informes PRT(0) y la de etiquetas PRT(1) es la misma, y si es la misma, siempre saca la hoja cuando encuentra un signo > sin importar si está enviando la impresión por PRT(0) o por PRT(1). Esto no termina con el problema cuando PRT(0) y PRT(1) son diferentes. En este caso, de momento y hasta que se solucione el problema lo que debe hacer es situar siempre las opciones que imprimen los informes (las que van a la impresora PRT(0)) antes del signo >. Es decir, una opción para imprimir una etiqueta no debe estar en la macro delante del signo >. Ejemplos: 4F> (bien) F4> (mal) 27F>34> (muy mal, no saldrá nunca la hoja porque F es una etiqueta y 4 es otra etiqueta) 2F7>43> (bien, saldrá la una hoja después de la opción 7 y la siguiente después de la opción 3.
|