equivalencia WSLPG WSLSG

Dado que la estructura de métodos y propiedades del WSLPG liquidación secundaria de granos es similar a la del WSLPG liquidación primara de granos es posible usar todo el juego de métodos y propiedades "lpg" (como lpgCUITvendedor, lpgptoEmision) para conectar a uno u otro web service conservando todo el código. Simplemente indicando con la propiedad "lpgversion" a que web service nos estamos conectando. Entonces:

lsgVersion = 0

lsgVersion = 1

(por defecto) conecta al WSLSG primario de granos

conecta al WSLSG secundario de granos

De esta forma si por ejemplo se tiene el código actual en uso para el WSLPG primario de granos para recuperar el número de la ultima liquidación primaria autorizada:

Dim fe As New WSAFIPFE.Factura

Dim bResultado As Boolean = True

Dim numero As Integer

If fe.iniciar(0, "CUIT", "certificado PFX", "") Then

If fe.lpgObtenerTicketAcceso() Then

numero = fe.lpgliquidacionUltimoNroOrdenConsultar("1")

If bResultado Then

MsgBox("resultado método: verdadero")

Else

MsgBox("resultado método: falso")

End If

MsgBox("ultimo error " + fe.UltimoMensajeError)

MsgBox("error servicdor " + fe.lpgErrorCodigo1 + " " + fe.lpgErrorDescripcion1)

MsgBox("numero " + numero.ToString)

Else

MsgBox("fallo acceso " + fe.UltimoMensajeError)

End If

Else

MsgBox("fallo inicio " + fe.UltimoMensajeError)

End If

Es posible usar el mismo código para recuperar el último numero de la liquidación secundaria autorizada simplemente usandolo con una única linea cambiada

Dim fe As New WSAFIPFE.Factura

Dim bResultado As Boolean = True

Dim numero As Integer

If fe.iniciar(0, "CUIT", "certificado PFX", "") Then

fe.lpgVersion = 1

If fe.lpgObtenerTicketAcceso() Then

numero = fe.lpgliquidacionUltimoNroOrdenConsultar("1")

If bResultado Then

MsgBox("resultado método: verdadero")

Else

MsgBox("resultado método: falso")

End If

MsgBox("ultimo error " + fe.UltimoMensajeError)

MsgBox("error servicdor " + fe.lpgErrorCodigo1 + " " + fe.lpgErrorDescripcion1)

MsgBox("numero " + numero.ToString)

Else

MsgBox("fallo acceso " + fe.UltimoMensajeError)

End If

Else

MsgBox("fallo inicio " + fe.UltimoMensajeError)

End If

En resumen el instalador 28.00 o superior no agregará nombres como "lsgCUITVendedor", "lsgAnular", "lsgconsultaultimonroorden" (aunque técnicamente serian los correctos) sino que por simplicidad incorporará una propiedad "lpgVersion" para indicar si la conexión es para el WSLPG o el WSLSG y se usaran los métodos y propiedades ya existente para el WSLPG, en toda la documentación del WSLSG se indica para cada método o propiedad cual es el equivalente ya usado para el WSLPG aunque en general son nombres idénticos.

En el ejemplo del WSLSG para autorizar también se puede ver como se usa esta propiedad.