Verwenden des Filters mit dem Kundenbildschirm in der Acumatica API
Wenn ich mir die API-Beispiele von Acumatica anschaue, habe ich Code zum Exportieren einiger Daten vom Kundenbildschirm auf der Grundlage eines einzelnen Filters geschrieben. Der Filter sollte erzwingen, dass die E-Mail-Adresse des Kunden einem bestimmten Wert entspricht (sobald dies funktioniert, überprüfe ich auch ein benutzerdefiniertes Feld mit einem verschlüsselten Kennwort). Aus irgendeinem Grund gibt die Exportfunktion jeden Kundendatensatz in unserer Datenbank zurück. Kann jemand sagen, was ich mit meinem Filter oder etwas anderem falsch mache? Code und Screenshot vom Debugger sind unten.
Vielen Dank
Public Function ValidateUser(ByVal emailAddress As String, ByVal password As String, ByRef customerFirstName As String, ByRef customerLastName As String, ByRef customerCountry As String, ByRef customerPhone As String, ByRef customerCell As String) As String
Dim customer As AR303000Content = m_context.AR303000GetSchema()
m_context.AR303000Clear()
Dim emailFilter As Filter = New Filter()
emailFilter.Field = customer.GeneralInfoMainContact.Email
emailFilter.Condition = FilterCondition.Equals
emailFilter.Value = emailAddress
Dim searchfilters() As Filter = {emailFilter}
Dim searchCommands() As Command = {customer.CustomerSummary.CustomerID, customer.CustomerSummary.CustomerName, customer.GeneralInfoMainContact.Phone1, customer.GeneralInfoMainContact.Phone2, customer.GeneralInfoMainAddress.Country}
Dim searchResult As String()() = m_context.AR303000Export(searchCommands, searchfilters, 0, False, False)
Dim numRecords = searchResult.Length
Dim customerID As String = ""
Dim customerName As String = ""
If numRecords > 0 Then
' we found a user with that email address
Dim i As Integer = 0
For i = 1 To numRecords
customerID = searchResult(i - 1)(0)
customerName = searchResult(i - 1)(1)
customerPhone = searchResult(i - 1)(2)
customerCell = searchResult(i - 1)(3)
customerCountry = searchResult(i - 1)(4)
Next
End If
Dim spaceInName = customerName.IndexOf(" ")
If spaceInName >= 0 Then
customerFirstName = customerName.Substring(0, spaceInName)
customerLastName = customerName.Substring(spaceInName + 1)
End If
Return customerID
End Function