gcn.obj.damecoleccion("NombreCol", "Where ....").objetos
Si tenemos que recorrer los objetos de la colección, hay una peculiaridad. Y es que si la colección tiene filtros asociados (tabla objetos_Filtros), creará una subcolección dentro de la misma, dependiendo de los elementos que devuelva la query.
VER COLECCIÓN DE ALBARANES.
En el caso de que tenga filtros, devolverá una colección de colecciones. En caso contrario, una colección de objetos.
Código VB6:
Sub Main() frmAux.Descargar 'ATENCIÓN: DEBE ESTAR SIEMPRE QUE NO SE MUESTRE EL FORMULARIO. Dim lcol 'As AhoraSistema.Colecciones Dim lObj 'As AhoraSistema.IItem Set lcol = gcn.obj.damecoleccion("Albaranes","Where 1=1") If Not lcol Is Nothing Then For i = 1 To lcol.count If TypeName(lcol.objetos(cint(i))) = "Collection" Then For Each lObj2 In lObj.Objetos(cint(i)) MsgBox lobj2.descripcion Next Else MsgBox lcol.item(cint(i).descripcion End If Next End If End Sub
Código C#:
using AhoraSistema; namespace AhoraScriptsVacia { public class Script_0 : AhoraOCX.AhoraBaseScript { public void Main() { IItemColeccion lObj; IColecciones lCol = gCn.Obj.DameColeccion("Albaranes", "Where 1=1"); if (lCol != null) { for (int i = 1; i < lCol.Count(); i++) { if (lCol.Objetos[i].GetType().ToString() == "Collection") { lObj = lCol.Objetos[i]; for (int x = 1; x < lObj.Objetos.Count; x++) { AhoraCore.VBA.Interaction.MsgBox(lObj.Objetos[x].Descripcion); } } else { AhoraCore.VBA.Interaction.MsgBox(lCol.GetItem(i).Descripcion); } } } } } }
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo