El mecanismo "indiceitem" es una propiedad especial que permite manejar desde el control ActiveX una lista de valores variables (como los items correspondientes a una factura electrónica del WSBFE / WSSEG y del WSFEX).
Esta documentación sirve para ambos web services, debiendo usar el nombre de propiedad correspondiente (B, S o X).
El control ActiveX usa propiedades para cargar o recuperar los valores de una factura (como fecha, cuit, total, etc.). Esta es una forma facil y compatible con todos los lenguajes para manejar datos.
Para detallar las "lineas" de una factura electrónica como cantidad, producto, precio, etc. no podrían agregarse al control OCX propiedades como:
Un sistema así sería muy engorroso de programar y limitaría enormemente su utilidad ya que solo podría haber hasta un cantidad fija de "lineas" o items por cada factura.
Una forma muy sencilla de cargar una lista de varlores variables es usando una propiedad "indiceitem" para indicar a que linea de la factura nos estamos refiriendo.
Si necesitamos cargar los datos de una factura electrónica que contiene 10 productos o lineas simplemente procederiamos asi:
cargamos el valor 10 en la propiedad "itemcantidad".
cargamos el valor 0 en la propiedad "indiceitem".
en las propiedades cantidad, precio, producto, etc. cargamos los valores correspondiente al primer item o linea de la factura.
cargamos el valor 1 en la propiedad "indiceitem".
nuevamente en las propiedades cantidad, precio, producto, etc. cargamos los varores correspondientes al segundo item o linea de la factura.
cargamos el valor 2 en la propiedad "indiceitem"y asi sucesivamente hasta el valor 9 (para el item número 10 de la factura).
llamamos al método "Registrar" y continuamos con los pasos habituales.
De esta forma podemos manejar una lista (o tabla o array o matriz) de valores variables.
Recordar siempre que las listas son numerados en base 0. Si "itemcantidad" devuelve 10 elementos debemos recorrerlos con "indiceitem" de 0 a 9.
Esta descripción es genérica. Los nombre concretos para cada web service son:
De igual modo si necesitamos recuperar los datos correspondientes a una factura emitida con el WSBFE / WSSEG o WSFEX procederiamos asi:
llamar al método recuperador de comprobantes (bFEGetCMP / SEGGetCMP / xFEGetCMP) indicando punto de venta, tipo comprobante y número.
en las propiedades general leemos los datos de la factura (bRespuestaCAE / sRespuestaCAE / xRespuestaCAE, bImp_total / sImp_total / xImp_total, etc).
en la propiedad "bitemcantidad" / "sitemcantidad" / "xItemCantidad" leemos la cantidad de items o lineas que contiene la factura.
cargamos la propiedad "bindiceitem" / "sindiceitem" / "xIndiceItem" a 0.
en las propiedad cantidad, precio, productos, etc. leemos los datos de la primera linea de la factura.
cargamos la propiedad "bindiceitem" / "sindiceitem" / "xIndiceItem" a 1 y leemos los datos de la segunda linea.
asi sucesivamente hasta que "bindiceitem" / "sindiceitem" / "xindiceitem" sea igual al valor indicado por "bitemcantidad"/ "sitemcantidad" / "xItemCantidad" -1 .
Además este mecanismo sirve para recuperar lista de valores dinámicos. Como la lista de productos autorizados por la AFIP, lista de monedas etc. tal como se explica en la página correspondiente.