csharp-l | | | |
jizquierdo | |
Hola Luis,
Si estás en la versión 15 puedes usar los métodos disponible para trabajar
en SDT de 2 niveles, bien sea para recuperar un registro o para eliminarlo.
Puedes encontrar información en:
https://wiki.genexus.com/commwiki/servlet/wiki?31846,Business+Component+GetByKey+method
https://wiki.genexus.com/commwiki/servlet/wiki?31847,Business+Component+RemoveByKey+method
&SDT.Nivel.getbykey(&clave)
&SDT.Nivel.removebykey(&clave)
Saludos cordiales,
*Jorge Izquierdo */ Technical Account Manager
*Celular *(+593) 099 993 6846
*www.doit-innovations.com *
*Ecuador: *(+593) 2 380 9553 ext. 216 / Av. Naciones Unidas E2-30 y Núñez
de Vela, Ed. Metropólitan Of. 309 - Quito, Ecuador
*Uruguay*: (+598) 2 603 7720 / Avda. Italia 6201 - LATU - Ed. Los Álamos,
Of 103- Montevideo, Uruguay
*Paraguay:** (+59521) 620 7856 / **Mariscal López 3794 y Cruz del Chaco
Edificio Citicenter - Piso 4 – Asunción, Paraguay
*
*Nuestra pasión es innovar*
El sáb., 30 de may. de 2020 a la(s) 20:25, Luis Cornejo (
lcornejoduenas@gmail.com) |
|
|
LuisCD | |
Hola Jorge,
Traté de poner como me indicabas, pero sin resultado, ni me aparecen el getbykey o removekey, lo que sucede es que no quiero eliminar o obtener el valor de un sub level que dependa de una transacción… la documentación que me pasaste es para Business Component, como mencioné, no lo estoy utilizando, uso un SDT que lo cargo de esta forma:
&AgregarVisitasItem = new()
&AgregarVisitasItem.SMotorizadoNomComp = NullValue(&AgregarVisitasItem.SMotorizadoNomComp)
&AgregarEstablecimiento = new()
&AgregarEstablecimiento.ID = &AgregarVisitasSDT.CurrentItem.SEstablecimiento.Count + 1
&AgregarEstablecimiento.SEstablecimientoRazSoc = NullValue(&AgregarEstablecimiento.SEstablecimientoRazSoc)
&AgregarEstablecimiento.Eliminar.FromImage(Eliminar)
&AgregarVisitasItem.SEstablecimiento.Add(&AgregarEstablecimiento)
&AgregarVisitasSDT.Add(&AgregarVisitasItem)
De esa forma cargo el SDT para poder digitar valores en la web y el usuario va a ir agregando más fila al sub level si desea, para lo cual lo hago de esta forma:
&AgregarEstablecimiento = new()
&AgregarEstablecimiento.ID = &AgregarVisitasSDT.CurrentItem.SEstablecimiento.Count + 1
&AgregarEstablecimiento.SEstablecimientoRazSoc = NullValue(&AgregarEstablecimiento.SEstablecimientoRazSoc)
&AgregarEstablecimiento.Eliminar.FromImage(Eliminar)
&AgregarVisitasItem.SEstablecimiento.Add(&AgregarEstablecimiento)
&AgregarVisitasSDT.CurrentItem.SEstablecimiento.Add(&AgregarEstablecimiento)
Hasta ahí todo OK, pero cuando quiero eliminar o tomar el valor de una fila del sublevel, ahí es donde no puedo, he probado varias combinaciones para poder borrar como:
&AgregarVisitasSDT.CurrentItem.SEstablecimiento.Remove(&AgregarVisitasItem.SEstablecimiento.IndexOf(&AgregarVisitasSDT.CurrentItem))
&AgregarVisitasSDT.CurrentItem.SEstablecimiento.Remove(&AgregarVisitasItem.SEstablecimiento.IndexOf(&AgregarVisitasSDT.CurrentItem.SEstablecimiento.CurrentItem))
&AgregarVisitasSDT.CurrentItem.SEstablecimiento.Remove(&AgregarVisitasSDT.CurrentItem.SEstablecimiento.IndexOf(&AgregarVisitasItem.SEstablecimiento.CurrentItem))
&AgregarVisitasItem.SEstablecimiento.Remove(&AgregarVisitasSDT.CurrentItem.SEstablecimiento.IndexOf(&AgregarVisitasItem.SEstablecimiento.CurrentItem))
Eso son algunos de los que había probado…
Quedo al tanto a cualquier sugerencia.
Muchas gracias por su tiempo brindado.
Saludos,
Luis Cornejo |
|
|
|
|
Back to csharp-l |
|