WSANMAT ejemplo

Este ejemplo en visual basic 6 (ver otros lenguajes) usa la interfaz WSAFIPFE para conectar al web service de trazablidad de medicamentos de ANMAT en modo prueba para:

  • informar una transacción de 2 medicamentos.

  • cancelarla

  • obtener la lista de transacciones no confirmadas (en el que el usuario es el destino)

  • confirmar la primera de esas transacciones

El significado de cada método y propiedad y los códigos (de evento, etc) usados están explicados en la documentación de esta página.

El ejemplo requiere versión 23.40 o superior del instalador.

Los datos son operativos y provistos por PAMI o ANMAT.

En el proyecto en visual basic, agregar una referencia al objeto WSAFIPFE y ejecutar el código desde un botón.

Dim ws As WSAFIPFE.pami

Dim cIdTransaccion As String

Dim bResultado As Boolean

Dim nIndex As Integer

cIdTransaccion = ""

Set ws = New WSAFIPFE.pami

If ws.iniciar(0, "pruebasws", "pruebasws", "") Then

ws.ArchivoXMLEnviado = "c:\aenviado.xml"

ws.ArchivoXMLRecibido = "c:\arecibido.xml"

ws.aTransaccionItemCantidad = 2

ws.aIndiceItem = 0

ws.aapellido = ""

ws.acuitdestino = ""

ws.acuitorigen = ""

ws.adepto = ""

ws.adireccion = ""

ws.afevento = "16/07/2014"

ws.ahevento = "01:00"

ws.afechaNacimiento = ""

ws.aglndestino = "9999999999918"

ws.aglnorigen = "glnws"

ws.agtin = "00000000000178"

ws.aidevento = "133"

ws.aidobrasocial = ""

ws.alocalidad = ""

ws.alote = "1"

ws.andocumento = ""

ws.anfactura = "A000100001234"

ws.anpostal = ""

ws.anremito = "R000100001234"

ws.anombres = ""

ws.anroasociado = ""

ws.anumero = ""

ws.anumeroserial = "2398235"

ws.apiso = ""

ws.aprovincia = ""

ws.asexo = ""

ws.atelefono = ""

ws.atipodocumento = ""

ws.avencimiento = "02/05/2016"

ws.aIndiceItem = 1

ws.aapellido = ""

ws.acuitdestino = ""

ws.acuitorigen = ""

ws.adepto = ""

ws.adireccion = ""

ws.afevento = "16/07/2014"

ws.ahevento = "01:00"

ws.afechaNacimiento = ""

ws.aglndestino = "9999999999918"

ws.aglnorigen = "glnws"

ws.agtin = "00000000000178"

ws.aidevento = "133"

ws.aidobrasocial = ""

ws.alocalidad = ""

ws.alote = "1"

ws.andocumento = ""

ws.anfactura = "A000100001234"

ws.anpostal = ""

ws.anremito = "R000100001234"

ws.anombres = ""

ws.anroasociado = ""

ws.anumero = ""

ws.anumeroserial = "754754856"

ws.apiso = ""

ws.aprovincia = ""

ws.asexo = ""

ws.atelefono = ""

ws.atipodocumento = ""

ws.avencimiento = "02/05/2016"

bResultado = ws.aEnviarMedicamento()

MsgBox ("codigo transaccion: " + ws.aRespuestaCodigoTransaccion)

MsgBox ("mensaje error general: " + ws.UltimoMensajeError)

MsgBox ("resultado anmat: " + ws.aRespuestaResultadoS)

MsgBox ("codigo error anmat: " + ws.aErrorCodigo1)

MsgBox ("mensaje error anmat: " + ws.aErrorDescripcion1)

cIdTransaccion = ws.aRespuestaCodigoTransaccion

ws.ArchivoXMLEnviado = ""

ws.ArchivoXMLRecibido = "c:\acancelarrecibido.xml"

ws.aEnviarCancelacTransacc (cIdTransaccion)

MsgBox ("mensaje error general: " + ws.UltimoMensajeError)

MsgBox ("resultado transaccion cancelada anmat: " + ws.aRespuestaResultadoS)

MsgBox ("codigo error anmat: " + ws.aErrorCodigo1)

MsgBox ("mensaje error anmat: " + ws.aErrorDescripcion1)

ws.ArchivoXMLEnviado = ""

ws.ArchivoXMLRecibido = "c:\alistarecibido.xml"

ws.aTransaccionItemCantidad = 1

ws.aIndiceItem = 0

ws.aidglobal = "-1"

ws.aglnInformador = "9999999999918"

ws.aglnorigen = ""

ws.aglndestino = ""

ws.agtin = ""

ws.aidevento = "-1"

ws.afechaOpDesde = ""

ws.afechaOpHasta = ""

ws.afechaTDesde = ""

ws.afechatHasta = ""

ws.afechaVtoDesde = ""

ws.afechaVtoHasta = ""

ws.anremito = ""

ws.anfactura = ""

aidEstado = "-1"

bResultado = ws.agetTransaccionesNoConfirmadas()

MsgBox ("mensaje error general: " + ws.UltimoMensajeError)

MsgBox ("resultado lista transacciones anmat: " + ws.aRespuestaResultadoS)

MsgBox ("codigo error anmat: " + ws.aErrorCodigo1)

MsgBox ("mensaje error anmat: " + ws.aErrorDescripcion1)

MsgBox ("transacciones devueltas: " + Str(ws.aTransaccionItemCantidad))

cIdTransaccion = ""

For nIndex = 1 To ws.aTransaccionItemCantidad

ws.aIndiceItem = nIndex - 1

MsgBox (Str(nIndex) + " id: " + ws.aIdTransaccion + " nombre:" + ws.anombre + " GTIN:" + ws.agtin + Chr(10) + Chr(13) + " evento: " + ws.aDevento)

Next

If ws.aTransaccionItemCantidad > 0 Then

ws.aIndiceItem = 0

cIdTransaccion = ws.aIdTransaccion

ws.ArchivoXMLEnviado = "c:\aconfirmarenviado.xml"

ws.ArchivoXMLRecibido = "c:\aconfirmarrecibido.xml"

ws.aTransaccionItemCantidad = 1

ws.aIndiceItem = 0

ws.afOperacion = "19/07/2014"

ws.apIdsTransacNo = False

ws.apIdsTransac = cIdTransaccion

bResultado = ws.aEnviarConfirmaTransacc()

MsgBox ("mensaje error general: " + ws.UltimoMensajeError)

MsgBox ("resultado confirmar transaccion anmat: " + ws.aRespuestaResultadoS)

MsgBox ("codigo error anmat: " + ws.aErrorCodigo1)

MsgBox ("mensaje error anmat: " + ws.aErrorDescripcion1)

MsgBox ("id transaccion: " + ws.aRespuestaCodigoTransaccion)

MsgBox ("id asociado: " + ws.aRespuestaaIdTransacAsociada)

Else

MsgBox ("No hay transacciones pendientes a confirmar")

End If

Else

MsgBox ("error inicio " + ws.UltimoMensajeError)

End If