jueves, 14 de febrero de 2013

PeopleCode: Imprimir toda una página

Imprimir toda una página es más fácil...

Agrega un botón a tu página, asócialo a un derived y un campo que sea de 25 caracteres como mínimo de tipo MIXED.

En las propiedades del botón en Destination le pones External Link y en el cuadro de external link (el que se habilita) le pones dinámico.

Después en el FieldDefault del campo asociado al botón le pones:

TuDerived.TuCampo.value = "javascript:window.print()"
Y listo....

Adicional y si requieres que no imprima el menú  e incluso el mismo botón que lo mandó a imprimir, tendrías que hacer:

En las propiedades del botón, en la pestaña de General, en donde dice "Page Field Name" le pones algún nombre específico, como: BOTON_IMPRIME

Luego, en tu página tienes que agregar un HTML de tipo constante, y en el rowinit le pones este código:

TuDerived.TuCampoHTML.value = "<style type=""text/css"">@media print {body { zoom:75%;} #PAGEBAR, .PSHEADERTOOLBARFRAME, #BOTON_IMPRIME { display: none }}</style>";
Con esto estás controlando el zoom al momento de imprimir y las secciones que no quieres que aparezcan. Puedes nombrar tantos campos de tu pantalla como quieras, para luego decirle que no aprezcan en la impresión, anteponiendo el "#" como en la línea de arriba: #BOTON_IMPRIME { display: none }

Tanto el botón como el HTML deben de estar al nivel 0

Espero les sea de utilidad.

Translate