WSCG carga de datos y propiedades

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

Asi por ejemplo la sentencia:

fe.lpgcuitCorredor = "cuit"

puede ser reemplazada por:

fe.cgCargarPropiedad("cabecera.cuitCorredor", "número de cuit", 0)

El método "cgCargarPropiedad" presenta 3 parámetros.

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

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.

En el ejemplo para autorizar un certifcado de depósito se ve el uso completo de este método.

En ese ejemplo puede verse:

bResultado = fe.cgCargarPropiedad("plantadepositoelevador.ctg.itemCantidad", "2", 0)

Con esa linea se indica que la tabla CTG del grupo plantadepositoelevador tendrá 2 items (2 CTGS)

y luego:

bResultado = fe.cgCargarPropiedad("plantadepositoelevador.ctg.importeSecado", "1.25", 0)

bResultado = fe.cgCargarPropiedad("plantadepositoelevador.ctg.importeZarandeo", "1.25", 0)

se estan cargando los campos "importesecadao" de "importezarandeo" del primero CTG y luego:

bResultado = fe.cgCargarPropiedad("plantadepositoelevador.ctg.importeSecado", "1.26", 1)

bResultado = fe.cgCargarPropiedad("plantadepositoelevador.ctg.importeZarandeo", "0.25", 1)

los mismos campos del segundo CTG.

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

bResultado = fe.cgCargarPropiedad("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 en esta documentación.

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.cgCargarPropiedad("cabecera.cuitCorredorNO", "V", 0)

bResultado = fe.cgCargarPropiedad("cabecera.cuitCorredor", "20235709490", 0)

con la primera sentencia se indica que el campo cuitCorredor NO se enviará como dato (por lo tanto la segunda sentencia es ignorada y el valor cargado queda sin uso).

Y por último pero no menos importante el método "cgCargarPropiedad" 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.).