UID-Prüfung bei bestehenden Kunden

This commit is contained in:
2023-04-03 17:03:01 +02:00
parent 8b77628773
commit 96e3848aed
4 changed files with 44 additions and 27 deletions

View File

@@ -143,7 +143,7 @@ Public Class cAdressen
End Sub
Dim kundenNameUID = ""
Function VALID(ByRef ERROR_TXT, KD) As Boolean
If If(Ordnungsbegriff, "") = "" Then ERROR_TXT = "Bitte geben Sie einen Ordnungsbegriff ein!" : Return False
If If(Name_1, "") = "" Then ERROR_TXT = "Bitte geben Sie den Firmenwortlaut ein!" : Return False
@@ -153,24 +153,34 @@ Public Class cAdressen
If If(Straße, "") = "" Then ERROR_TXT = "Bitte geben Sie die Straße an!" : Return False
If Not hasEntry Then
'Prüfung Neuanlage:
If checkUID(KD) Then ERROR_TXT = "Die UID Nummer existiert bereits " & getUIDKunden(KD) & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return False
If checkUID(KD, kundenNameUID) Then ERROR_TXT = "Die UID Nummer existiert bereits " & kundenNameUID & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return False
Else
Try
Dim kunde = DirectCast(KD, cKunde)
Dim addresseTemp = New cAdressen(kunde.KundenNr)
If Not (addresseTemp.UstIdKz = UstIdKz And addresseTemp.UstIdNr = UstIdNr) Then
If checkUID(KD, kundenNameUID) Then ERROR_TXT = "Die UID Nummer existiert bereits " & kundenNameUID & "!" & vbNewLine & "Bitte prüfen, damit es zu keiner doppelten Erfassung des Kunden kommt." : Return False
End If
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
End If
Return True
End Function
Function checkUID(KD As cKunde) As Boolean
Function checkUID(KD As cKunde, ByRef kundenNameUID As String) As Boolean
If If(UstIdKz, String.Empty) <> String.Empty And If(UstIdNr, String.Empty) <> String.Empty Then
If SQL.getValueTxtBySql("SELECT COUNT(*) FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "' and kunden.FilialenNr='" & KD.FilialenNr & "'", "FMZOLL") > 0 Then
kundenNameUID = SQL.getValueTxtBySql("SELECT TOP(1) '(' + Cast([AdressenNr] AS NVARCHAR) +' - '+ Cast([Name 1] AS NVARCHAR) + ')' FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "' and kunden.FilialenNr='" & KD.FilialenNr & "'", "FMZOLL")
If kundenNameUID IsNot "" Then
Return True
End If
End If
Return False
End Function
Function getUIDKunden(KD As cKunde) As String
Return SQL.getValueTxtBySql("SELECT TOP(1) '(' +[Name 1] +')' FROM [Adressen] INNER JOIN Kunden ON KundenNr=AdressenNr WHERE [UstIdKz]='" & UstIdKz & "' AND [UstIdNr]='" & UstIdNr & "' and kunden.FilialenNr='" & KD.FilialenNr & "'", "FMZOLL")
End Function
Public Function SAVE(Optional newFlag = False) As Boolean 'obj As Object, tablename As String, where As String) As Boolean
If newFlag Then INIT_NEWKD_DATA()
If AdressenNr <= 0 Then