Carga de datos

Para el web service de WSPadron dada la ingente cantidad de campos que posee, la interfaz (como con otros web services anteriores) incorpora dos métodos "lspCargarPropiedad" y "lspLeerPropiedad" para cargar los datos de todos los campos sin saturar el espacio de nombres del lenguaje.

Asi por ejemplo la sentencia:

fe.lspcodLocalidadDestino = "1"

no existe y es reemplazada por:

fe.lspCargarPropiedad("datosLiquidacion.codLocalidadDestino", "1", 0, 0)

Notar que el cargar una propiedad no solo se debe indicar el nombre de la propiedad sino también a que grupo de campos pertenece (ya que un padrón contribuyentes tiene una gran cantidad de datos agrupados, y subagrupados por ejemplo: datosdeliquidacion, receptor, etc.) incluso puede haber 2 campos con el mismo nombre pero que pertenecen a grupos diferentes.

El método "lspCargarPropiedad" presenta 4 parámetros.

1: el nombre de la propiedad a cargar el valor. La palabra "datosLiquidacion" corresponde al grupo al que pertenece el campo "codLocalidadDestino". Los grupos y campos se detallan en cada método por ejemplo.

2: el valor a cargar, siempre en forma string y con el "." como separador decimal si se trata de un valor monetario o en el formato aaaammdd si es una fecha. V y F si es un valor lógico.

3: el indice si se trata de una propiedad indexada.

4: el sub indice si es una tabla dentro de otra tabla.

En el ejemplo para autorizar un padrón contribuyentes se ve el uso completo de este método.

En ese ejemplo puede verse:

bresultado = fe.lspCargarPropiedad("datosLiquidacion.codLocalidadDestino", "1", 0, 0)

en este sentencia se carga el primero campo del grupo datosLiquidacion.codLocalidadDestino (lo que hará que se envien todos los campos de ese grupo) y luego el resto de los campos (kgProteina, etc.)

En cambio en la sentencia:

bresultado = fe.lspCargarPropiedad("dte.itemcantidad", "1", 0, 0)

en este caso no se trata de un grupo, sino de una tabla (puede haber más de una dte) y se está informando que la tabla tendrá 1 item (fila).

Y luego se cargan los datos de la primera fila:

bresultado = fe.lspCargarPropiedad("dte.nroDTE", "443-1", 0, 0)

con:

bresultado = fe.lspCargarPropiedad("dte.nroDTE", "443-25", 1, 0)

se cargarían los de la segunda fila (o item).

Antes de comenzar a cargar todos los campos para un método ejecutar siempre la sentencia:

bResultado = fe.lspCargarPropiedad("LIMPIAR", "", 0)

para asegurase de poner a cero todos los campos y luego de cargarlos verificar en "ultimomensajeerror" que no hubo errores en la carga (por ejemplo mal deletreo del campo o grupo al que pertenece).

La estructura completa de grupos y campos que tiene cada método será detallada en su correspondiente entrada

Recordar además que existen campos en los que se debe indicar expresamente si se envían o no (distintos a enviarlos en blanco) asi:

bresultado = fe.lspCargarPropiedad("datosLiquidacion.fechaFaena", "20161228", 0, 0)

bresultado = fe.lspCargarPropiedad("datosLiquidacion.fechaFaenaNO", "F", 0, 0)

con la segunda sentencia se indica que el campo fechaFaenaNO a falso para asegurarse que SI se envia el dato cargado en la primera sentencia. Ya que para este dato en particular puede ser necesario para una liquidación NO enviar el dato (diferente a enviarlo en cero o blanco)

Y por último pero no menos importante el método "lspargarPropiedad" solo cumple la función de evitar la saturación de propiedades en la interfaz quedando igual todo el comportamiento de la interfaz (método iniciar, ultimomensajeerror, ticket acceso, respuestas del servidor, lista de errores, etc.).

El método lsgCargarPropiedadAjuste es similar pero sirve para cargar los datos antes de autorizar un ajuste sobre un padrón contribuyentes previa.