Clase WSLPG: Métodos públicos. Módulo Cereales | WAN

Modificado el Jue, 4 Sep a 4:09 P. M.

Descripción


Este documento describe y da ejemplos de uso de los métodos públicos de la clase WSLPG, agrupados en:


  1. Métodos de autenticación y configuración.
  2. Métodos de login y conexión.
  3. Métodos de autorización y consulta.
  4. Métodos para agregar datos a liquidaciones y ajustes (Add...)
  5. 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, 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.


Documentación relacionada:





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 liquidacionAutorizarliquidacionAjustarUnificado- 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

¡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