PDA

Ver la Versión Completa : ¿Cómo saber cuanto queda de una página?


zsolari
20/10/06, 14:57:39
Hola,

estoy haciendo un formulario sapscript y tengo una duda.

Dicho formulario imprime órdenes de mantenimiento de la siguiente forma:
Se imprime la cabecera de la orden
A continuación todos sus objetos(operaciones, materiales, mafs etc)

Una orden puede tener n operaciones, n materiales, n mafs... pero necesito que, si una misma orden se imprime en distintas páginas, se escriba en ellas: " continua en la pág. siguiente>> y "<< continuación de la orden anterior" según corresponda.
Entonces lo ideal sería saber de una forma simple cuando hemos llegado al final de la página y entonces, si corresponde, imprimir un elemento de texto situado en una ventana al pie de la MAIN que escriba eso.

Porque si no hay nada ¿qué me queda?: Saber cuantas líneas caben en una página e ir contándolas en el programa de impresión según las imprimo, para saber cuando llego al final de la página. Eso puede ser complejo teniendo en cuenta que tengo 2 tamaños de letra distintos(distinta altura) y uno de los formatos de párrafo tiene interlineado distinto a los demás(¡habría que contar cuanto miden!. Además si más adelante se cambia el tamaño de la letra, la altura de la ventana ó el interlineado el nº de líneas que cabría en una página, sería distinto...

En fin, ojalá a alguno de vosotros os se ocurra una forma más simple. Oslo agradecería

Saludos

NOTA: Creo que no me sirve el PROTECT ...ENPROTECT porque todo no está en el mismo elemento de texto porque para una orden hay que imprimir x materiales, y operaciones, z mafs...y creo que PROTECT ENDPROTECT sólo se puede poner dentro de un mismo elemento de texto del formulario. Además una orden podría ocupar más de una página

Hersap
07/11/06, 20:25:12
Hola ZSolari

Segun entiendo tu tienes sapscript con una pagina FIRST con un monton de ventanas que las imprimes conjuntamente con la ventana de detalle de tu formulario (la ventana main) una vez que este detalle supera el tamaño de la primera pagina quieres que continue en la segunda pagina con una ventana donde aparezca un texto que diga "continuación de la orden anterior"

Lo que deberias hacer es lo siguiente:

1) Crear una Pagina nueva Ej: NEXT donde se escribirian las ventanas que necesitas como encabezado de la pagina siguiente en adelante ademas de la main que ya vendría por defecto.
2) En la pagina NEXT deberías eliminar las ventanas que contengan datos que no necesitas que se impriman en ella por ejemplo logos u otro tipo de información.
3) Deberías incluir una nueva ventana donde alojarías el texto "continuación de la orden anterior" y los demas datos que necesitas se vean a partir de la segunda pagina.
4) A la primera pagina le deberías indicar que su NEXT PAGE es la pagina nueva que creaste Ej: NEXT
5) A la pagina NEXT le deberias indicar que su next page es ella misma por ejemplo en este caso es la pagina de nombre NEXT.

Con esto lograrias el efecto de que si situas la ventana nueva que creaste en el punto 3 sobre la posicion de la ventana MAIN (de detalle) esta imprimiria el texto continuacion de la orden anterior antes de continuar con la impresion de los datos de la ventana main.

Espero te sirvan estos datos.....Salu2 :D