WS remitos rcversion
La propiedad rcversion cargada inmediatamente luego del método iniciar permite indicar a que servidor la interfaz conectará:
rcversion = 0 (remito cárnico)
rcversion = 1 (remito harinero)
rcversion = 2 (remito azucar)
De tal forma que el mismo código (y ejemplos y documentación y planilla de test) puede servir para un remito u otro con solo cambiar el valor de esta propiedad pero manteniendo toda la estructura de métodos y mecánica y desde ya teniendo en cuenta las diferencias de datos que algunos métodos pueden tener. por ejemplo en los siguientes dos códigos (con instalador 60.60 o superior)
Dim fe As New WSAFIPFE.Factura
Dim bresultado As Boolean = True
If fe.iniciar(0, "cuit", "ruta y archivo al certificado AFIP *.pfx", "archivo de licencia no es necesario en modo prueba") Then
fe.rcversion = 0
fe.ArchivoCertificadoPassword = "contraseña generada al crear *.pfx"
If fe.rcObtenerTicketAcceso() Then
bresultado = True
bresultado = fe.rcCargarPropiedad("LIMPIAR", "", 0, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.itemcantidad", "2", 0, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.kilos", "10.15", 0, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.orden", "5", 0, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.unidades", "1", 0, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.kilos", "10.15", 1, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.orden", "6", 1, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.unidades", "2", 01 0)
fe.ArchivoXMLEnviado = "d:\rcrecibir.xml"
fe.ArchivoXMLRecibido = "d:\rcrecibirecibo.xml"
If bresultado Then
bresultado = fe.rcRegistrarRecepcion("estado: ACE, ACP, NAC,PEN", "codigo remito", "codigo categoria receptor")
rem estado ACT (aceptacion total no es necesario informar la tabla de mercaderias)
rem ACP (aceptación parcial, es necesario informar la tabla de mercaderias)
REM NAC (no aceptación, rechazo)
REM PEN (pendiente)
If fe.UltimoMensajeError = "" And fe.rcErrorDescripcion1 = "" Then
MsgBox("resultado " + fe.rcLeerPropiedad("rcRegistrarRecepcion", "resultado", "", 0, 0))
Else
MsgBox("error leer" + fe.UltimoMensajeError)
MsgBox("error del servidor " + fe.rcErrorDescripcion1)
End If
Else
MsgBox("fallo cargar propiedad " + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo acceso " + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo iniciar " + fe.UltimoMensajeError)
End If
Registra la recepción de mercadería de un remito cárnico mientras que un código similar como esté:
Dim fe As New WSAFIPFE.Factura
Dim bresultado As Boolean = True
If fe.iniciar(0, "cuit", "ruta y archivo al certificado AFIP *.pfx", "archivo de licencia no es necesario en modo prueba") Then
fe.rcversion = 1
fe.ArchivoCertificadoPassword = "contraseña generada al crear *.pfx"
If fe.rcObtenerTicketAcceso() Then
fe.ArchivoXMLEnviado = "d:\rcrecibir.xml"
fe.ArchivoXMLRecibido = "d:\rcrecibirecibo.xml"
bresultado = fe.rcCargarPropiedad("LIMPIAR", "", 0, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.itemcantidad", "2", 0, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.pesoNetoKG", "10.15", 0, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.orden", "5", 0, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.pesoNetoKG", "10.15", 1, 0)
bresultado = bresultado And fe.rcCargarPropiedad("RegistrarRecepcionMercaderia.orden", "5", 1, 0)
If bresultado Then
bresultado = fe.rcRegistrarRecepcion("ACP", "5233", "20190913")
If fe.UltimoMensajeError = "" And fe.rcErrorDescripcion1 = "" Then
MsgBox("resultado " + fe.rcLeerPropiedad("rcRegistrarRecepcion", "resultado", "", 0, 0))
MsgBox(fe.UltimoMensajeError)
Else
MsgBox("error leer" + fe.UltimoMensajeError)
MsgBox("error del servidor " + fe.rcErrorDescripcion1)
End If
Else
MsgBox("fallo cargar propiedad " + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo acceso " + fe.UltimoMensajeError)
End If
Else
MsgBox("fallo iniciar " + fe.UltimoMensajeError)
End If
registra la recepción de la mercadería de un remito harinero, notar el uso de "rcversion" y el cambio de nombre de algunos campos e incluso el cambio de significado del 3er argumento del método rcRegistrarRecepcion de un servidor a otro.