Clase WSLPG: Métodos públicos

Modificado el Vie, 29 Ago a 11:01 A. M.

Artículo en edición.


Documentación de la clase WSLPG

Este documento describe los métodos públicos de la clase WSLPG y provee ejemplos de uso para cada uno.



Métodos de Autenticación y Configuración

New()

Constructor de la clase.

SetToken(xToken As String)

Establece el token de autenticación.


Dim obj As New WSLPG()

obj.SetToken("mi_token")

SetSign(xSign As String)

Establece la firma de autenticación.


obj.SetSign("mi_sign")

SetUniqueID(xUniqueid As String)

Establece el ID único de sesión.


obj.SetUniqueID("123456")

GetExpirationTime() As Date

Obtiene la fecha de expiración del login.


Dim fecha As Date = obj.GetExpirationTime()

GetGenerationTime() As Date

Obtiene la fecha de generación del login.


Dim fecha As Date = obj.GetGenerationTime()

IsLogin() As Boolean

Indica si la sesión está activa.


If obj.IsLogin() Then

    ' Sesión activa

End If

GetToken() As String

Obtiene el token actual.


Dim token As String = obj.GetToken()

GetSign() As String

Obtiene la firma actual.


Dim sign As String = obj.GetSign()

GetUniqueID() As String

Obtiene el ID único actual.


Dim id As String = obj.GetUniqueID()

StrRutaCertFirma(x As String)

Establece la ruta del certificado.


obj.StrRutaCertFirma("C:\ruta\certificado.pfx")

Cuit(xcuit As String)

Establece el CUIT de la empresa.


obj.Cuit("20123456789")

Modo(valor As WSFE.Url_WS)

Establece el modo de operación (Desarrollo/Producción).


obj.Modo(WSFE.Url_WS.Desarrollo)

CertPW(x As String)

Establece la contraseña del certificado.


obj.CertPW("mi_password")



Métodos de Login y Conexión

Login(ClaveAutorizacion As String, Optional token As String = "", Optional sign As String = "")

Realiza el login y obtiene credenciales.


Dim resultado = obj.Login("{AC76DC44-4A02-4ED9-8497-773356F4B56A}")

Modo_Url_Wsse()

Obtiene la URL del servicio según el modo.


Dim url = obj.Modo_Url_Wsse()

MetodoFEDummy() As Boolean

Verifica la conexión con el servicio.


If obj.MetodoFEDummy() Then

    ' Conexión OK

End If



Métodos de Autorización y Consulta

liquidacionAutorizar(...)

Autoriza una liquidación. Requiere múltiples parámetros y utiliza variables complejas cargadas previamente.


' Cargar certificados

obj.AddLPGCertificados("A", "123", 1000, "1", "2", "2025", Now)

' Cargar deducciones

obj.AddLPGDeducciones("CONCEPTO", "Detalle", 10, 5, 2, 100, 21)

' Cargar retenciones

obj.AddRetenciones("CONCEPTO", "Detalle", 10)

' Cargar percepciones

obj.AddLPGPercepciones("Percepción", 100)


' Llamar al método principal

Dim resp = obj.liquidacionAutorizar(ptoEmision, nroOrden, ...)

lsgAutorizar(...)

Autoriza una liquidación LSG. Si corresponde, cargar percepciones LSG antes de la llamada.


' Cargar percepciones LSG si corresponde

obj.AddlsgPercepciones(10, 100, "Detalle")


' Llamar al método principal

Dim resp = obj.lsgAutorizar(ptoEmision, nroOrden, ...)

liquidacionAnular(coe As String)

Anula una liquidación activa.


Dim resp = obj.liquidacionAnular("123456")

liquidacionAjustarUnificado()

Ajusta una liquidación unificada. Utiliza variables complejas cargadas previamente.


' Cargar certificados de peso ajustado si corresponde

obj.AddLpgCertificadoPesoAjuste(xcoe, xpesoAjustado)

' Cargar ajuste base

obj.AddajusteBase(codLocalidad, codProv, coeAjustado, nroOrden, ptoEmision)

' Cargar ajuste crédito

obj.AddAjusteCredito(100, 200, "A", 10, True, 1.5, True, 50, "Datos", Nothing, "IVA0", 0, False, "IVA105", 0, False, "IVA21", 0, False)

' Cargar ajuste débito

obj.AddajusteDebito(100, 200, "A", 10, True, 1.5, True, 50, "Datos", Nothing, "IVA0", 0, False, "IVA105", 0, False, "IVA21", 0, False)


' Llamar al método principal

Dim resp = obj.liquidacionAjustarUnificado()

liquidacionAjustarContrato()

Ajusta una liquidación por contrato. Utiliza variables complejas cargadas previamente.


' Cargar ajuste contrato base

obj.AddAjusteContratoBase(ptoEmision, nroOrden, nroContrato, certificados, actividad, codGrano, cuitVendedor, cuitCorredor, cuitCorredorSpecified, cuitComprador, precioRefTn, codGradoEnt, valGradoEnt, precioFleteTn, codPuerto, desPuertoLocalidad, codLocalidad, codProv)

' Cargar ajuste contrato crédito

obj.AddAjusteContCredito("Datos", Nothing, "IVA0", 0, False, "IVA105", 0, False, "IVA21", 0, False)

' Cargar ajuste contrato débito

obj.AddAjusteContDebito("Datos", Nothing, "IVA0", 0, False, "IVA105", 0, False, "IVA21", 0, False)


' Llamar al método principal

Dim resp = obj.liquidacionAjustarContrato()

asociarLiquidacionAContrato(...)

Asocia una liquidación a un contrato. Si corresponde, cargar certificados y otros datos complejos antes de la llamada.


' Cargar certificados si corresponde

obj.AddLPGCertificados("A", "123", 1000, "1", "2", "2025", Now)


' Llamar al método principal

Dim resp = obj.asociarLiquidacionAContrato(xcoe, xnroContrato, ...)

ajusteXCoeConsultar(...)

Consulta ajustes por COE. Si corresponde, cargar ajustes y percepciones antes de la llamada.


' Cargar percepciones LSG si corresponde

obj.AddlsgPercepciones(10, 100, "Detalle")


' Llamar al método principal

Dim resp = obj.ajusteXCoeConsultar(xcoe, xpdf, xpdfSpecified)

liquidacionPorContratoConsultar(...)

Consulta liquidaciones por contrato. Si corresponde, cargar certificados y otros datos complejos antes de la llamada.


' Cargar certificados si corresponde

obj.AddLPGCertificados("A", "123", 1000, "1", "2", "2025", Now)


' Llamar al método principal

Dim resp = obj.liquidacionPorContratoConsultar(xnroContrato, ...)

liquidacionUltimoNroOrdenConsultar(xptoEmision As Long)

Consulta el último número de orden. Si corresponde, cargar datos complejos antes de la llamada.


' (No requiere carga previa de variables complejas en la mayoría de los casos)

Dim resp = obj.liquidacionUltimoNroOrdenConsultar(1)

ajustePorContratoConsultar(xnroContrato As String)

Consulta ajustes por contrato. Si corresponde, cargar ajustes y percepciones antes de la llamada.


' Cargar percepciones LSG si corresponde

obj.AddlsgPercepciones(10, 100, "Detalle")


' Llamar al método principal

Dim resp = obj.ajustePorContratoConsultar("CONTRATO1")

ajusteXNroOrdenConsultar(xptoEmision As Long, xnroOrden As Long)

Consulta ajustes por número de orden. Si corresponde, cargar ajustes y percepciones antes de la llamada.


' Cargar percepciones LSG si corresponde

obj.AddlsgPercepciones(10, 100, "Detalle")


' Llamar al método principal

Dim resp = obj.ajusteXNroOrdenConsultar(1, 100)

lpgAnularContraDocumento(coeanular As String, nroOrden As String, puntoEmision As String)

Anula una liquidación contra documento. Si corresponde, cargar datos complejos antes de la llamada.


' (No requiere carga previa de variables complejas en la mayoría de los casos)

Dim resp = obj.lpgAnularContraDocumento("123", "456", "1")

lsgAnular(coe As Long)

Anula una liquidación LSG. Si corresponde, cargar datos complejos antes de la llamada.


' (No requiere carga previa de variables complejas en la mayoría de los casos)

Dim resp = obj.lsgAnular(123456)

liquidacionXNroOrdenConsultar(ptoEmision As String, nroOrden As String)

Consulta liquidación por número de orden. Si corresponde, cargar datos complejos antes de la llamada.


' (No requiere carga previa de variables complejas en la mayoría de los casos)

Dim resp = obj.liquidacionXNroOrdenConsultar("1", "100")



Métodos para agregar datos a liquidaciones y ajustes (Add...)

Estos métodos permiten cargar datos en variables de tipo complejo (arrays o estructuras internas de la clase) que luego serán utilizados en las operaciones principales. Es importante llamar primero a los métodos Add... para cargar los datos en las variables públicas/privadas antes de invocar los métodos principales que consumen esos datos.

Ejemplo detallado de uso (formato recomendado):

' 1. Cargar datos en variables complejas mediante métodos Add...

obj.AddLpgCertificadoPesoAjuste(xcoe, xpesoAjustado)

obj.AddAjusteCredito(

    diferenciaPesoNeto,

    diferenciaPrecioOperacion,

    codGrado,

    valGrado,

    valGradoSpecified,

    factor,

    factorSpecified,

    diferenciaPrecioFleteTn,

    datosAdicionales,

    opcionales,

    conceptoImporteIva0,

    importeAjustarIva0,

    importeAjustarIva0Specified,

    conceptoImporteIva105,

    importeAjustarIva105,

    importeAjustarIva105Specified,

    conceptoImporteIva21,

    importeAjustarIva21,

    importeAjustarIva21Specified

)


' 2. Llamar al método principal que utiliza esas variables

Dim resp = obj.liquidacionAjustarUnificado()

Explicación:

  • AddLpgCertificadoPesoAjuste agrega un certificado de peso ajustado a la variable interna xcertificadosPesoAjuste.

  • AddAjusteCredito utiliza la variable xcertificadosPesoAjuste (y otras) para armar el objeto de ajuste de crédito.

  • Finalmente, liquidacionAjustarUnificado utiliza todos los datos cargados previamente.

Importante: Siempre que un método principal (como liquidacionAutorizarliquidacionAjustarUnificado, etc.) utilice variables públicas o privadas de tipo complejo, primero deben cargarse los datos mediante los métodos Add... correspondientes.

Ejemplo para liquidación con certificados, deducciones y retenciones:

' Cargar certificados

obj.AddLPGCertificados("A", "123", 1000, "1", "2", "2025", Now)

' Cargar deducciones

obj.AddLPGDeducciones("CONCEPTO", "Detalle", 10, 5, 2, 100, 21)

' Cargar retenciones

obj.AddRetenciones("CONCEPTO", "Detalle", 10)

' Cargar percepciones

obj.AddLPGPercepciones("Percepción", 100)


' Llamar al método principal

Dim resp = obj.liquidacionAutorizar(ptoEmision, nroOrden, ...)

Ejemplo para ajuste de contrato:

obj.AddAjusteContratoBase(ptoEmision, nroOrden, nroContrato, certificados, actividad, codGrano, cuitVendedor, cuitCorredor, cuitCorredorSpecified, cuitComprador, precioRefTn, codGradoEnt, valGradoEnt, precioFleteTn, codPuerto, desPuertoLocalidad, codLocalidad, codProv)

obj.AddAjusteContCredito("Datos", Nothing, "IVA0", 0, False, "IVA105", 0, False, "IVA21", 0, False)

obj.AddAjusteContDebito("Datos", Nothing, "IVA0", 0, False, "IVA105", 0, False, "IVA21", 0, False)

Dim resp = obj.liquidacionAjustarContrato()

Descripción de los métodos Add...

  • AddajusteBase(codLocalidadProcedencia, codProv, coeAjustado, nroOrden, ptoEmision)

    • Carga los datos base para un ajuste unificado.

  • AddLpgLiquidacionAnticipoBase(...)

    • Carga los datos base para un anticipo de liquidación LPG.

  • AddCertificadoPesoAjuste(xcoe As Long, xpesoAjustado As Long)

    • Agrega un certificado de peso ajustado.

  • AddAjusteCredito(...)

    • Carga los datos de ajuste de crédito.

  • AddajusteDebito(...)

    • Carga los datos de ajuste de débito.

  • AddAjusteContratoBase(...)

    • Carga los datos base para un ajuste de contrato.

  • AddAjusteContCredito(...)

    • Carga los datos de ajuste de contrato crédito.

  • AddAjusteContDebito(...)

    • Carga los datos de ajuste de contrato débito.

  • AddLsgAjusteCredito(...)

    • Carga los datos de ajuste LSG crédito.

  • AddLsgAjusteDebito(...)

    • Carga los datos de ajuste LSG débito.

  • AddlsgPercepciones(alicuota, baseCalculo, detalleAclaratoria)

    • Agrega una percepción LSG.

  • AddLpgAutorizarAnticipo()

    • Prepara los datos para autorizar un anticipo LPG.

  • AddLPGCertificados(tipoCertificadoDeposito, nroCertificadoDeposito, pesoNeto, codLocalidadProcedencia, codProvProcedencia, campania, fechaCierre)

    • Agrega un certificado de depósito.

  • AddLPGDeducciones(codigoConcepto, detalleAclaratorio, diasAlmacenaje, precioPKGdiario, comisionGastosAdm, baseCalculo, alicuotaIva)

    • Agrega una deducción a la liquidación.

  • AddLPGPercepciones(descripcion, importeFinal)

    • Agrega una percepción a la liquidación.

  • AddRetenciones(codigoConcepto, detalleAclaratorio, Alicuota, ...)

    • Agrega una retención a la liquidación.

  • AddLPGOpcionales(codigo, descripcion)

    • Agrega un dato opcional a la liquidación.



Métodos de consulta y ajuste LSG

lsgAjustarXCoe(...)

Ajusta una liquidación LSG por COE. Utiliza variables complejas cargadas previamente.


' Cargar percepciones LSG si corresponde

obj.AddlsgPercepciones(10, 100, "Detalle")


' Llamar al método principal

Dim resp = obj.lsgAjustarXCoe(True, "123", "1", "100", ...)



Notas

  • Los métodos requieren tipos específicos definidos en el proyecto (por ejemplo, LpgCertTypeLpgDeduccionType, etc.).

  • Para ejemplos completos, consultar la definición de cada tipo y los parámetros requeridos.

  • Se recomienda inicializar la clase y realizar el login antes de ejecutar operaciones de autorización o consulta.


Última actualización: Agosto 2025

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo