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 liquidacionAutorizar, liquidacionAjustarUnificado, 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, LpgCertType, LpgDeduccionType, 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
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo