fbernaus
22nd June 2004, 09:53
Hola! Hace unos días postee una duda referente a la sesión de Mantener Recepciones. Con el código que nos pasó lsilvag estamos a medio camino de conseguirlo. El código que nos dejaste nos ha servido. Pero tenemos el problema de que el número de recepción que obtenemos con la función get.field(.., tdpur045.reno,..) es siempre 0.

¿Sabes como arreglar esto? El código que tenemos es éste. Muchas gracias con lo que sea. Un saludo,

Public Function recepcionar( _
ByVal orden_compra As String, _
ByVal datos As DataSet) As Integer

Dim cvs As String
Dim cv As Long

'Creación de un objeto Baan, de invocaciòn de sesiones automático
Dim baanobj As Object
baanobj = CreateObject("Baan4.Application.baanivc4") '501
baanobj.Timeout = 300
MsgBox("Objeto AFS creado")

Dim sesion_baan As String = "tdpur4120m000" 'SESION: Mantener recepciones
Dim subsesion As String = "tdpur4224s000" 'Subsesión: Seleccionar recepiones por número de orden
Dim resul_cp As String
Dim nota_entrega As String = "001"
'========================================================================================================================================================================================================


'A)
baanobj.ParseExecFunction("ottstpapihand", "stpapi.handle.subproc(" & Chr(34) & sesion_baan & Chr(34) & "," & Chr(34) & subsesion & Chr(34) & "," & Chr(34) & "add" & Chr(34) & ")")
baanobj.ParseExecFunction("ottstpapihand", "stpapi.put.field(" & Chr(34) & sesion_baan & Chr(34) & "," & Chr(34) & "form.dino" & Chr(34) & "," & Chr(34) & nota_entrega & Chr(34) & ")")
baanobj.ParseExecFunction("ottstpapihand", "stpapi.change.view(" & Chr(34) & sesion_baan & Chr(34) & "," & Chr(34) & cvs & Chr(34) & ")")
MsgBox("Changeview -->> " & baanobj.returnValue & " errorMsg: " & cvs)

'B)
baanobj.ParseExecFunction("ottstpapihand", "stpapi.put.field(" & Chr(34) & subsesion & Chr(34) & "," & Chr(34) & "form.orno" & Chr(34) & "," & Chr(34) & orden_compra & Chr(34) & ")")
baanobj.ParseExecFunction("ottstpapihand", "stpapi.continue.process(" & Chr(34) & subsesion & Chr(34) & "," & Chr(34) & resul_cp & Chr(34) & ")")
MsgBox("CP: " & resul_cp)
baanobj.ParseExecFunction("ottstpapihand", "stpapi.end.session(" & Chr(34) & subsesion & Chr(34) & ")")

'Esperar un tiempo, unos 5s
Sleep(5000)

'C)
Dim num_rec As String
baanobj.ParseExecFunction("ottstpapihand", "stpapi.get.field(" & Chr(34) & sesion_baan & Chr(34) & "," & Chr(34) & "tdpur045.reno" & Chr(34) & "," & Chr(34) & num_rec & Chr(34) & ")")
baanobj.ParseExecFunction("ottstpapihand", "stpapi.end.session(" & Chr(34) & sesion_baan & Chr(34) & ")")
MsgBox("numRecepción-->> " & num_rec & "Valor: " & Val(num_rec))

'D)
baanobj.ParseExecFunction("ottstpapihand", "stpapi.put.field(" & Chr(34) & sesion_baan & Chr(34) & "," & Chr(34) & "tdpur045.reno" & Chr(34) & "," & Chr(34) & nota_entrega & Chr(34) & ")")
baanobj.ParseExecFunction("ottstpapihand", "stpapi.put.field(" & Chr(34) & sesion_baan & Chr(34) & "," & Chr(34) & "tdpur045.orno" & Chr(34) & "," & Chr(34) & orden_compra & Chr(34) & ")")
baanobj.ParseExecFunction("ottstpapihand", "stpapi.put.field(" & Chr(34) & sesion_baan & Chr(34) & "," & Chr(34) & "tdpur045.pono" & Chr(34) & "," & Chr(34) & "10" & Chr(34) & ")")
baanobj.ParseExecFunction("ottstpapihand", "stpapi.find(" & Chr(34) & sesion_baan & Chr(34) & ")")