Descripción
Este documento describe y da ejemplos de uso de los métodos públicos de la clase WSLPG, agrupados en:
- Métodos de autenticación y configuración.
- Métodos de login y conexión.
- Métodos de autorización y consulta.
- Métodos para agregar datos a liquidaciones y ajustes (Add...)
- Métodos de consulta y ajuste LSG.
Para su uso, tener en cuenta:
- 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.
Documentación relacionada:
- Última actualización de la documentación: Agosto 2025
- Más información general, en: Clase WSLPG - Liquidación primaria de granos
1) 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")
2) 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
3) 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")
4) 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.
Tener en cuenta que primero se deberá llamar 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.
- liquidacionAjustarUnificado utiliza todos los datos cargados previamente.
Tener en cuenta:
Recuerde que siempre que un método principal - como liquidacionAutorizar, liquidacionAjustarUnificado- 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.
5) 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", ...)
¿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