Lotus Approach - Panel de Repeticion

 
Vista:

Panel de Repeticion

Publicado por JotaPe (25 intervenciones) el 03/05/2006 00:02:08
Hola,
Alguien me puede ayudar como ingresar datos en un panel de repeticion desde otro campo. esto es para agregar telefonos sin que despues se puedan modificar los datos ya ingresados, digamos en en campo agregar pongo el num telef y automaticamente se crea en el campo telefono del panel de repeticion cada vez que ingreso en el campo agregar.
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

RE:Panel de Repeticion

Publicado por Ricardo Rodriguez (114 intervenciones) el 03/05/2006 06:30:08
Para crear un panel de repetición se debe tener al menos dos bases asociadas, se crea el panel de repetición y se incluye el o los campos que se quiere reflejar, en otra parte del formulario .APR se pone el o los campos que vamos a ir modificando (los mismos que van a estar en el panel de repetición que esten asociados) y se reflejaran en el panel.(ver ayuda de approach).

(sic.)

Bases de datos principales y detalladas

Al igual que un formulario con datos asociados, un panel de repetición debe contar con una base de datos principal, que es el punto de partida. La base de datos principal del panel de repetición debe ser una de las bases de datos detalladas del formulario.
Cada línea de un panel de repetición muestra un registro de su base de datos principal.
En los paneles de repetición puede insertar campos de otras bases de datos asociadas con información relacionada.

tentamente
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

RE:Panel de Repeticion

Publicado por Juan Pablo (25 intervenciones) el 04/05/2006 15:07:45
Gracias Ricardo por tu respuesta, pero en realidad el problema que tengo es que en un panel de repeticion ya creado nececito agregar datos desde un campo externo al panel.
Tengo un script que vi en un ejemplo que mas o menos es así

Dim RS1 As New ResultSet, Tbl1 As Table
Set Tbl1 = CurrentDocument.Tables(9)
Set RS1 = Tbl1.CreateResultSet
rs1.addrow
rs1.setvalue"mainid",111
rs1.setvalue"activity",[text1].text
rs1.setvalue"finacials",accnum$
rs1.setvalue"defrate",[text3].text
rs1.updaterow
Set rs1 = Nothing
Set tbl1 = Nothing
runapproachmacro("View - Activity List")
End Sub

todo este script se como hacerlo pero la parte Set Tbl1 = CurrentDocument.Tables(9) no entiendo como se le asigna el nombre al panel aqui en el ejemplo lo han llamado Tables(9) pero esto especificamente no lo se.
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

RE:Panel de Repeticion

Publicado por Ricardo Rodríuez (114 intervenciones) el 04/05/2006 21:49:09
Estoy empezando a estudiar tu "script", y noto que {CurrentDocument.Tables(9)} , básicamente "Tables(9)", si es el nombre que le dan al panel de repetición, entonces bajo esa premisa supongo que lo lógico es que debes irte al cuadro de propiedades y ver que nombre le asignaste a tu panel, abrir el editor darle doble click al panel para que te aparezca en "object", recordando que el nombre no debe tener espacios.

Bueno ésto por ahora, voy a montar una base para ver si encuentro tu lógica en la práctica.

Por otro lado sigo un tanto sin entender tanta complicación del campo externo, porque, por ejemplo si tengo una base con #s de tel y sus correspondientes datos y otra con otros datos relacionados, tomo el campo de la asociación y los que quiero que sean visibles en el momento que digito, a su vez hago un "panel de repetición" con los campos asociados inmediatamente se van a ir mostrando aqui, en este formulario o en otro, por ejemplo para imprimir en impresoras de punto de ventas creo un formulario con un panel de repetición que no estoy viendo pero los datos se estan acumulando ahí. En fin tal vez estoy un poco cerrado con respecto a tu idea.
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

RE:Panel de Repeticion

Publicado por Juan Pablo (25 intervenciones) el 04/05/2006 21:57:29
Gracias Ricardo, ya habia revidado el nombre que se le habia asignado al panel pensando que le llamaban "Tables(9) pero no el nombre que está es RepeatingPanel; por eso es que no entiendo muy bien esto segun el script lo unico que no comprendo es cuando nombro al panel de repetricion "Tables(9)". Talvez te puedo mandar la base de ejemplo de la cual estoy sacando la información a ver si tu la puedes comprender mejor.
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

RE:Panel de Repeticion

Publicado por Ricardo Rodríguez (114 intervenciones) el 04/05/2006 22:31:49
Con gusto la puedo revisar y si está a mi alcance para hacerte alguna sugerencia y aprender en conjunto. Prefiero si me escribes lo hagas a "[email protected]"
Atentamente
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

RE:Panel de Repeticion

Publicado por Hernan (16 intervenciones) el 05/05/2006 23:11:47
Hola, por que no prueban entrando por Edición, Scripts, Editor de Scripts, en Object, localiza el nombre de la vista (aparece en la parte inferior derecha del la vista que contiene el panel de repetición, fuera del margen), dale un click en la flecha y se despliega los objetos contenidos en la vist, incluyendo el o los paneles de repetición, y podras obtener el nombre del panel.

Me avisas si tienen algún resultado..
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

RE:Panel de Repeticion

Publicado por Ricardo Rodriguez (114 intervenciones) el 06/05/2006 09:04:16
Revisando el "script" que nos manda Juan Pablo en la declaración de las variables hemos descuidado de ver que a lo que se refiere es a una Tabla, no a un panel de repetición, transcribo : Dim RS1 As New ResultSet, Tbl1 As Table , por lo cual revisando encontré :

' Tables property
' We need to access the main table through the data object.
' The first step is to find out the name of the main table.
Dim MnTbl As String
Dim NumTbls As Integer
Dim Tbls As Variant
Dim t As Variant

MnTbl = CurrentView.MainTable ' Get the name of the main table.
Set Tbls = CurrentDocument.Tables ' Get the collection of tables
.
Asi que por el momento, como no he podido revisar el .APR sigo perdido.
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

RE:Panel de Repeticion

Publicado por Juan Pablo (25 intervenciones) el 06/05/2006 18:03:41
Gracias Ricardo y Hernan por ayudarme a resolver este dilema, hay algunos ejemplos de agregar a panel de repeticion en esta dirección, http://jabrown.customer.netspace.net.au/approach/examples.htm uno parecido al que necesito es este http://jabrown.customer.netspace.net.au/approach/rp_top.exe talvez ustedes lo piedan comprender mejor.
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

RE:Panel de Repeticion

Publicado por Ricardo Rodríguez (114 intervenciones) el 06/05/2006 20:38:31
Si precisamente ya había bajado ese ejemplo y lo estaba empezando a analizar, por eso conteste la observación de Hernan, ya que si vas leyendo las notas del autor en esa "script" se nota que a lo que se refiere es a una tabla en donde se agregan los datos y se refleja en el panel de repetición donde ponés los campos.

Por ejemplo en "declarations" pone:

Public Const TBL_DET = "detail" 'Name of rp table including alias suffix if any
Public Const ALS_DET = "Det"

en donde "detail" corresponde al nombre de la tabla, en donde está el :APR se llama "header".

Y observando la "script" NEW_REC, noto que es la que hace todo el movimiento hacia la base de datos, y hasta el final le da el foco al panel de repetición pero en ningún momento tiene nombre, sino que se refiere al nombre del campo "que está en ese panel de repetición" :

' Now update the time_sort_last value in the header record
currentview.body.time_sort_last.text=NOWY
currentview.repeatingpanel.part_no.setfocus
'Display the new rp record
'finder=currentview.rp.set.text
currentview.repeatingpanel.part_no.setfocus
CurrentWindow.Refresh
currentview.repeatingpanel.part_no.setfocus
Goto ExitSub
"part_no" es nombre de campo
!bueno amigo eso es lo que por ahora he notado, o sea mi conclusión es que en el "script" no se le da un nombre al panel sino que se invoca :currentview.repeatingpanel.part_no.setfocus

Voy a tratar de seguir la mecánica pero creo que te doy una pista del porqué no aparece el nombre del panel de repetición en tu ejemplo.

Tal vez otro "forero-a" con más experiencia en "script" nos pueda dar más luz.

Cualquier otra cosa nos comunicamos.
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