WSSENASA ejemplo fitosanitarios
Este ejemplo en visual basic 6 (ver otros lenguajes) usa la interfaz WSAFIPFE para conectar al web service de trazablidad de productos fitosanitarios en modo prueba e informar una transacción, obtener la lista de transacciones pendientes y confirmar una. 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 24.80 o superior del instalador.
Los datos son provistos por PAMI o SENASA. Aun en modo prueba se debe contar con un usuario/contraseña válidos según los trámites y asociado a un GLN.
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
Set ws = New WSAFIPFE.pami
If ws.iniciar(0, "senasaws", "Clave2013", "") Then
ws.sversion = 0
ws.sTransaccionItemCantidad = 1
ws.sIndiceItem = 0
ws.sglnorigen = ""
ws.sglndestino = "3692581473693"
ws.sfoperacion = "27/07/2014"
ws.sfelaboracion = "25/08/2013"
ws.sfvto = "25/08/2014"
ws.sidevento = "11"
ws.sidEventoNO = False
ws.scodproducto = "88900000000001"
ws.sncantidad = 1
ws.sncantidadNO = False
ws.snserie = "123"
ws.snlote = "12"
ws.sncai = ""
ws.sncae = ""
ws.sidmotivodestruccion = ""
ws.snmanifiesto = ""
ws.sentransporte = False
ws.sentransporteNO = True
ws.snremito = "12345682"
ws.smotivodevolucion = ""
ws.sobservaciones = ""
ws.sapellidoNombres = ""
ws.sdireccion = ""
ws.snumero = ""
ws.snumeroNO = True
ws.slocalidad = ""
ws.slocalidadNO = True
ws.sprovincia = ""
ws.sprovinciaNO = True
ws.snpostal = ""
ws.ArchivoXMLEnviado = "c:\senviado.xml"
ws.ArchivoXMLRecibido = "c:\srecibido.xml"
Dim bResultado As Boolean
bResultado = ws.sSaveTransaccion()
If ws.sRespuestaResultado Then
MsgBox ("resultado pami verdadero ")
Else
MsgBox ("resultado pami falso ")
End If
MsgBox ("error general " + " " + ws.UltimoMensajeError)
MsgBox ("error pami " + ws.sErrorDescripcion1)
MsgBox ("codigo transaccion " + ws.sRespuestaCodigoTransaccion)
ws.ArchivoXMLEnviado = ""
ws.ArchivoXMLRecibido = "c:\strecibido.xml"
bResultado = ws.sGetTransaccionesManual("","","","","","","","","","","","","")
If ws.sRespuestaResultado Then
MsgBox ("resultado pami verdadero ")
Else
MsgBox ("resultado pami falso ")
End If
MsgBox ("error general " + " " + ws.UltimoMensajeError)
MsgBox ("error pami " + ws.sErrorDescripcion1)
MsgBox ("codigo transaccion " + ws.sRespuestaCodigoTransaccion)
MsgBox ("paginas " + Str(ws.sCantPaginas))
MsgBox ("items " + Str(ws.sTransaccionItemCantidad))
For nIndex = 1 To ws.sTransaccionItemCantidad
ws.sIndiceItem = nIndex - 1
MsgBox (Str(nIndex) + " producto " + ws.scodproducto + " fecha " + ws.sfoperacion + " id: "+ws.sidtransaccion)
Next
ws.sTransaccionItemCantidad = 1
ws.sIndiceitem = 0
ws.spidstransacNO = False
ws.spidstransac = "id transaccion a confirmar"
ws.sncantidadNO = True
ws.sfoperacion = "30/08/2014"
ws.ArchivoXMLEnviado = "c:\cenviado.xml"
ws.ArchivoXMLRecibido = "c:\crecibido.xml"
bResultado = ws.ssendConfirmaTransacc()
MsgBox("ultimo mensaje: " + ws.UltimoMensajeError)
MsgBox("resultado pami: " + ws.sRespuestaResultadoS)
MsgBox("codigo pami: " + ws.sErrorCodigo1)
MsgBox("error pami: " + ws.sErrorDescripcion1)
MsgBox("codigo transaccon: " + ws.sRespuestaCodigoTransaccion)
Else
MsgBox ("error inicio " + ws.UltimoMensajeError)
End If