Power Builder - Imprimir reporte de dw Insertando Objetos

 
Vista:
sin imagen de perfil

Imprimir reporte de dw Insertando Objetos

Publicado por Shirus (144 intervenciones) el 14/03/2011 02:23:20
Buen día y gracias por la ayuda.

Otra opción que estaba viendo para poder crear un odontograma era la posibilidad de pueda trabajar con un standar Custon Visual donde sibujo el diente represnetado por una cruz con statictext luego instanciarlos y que interactue con algunos datawindows.

Todo bien hasta ahi, pero el problema viene cuando quiero mprimir un reporte de un datawindow donde esta los datos de un paciente, seguidamente deberia ser el odontograma que son objetos, y luego otro datawindow donde esta el presupuesto.

Creo que tendre problemas al momento de imprimir el odontograma, ya que no pertenecerá a una sola impresion tendria q hacer dos veces una donde imprimo el los datawindows y otra donde imprimo el odontograma solo.

Alguna idea a esta otra alternativa?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Imprimir reporte de dw Insertando Objetos

Publicado por JeinnerH (646 intervenciones) el 14/03/2011 23:58:43
Compañero, aquí te dejo una idea.

Cada diente tiene los siguientes campos en la tabla d1_1, d1_2, d1_3, d1_4, d1_5, diente 1 cara 1, hasta la 5. Son un montón de campos, pero es más fácil manejarlo de esta forma para que al desplegar o salvar la información sea más simple. Incluso para la impresión. Aquí te dejo un ejemplo pequeño, utilicé un freeform external, pero debieras utilizar un freeform external, pero sobre un sql Select.

Exportalo y le haces un browse, luego insertas un registro, para que lo puedas ver.

$PBExportHeader$d_prueba.srd
release 6;
datawindow(units=0 timer_interval=0 color=16777215 processing=0 print.documentname="" print.orientation = 0 print.margin.left = 110 print.margin.right = 110 print.margin.top = 96 print.margin.bottom = 96 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no )
summary(height=0 color="536870912" )
footer(height=0 color="536870912" )
detail(height=184 color="536870912" )
table(column=(type=number updatewhereclause=yes name=d1_1 dbname="d1_1" values=" 1/ 0" )
column=(type=number updatewhereclause=yes name=d1_2 dbname="d1_2" values=" 1/ 0" )
column=(type=number updatewhereclause=yes name=d1_3 dbname="d1_3" values=" 1/ 0" )
column=(type=number updatewhereclause=yes name=d1_4 dbname="d1_4" values=" 1/ 0" )
column=(type=number updatewhereclause=yes name=d1_5 dbname="d1_5" values=" 1/ 0" )
)
roundrectangle(band=detail ellipseheight="36" ellipsewidth="41"x="96" y="0" height="176" width="201" brush.hatch="7" brush.color="553648127" pen.style="0" pen.width="5" pen.color="12632256" background.mode="2" background.color="0" )
column(band=detail id=1 alignment="1" tabsequence=10 border="0" color="0" x="165" y="4" height="52" width="59" format="[general]" name=d1_1 checkbox.text="" checkbox.on="1" checkbox.off="0" checkbox.scale=no checkbox.threed=no font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="553648127" )
column(band=detail id=3 alignment="1" tabsequence=30 border="0" color="0" x="165" y="116" height="52" width="59" format="[general]" name=d1_3 checkbox.text="" checkbox.on="1" checkbox.off="0" checkbox.scale=no checkbox.threed=no font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=4 alignment="1" tabsequence=40 border="0" color="0" x="101" y="60" height="52" width="59" format="[general]" name=d1_4 checkbox.text="" checkbox.on="1" checkbox.off="0" checkbox.scale=no checkbox.threed=no font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=5 alignment="1" tabsequence=50 border="0" color="0" x="165" y="60" height="52" width="59" format="[general]" name=d1_5 checkbox.text="" checkbox.on="1" checkbox.off="0" checkbox.scale=no checkbox.threed=no font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=2 alignment="1" tabsequence=20 border="0" color="0" x="229" y="60" height="52" width="59" format="[general]" name=d1_2 checkbox.text="" checkbox.on="1" checkbox.off="0" checkbox.scale=no checkbox.threed=no font.face="Arial" font.height="-8" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
htmltable(border="1" cellpadding="0" cellspacing="0" generatecss="no" nowrap="yes")
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Imprimir reporte de dw Insertando Objetos

Publicado por JeinnerH (646 intervenciones) el 15/03/2011 00:14:08
Hay otras opciones que se me ocurren, pero són más complicadas. Por ejemplo, utilizas una imagen de una dentadura y sobre cada diente, utilizas campos de texto. Si detectas un click sobre cada campo de texto, lo cambias a un check. Utilizando el tipo de letra Wingdigins (debes buscar los caracteres correspondientes). Pero esto significaría que habría que hacer lógica para asignar los valores cada vez que se recupera o almacena la información. Claro, quedaría muy bien, pero como te dije en la otra respuesta, es mejor no complicarse.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Imprimir reporte de dw Insertando Objetos

Publicado por Shirus (144 intervenciones) el 15/03/2011 00:24:47
Si JeinnerH, a mi también se me acurrieron muchas cosas, hasta hacer algo en flash, pero como tu dices me voy a complicar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Imprimir reporte de dw Insertando Objetos

Publicado por shirus (144 intervenciones) el 15/03/2011 00:33:59
Pregunta:

He creado un datawindow freeform, lo exporte y veo muy parecido a lo que me mandas, pero ahora como hago para la recuperación de los datos? y para la actualización?

Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 37
Ha mantenido su posición en Power Builder (en relación al último mes)
Gráfica de Power Builder

Imprimir reporte de dw Insertando Objetos

Publicado por JeinnerH (646 intervenciones) el 15/03/2011 18:27:46
Ok. Lo que debes hacer es en lugar de utilizar un External, usas un SQLSelect. Creas los campos en la BD como te lo indiqué, por ejemplo: Diente1_C1, Diente1_C2

Y esos campos son los que utilizas para hacer la cruz. Entonces, cuando se recupere el registro correspondiente a una dentadura, por defecto ya quedaría marcada la información. Y al salvar la información igualmente ya quedaría todo listo. El inconveniente es que cada registro de dentadura tiene un montón de campos, pero es la forma más sencilla, me parece.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar