Representación de un plano

Ante todo mis agradecimientos por su tiempo.
Tengo k representar la situación actual de el contenido de un almacén (contenido de los 'pallets' del mismo) de 30x8 habitaculos. Se me plantea el problema de cómo representarlo mediante un DataWindow, puesto que no conozco forma de mostrarlos en forma de 'tabla'. Así que, de momento, tengo en una ventana 30 datawindows, cada uno de ellos representa una columna de 8 habitaculos del almacén. Supongo que éste método es muy ineficiente, por eso le pregunto qué sistema utilizaría usted y cómo implementarlo.
En una tabla de la BD tengo las coordenadas (x, y, z) y el ID del pallet (clave ajena, posteriormente obtengo el contenido del mismo).

1 respuesta

Respuesta
1
No entiendo bien que es lo que estas representando.
¿Tenes 30 pallets? ¿Cada uno a su vez tiene 8 filas?
¿Cada dw tiene una sola fila?
Si cada dw tiene una sola fila podes usar una dw NUP.
Yo hice una de muestra. Importala y fijate si te sirve como guia.
----
Guarda lo que sigue como "d_pallet.srd" e importalo.
$PBExportHeader$d_pallets.srd
release 9;
datawindow(units=0 timer_interval=0 color=12632256 processing=0 HTMLDW=no print.printername="" 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.canusedefaultprinter=yes print.prompt=no print.buttons=no print.preview.buttons=no print.cliptext=no print.overrideprintjob=no print.collate=yes hidegrayline=no rows_per_detail = 10 )
header(height=96 color="536870912" )
summary(height=0 color="536870912" )
footer(height=0 color="536870912" )
detail(height=220 color="536870912" )
table(column=(type=number updatewhereclause=yes name=palet dbname="palet" )
column=(type=number updatewhereclause=yes name=cantidad dbname="cantidad" )
)
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="18" y="16" height="64" width="219" html.valueishtml="0" name=palet_t_1 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="256" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_1 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="517" y="16" height="64" width="219" html.valueishtml="0" name=palet_t_2 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="754" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_2 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="1010" y="16" height="64" width="219" html.valueishtml="0" name=palet_t_3 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="1248" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_3 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="1509" y="16" height="64" width="219" html.valueishtml="0" name=palet_t_4 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="1746" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_4 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="2007" y="16" height="64" width="219" html.valueishtml="0" name=palet_t_5 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="2245" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_5 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="2505" y="16" height="64" width="215" html.valueishtml="0" name=palet_t_6 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="2738" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_6 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="2999" y="16" height="64" width="219" html.valueishtml="0" name=palet_t_7 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="3237" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_7 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="3497" y="16" height="64" width="219" html.valueishtml="0" name=palet_t_8 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="3735" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_8 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="3995" y="16" height="64" width="219" html.valueishtml="0" name=palet_t_9 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="4233" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_9 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Palet" border="0" color="33554432" x="4489" y="16" height="64" width="219" html.valueishtml="0" name=palet_t_10 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
text(band=header alignment="2" text="Cantidad" border="0" color="33554432" x="4727" y="16" height="64" width="224" html.valueishtml="0" name=cantidad_t_10 visible="1" font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="1" background.color="536870912" )
column(band=detail id=1 alignment="1" tabsequence=10 border="5" color="33554432" x="37" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=1 name=palet_1 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=1 alignment="1" tabsequence=30 border="5" color="33554432" x="302" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=2 name=palet_2 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=1 alignment="1" tabsequence=50 border="5" color="33554432" x="567" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=3 name=palet_3 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=1 alignment="1" tabsequence=70 border="5" color="33554432" x="832" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=4 name=palet_4 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=1 alignment="1" tabsequence=90 border="5" color="33554432" x="1097" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=5 name=palet_5 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=1 alignment="1" tabsequence=110 border="5" color="33554432" x="1362" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=6 name=palet_6 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=1 alignment="1" tabsequence=130 border="5" color="33554432" x="1627" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=7 name=palet_7 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=1 alignment="1" tabsequence=150 border="5" color="33554432" x="1893" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=8 name=palet_8 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=1 alignment="1" tabsequence=170 border="5" color="33554432" x="2158" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=9 name=palet_9 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=1 alignment="1" tabsequence=190 border="5" color="33554432" x="2423" y="20" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=10 name=palet_10 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=20 border="5" color="33554432" x="37" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=1 name=cantidad_1 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=40 border="5" color="33554432" x="302" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=2 name=cantidad_2 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=60 border="5" color="33554432" x="567" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=3 name=cantidad_3 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=80 border="5" color="33554432" x="832" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=4 name=cantidad_4 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=100 border="5" color="33554432" x="1097" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=5 name=cantidad_5 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=120 border="5" color="33554432" x="1362" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=6 name=cantidad_6 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=140 border="5" color="33554432" x="1627" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=7 name=cantidad_7 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=160 border="5" color="33554432" x="1893" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=8 name=cantidad_8 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=180 border="5" color="33554432" x="2158" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=9 name=cantidad_9 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
column(band=detail id=2 alignment="1" tabsequence=200 border="5" color="33554432" x="2423" y="120" height="76" width="219" format="[general]" html.valueishtml="0" row_in_detail=10 name=cantidad_10 visible="1" edit.limit=0 edit.case=any edit.autoselect=yes edit.autohscroll=yes edit.imemode=0 font.face="Arial" font.height="-10" font.weight="400" font.family="2" font.pitch="2" font.charset="0" background.mode="2" background.color="15793151" )
htmltable(border="1" )
htmlgen(clientevents="1" clientvalidation="1" clientcomputedfields="1" clientformatting="0" clientscriptable="0" generatejavascript="1" encodeselflinkargs="1" netscapelayers="0" )
export.xml(headgroups="1" includewhitespace="0" metadatatype=0 savemetadata=0 )
import.xml()
export.pdf(method=0 distill.custompostscript="0" xslfop.print="0" )
------
A ver, más o menos el plano sería uno como si fuera una tabla, donde cada cuadrado es la representación de un pallet. En total hay 666 pallets que tengo que representar en el plano. Realmente son 3 pisos, con 222 pallets cada piso, pero tengo que hacerlo que se vea de un solo vistazo (sin escoger piso, ni nada).
Esto lo consigo de esta forma:
Para cada x e y (ej: x=1 y=1) tengo 3 pallets (correspondientes a z=1,2 y 3)
quedando asi...
representacion: coordenadas(x,y,z)
-----------------
|(1,1,1)|(2,1,1)| ...
-----------------
|(1,1,2)|(2,1,2)| ...
-----------------
|(1,1,3)|(2,1,3)| ...
-----------------
|(1,2,1)|(2,2,1)| ...
-----------------
|(1,2,2)|(2,2,2)| ...
-----------------
|(1,2,3)|(2,2,3)| ...
-----------------
... ...
Así en un cuadrado que al final contiene un tamaño de (30x24 - El almacen no es exactamente cuadrado, pero luego lo arreglo yo)
Cada cuadrado tiene que ser un registro del DW que simplemente contiene una abreviatura con el contenido del mismo(por ejemplo, si tiene patatas, pos pone PATAT). Lo importante es la interactividad del mismo (obtener info extendida del pallet, drag&drop...)
Actualmente, lo tengo representado de la siguiente forma:
30 DW, cada uno equivale a un valor de coordenadas X. Cada DW obtiene todos los registros que tienen la misma coordenada X (ej: x=1) y los ordeno de forma que aparezcan de la misma forma que en el gráfico que te he explicado antes.
Esto es un poco incomodo pues cada variacion que haga tengo que aplicarla a los 30 DW, y es muy repetitivo. Por eso buscaba la forma de poder hacerlo como si fuera una tabla. O, a malas, si pudiera cambiar la orientación en la que los DW muestran los registros (en vez de arriba a abajo, de izquierda a derecha) solamente necesitaria 8 DW, lo cual es una mejora ;)
Pero si consiguiera hacerlo en un solo DW seria ya genial! jeje
De todas formas, mñn veré lo que me has puesto a ver si me sirve.
Espero que con esta 'corta' explicacion, entiendas mejor el problema.
Muchas gracias por tu tiempo. Un abrazo!
La verdad es que resulta dificil interpretar bien en base a lo que me decis. Interpreto el problema pero me cuesta visualizar tu solución como para poder hacer sugerencias. De todos modos aca van.
1. Las 30 dw deberian tener el mismo dataobject.
2. Las 30 dw deberían tener un ancestro (un userobject dw con toda la funcionalidad necesaria) en comun para que los cambios que hagas solo los tengas que hacer en un solo lugar.
3. ¿No podes tener botones en vez de dw? Al clickear un boton mostras mas info.
4. La dw que te mande antes permite representar filas en forma de columnas (nup) tal vez pueda ayudarte. Esto seria mostrar registros de izquierda a derecha.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas