366 lines
16 KiB
VB.net
366 lines
16 KiB
VB.net
Imports SDL.at.gv.bmf.finanzonlineLogin
|
|
|
|
|
|
' Aufruf des Webservice von FinanzOnline zur prüfung der UID-Nummer
|
|
' Aufgrund von verzögerten Bestätigungen wurd diese Funktion deaktiviert!!!
|
|
|
|
Public Class cFinanzOnlineWebService
|
|
' Private tid As String = My.Resources.tid
|
|
' Private benid As String = My.Resources.benid
|
|
' Private pin As String = My.Resources.pin
|
|
|
|
' 'VERAG:
|
|
'Shared tid As String = "1000103u3032"
|
|
'Shared benid As String = "webserv99"
|
|
'Shared pin As String = "webserv99"
|
|
'Shared uid As String = "ATU53187000"
|
|
|
|
' 'VERAG CS:
|
|
'Shared tid As String = "19379933"
|
|
'Shared benid As String = "WEBserv99"
|
|
'Shared pin As String = "WEBserv99"
|
|
'Shared uid As String = "XXXX"
|
|
|
|
|
|
''FRONT-Office:
|
|
'Shared tid As String = "67493371k039"
|
|
'Shared benid As String = "WEBserv99"
|
|
'Shared pin As String = "WEBserv99"
|
|
'Shared uid As String = "ATU74813856"
|
|
|
|
|
|
'IMEX:
|
|
Shared tid As String = "19435107n654"
|
|
Shared benid As String = "WEBserv99"
|
|
Shared pin As String = "WEBserv99"
|
|
Shared uid As String = "ATU68490714"
|
|
|
|
|
|
Public Shared SESSION_ID As String = ""
|
|
|
|
Shared Sub initValues()
|
|
|
|
Select Case VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA
|
|
Case "IMEX"
|
|
tid = "19435107n654"
|
|
benid = "WEBserv99"
|
|
pin = "WEBserv99"
|
|
uid = "ATU68490714"
|
|
Case "FRONTOFFICE"
|
|
tid = "67493371k039"
|
|
benid = "WEBserv99"
|
|
pin = "WEBserv99"
|
|
uid = "ATU74813856"
|
|
Case "UNISPED"
|
|
tid = "18778752z632"
|
|
benid = "Webmaster1"
|
|
pin = "Webmaster1"
|
|
uid = "ATU67001200"
|
|
Case Else 'VERAG:
|
|
tid = "13390891m005"
|
|
benid = "WEBserv99"
|
|
pin = "WEBserv99"
|
|
uid = "ATU53187000"
|
|
'tid = "1000103u3032"
|
|
'benid = "webserv99"
|
|
'pin = "webserv99"
|
|
'uid = "ATU53187000"
|
|
End Select
|
|
End Sub
|
|
|
|
|
|
Shared Function Call_Web_Service_MethodUID_Login() As Integer
|
|
Dim CallWebService As New SDL.at.gv.bmf.finanzonlineLogin.sessionService
|
|
Try
|
|
Dim rc = ""
|
|
Dim msg = ""
|
|
SESSION_ID = CallWebService.login(tid, benid, pin, uid, rc, msg)
|
|
|
|
Return rc
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return -99
|
|
End Function
|
|
|
|
Shared Function Call_Web_Service_MethodUID_Abfrage(ByRef session As String, ByVal txtFirma As String, ByVal txtUid As String) As String
|
|
Dim CallWebService As New SDL.at.gv.bmf.finanzonline.uidAbfrageService
|
|
Try
|
|
' Return CallWebService.uidAbfrage(session, tid, benid, My.Resources.UID_Nr, txtUid.Text, uidAbfrageRequestStufe.Item2, "", "", "", "", "", "", "")
|
|
'Dim s() As Object = CallWebService.uidAbfrage(session, tid, benid, My.Resources.UID_Nr, txtUid.Text, uidAbfrageRequestStufe.Item2, "", "", "", "", "", "", "")
|
|
|
|
Dim msg As String = ""
|
|
Dim name As String = ""
|
|
Dim adrz1 As String = ""
|
|
Dim adrz2 As String = ""
|
|
Dim adrz3 As String = ""
|
|
Dim adrz4 As String = ""
|
|
Dim adrz5 As String = ""
|
|
Dim adrz6 As String = ""
|
|
|
|
|
|
Dim returnInt As Integer = CallWebService.uidAbfrage(session, tid, benid, My.Resources.UID_Nr, txtUid, at.gv.bmf.finanzonline.uidAbfrageServiceRequestStufe.Item2, msg, name, adrz1, adrz2, adrz3, adrz4, adrz5, adrz6)
|
|
|
|
If returnInt = 0 Then
|
|
Dim firma As String = name & vbNewLine & adrz1
|
|
If adrz2 <> "" Then firma = firma & vbNewLine & adrz2
|
|
If adrz3 <> "" Then firma = firma & vbNewLine & adrz3
|
|
If adrz4 <> "" Then firma = firma & vbNewLine & adrz4
|
|
If adrz5 <> "" Then firma = firma & vbNewLine & adrz5
|
|
If adrz6 <> "" Then firma = firma & vbNewLine & adrz6
|
|
|
|
' frmUIDCheck.firmaUIDFinanzOnline = firma
|
|
' frmUIDCheck.firmaUIDProgramm = txtFirma
|
|
' frmUIDCheck.uidnr = txtUid
|
|
' frmUIDCheck.Show()
|
|
Else
|
|
MsgBox(returnInt)
|
|
End If
|
|
Return returnInt
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return "-1"
|
|
End Function
|
|
Shared Function Call_Web_Service_MethodUID_Logout(ByRef sessionid As String) As String
|
|
Dim CallWebService As New SDL.at.gv.bmf.finanzonlineLogin.sessionService
|
|
Try
|
|
Dim msg = ""
|
|
Dim sGetValue As String = CallWebService.logout(tid, benid, sessionid, msg)
|
|
Return sGetValue
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
|
|
|
|
|
|
Shared Function Call_Web_Service_MethodUID_Login_NEU2020() As Integer
|
|
Dim CallWebService As New VERAG_PROG_ALLGEMEIN.at.gv.bmf.finanzonline.session.sessionService
|
|
Try
|
|
Dim rc As Integer = -1
|
|
Dim msg = ""
|
|
SESSION_ID = CallWebService.login(tid, benid, pin, uid, rc, msg)
|
|
|
|
Return rc
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
Return -99
|
|
End Function
|
|
|
|
|
|
Shared Function genUID_Formular(ByVal txtUid As String, Optional AvisoId As Integer = -1, Optional SendungsId As Integer = -1, Optional ByRef UID_ERG As Integer = -1) As String 'SESSION_ID wir nur zurückgegeben
|
|
Try
|
|
|
|
Dim msgErgebnis = ""
|
|
Dim tmp_SESSION_ID = ""
|
|
Dim Firma = ""
|
|
|
|
UID_ERG = Call_Web_Service_MethodUID_Abfrage_NEU2020(txtUid, Firma, tmp_SESSION_ID, msgErgebnis)
|
|
|
|
If UID_ERG = 0 Or UID_ERG = 1 Then
|
|
Select Case UID_ERG
|
|
Case 0 : msgErgebnis = "UID-Nr. GÜLTIG - OK"
|
|
Case 1 : msgErgebnis = "UID-Nr. UNGÜLTIG"
|
|
End Select
|
|
|
|
Dim PdfTmp = SDL.FormularManagerNEU.UID_PRUEFUNG(msgErgebnis, Firma, tmp_SESSION_ID, uid, txtUid, tid, AvisoId, SendungsId)
|
|
If PdfTmp <> "" Then
|
|
|
|
Dim fileName = "UID_Prüfung_" & txtUid & ".pdf"
|
|
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("DOKUMENTE", "UID_PRUEFUNG", VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, txtUid, Now.ToString("ddMMyy_HHmmss.ffff"), fileName, -1, False) 'Now.ToString("ddMMyy_HHmmss.ffff")
|
|
If Not DS.uploadDataToDATENSERVER(PdfTmp) Then MsgBox("Fehler beim Speichern: Datenserver!") : Return False
|
|
If DS.da_id <= 0 Then MsgBox("Keine DocId!") : Return False
|
|
Dim da_id = DS.da_id
|
|
Dim destPath = DS.GET_TOP1_PATH
|
|
|
|
If AvisoId > 0 And SendungsId > 0 Then
|
|
Dim ANH As New VERAG_PROG_ALLGEMEIN.cAvisoAnhaenge(AvisoId, fileName, DS.da_id, "UID", "PDF", SendungsId)
|
|
If Not ANH.SAVE Then MsgBox("Fehler beim Anhang speichern!") : Return False
|
|
Dim anhId = ANH.anh_id
|
|
End If
|
|
Return destPath
|
|
|
|
|
|
End If
|
|
Else
|
|
MsgBox(msgErgebnis)
|
|
End If
|
|
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
End Try
|
|
|
|
Return ""
|
|
|
|
End Function
|
|
|
|
|
|
Shared Function Call_Web_Service_MethodUID_Abfrage_NEU2020(ByVal txtUid As String, Optional ByRef Firma As String = "", Optional ByRef tmp_SESSION_ID As String = "", Optional ByRef msgErgebnis As String = "", Optional SaveErgInAdressenKdNr As Integer = -1) As String 'SESSION_ID wir nur zurückgegeben
|
|
initValues()
|
|
|
|
If Call_Web_Service_MethodUID_Login_NEU2020() <> 0 Then
|
|
MsgBox("FEHLER FO LOGIN")
|
|
Return -1
|
|
End If
|
|
tmp_SESSION_ID = SESSION_ID
|
|
Dim CallWebService As New VERAG_PROG_ALLGEMEIN.at.gv.bmf.finanzonline.uidAbfrageService
|
|
Try
|
|
' Return CallWebService.uidAbfrage(session, tid, benid, My.Resources.UID_Nr, txtUid.Text, uidAbfrageRequestStufe.Item2, "", "", "", "", "", "", "")
|
|
'Dim s() As Object = CallWebService.uidAbfrage(session, tid, benid, My.Resources.UID_Nr, txtUid.Text, uidAbfrageRequestStufe.Item2, "", "", "", "", "", "", "")
|
|
|
|
Dim msg As String = ""
|
|
Dim name As String = ""
|
|
Dim adrz1 As String = ""
|
|
Dim adrz2 As String = ""
|
|
Dim adrz3 As String = ""
|
|
Dim adrz4 As String = ""
|
|
Dim adrz5 As String = ""
|
|
Dim adrz6 As String = ""
|
|
|
|
Dim returnInt As Integer = CallWebService.uidAbfrage(tid, benid, SESSION_ID, uid, txtUid, VERAG_PROG_ALLGEMEIN.at.gv.bmf.finanzonline.uidAbfrageServiceRequestStufe.Item2, msg, name, adrz1, adrz2, adrz3, adrz4, adrz5, adrz6)
|
|
|
|
If returnInt = 0 Or returnInt = 1 Then
|
|
|
|
Dim UID_TMP As New VERAG_PROG_ALLGEMEIN.cUIDPruefung
|
|
|
|
UID_TMP.uid_Datum = Now
|
|
UID_TMP.uid_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
|
'If If(UID_TMP.uid_Sachbearbeiter, "") = "" Then UID_TMP.uid_Sachbearbeiter = "AUTO"
|
|
UID_TMP.uid_MaId = VERAG_PROG_ALLGEMEIN.cAllgemein.USRID
|
|
UID_TMP.uid_valid = (returnInt = 0)
|
|
If SaveErgInAdressenKdNr > 0 Then UID_TMP.uid_KundenNr = SaveErgInAdressenKdNr
|
|
|
|
|
|
UID_TMP.uid_UstIdKz = GetUIDLand(txtUid)
|
|
UID_TMP.uid_UstIdNr = GetUidNr(txtUid)
|
|
|
|
UID_TMP.Firma = name
|
|
UID_TMP.uid_abfrageUid = uid
|
|
UID_TMP.uid_sessionId = tmp_SESSION_ID
|
|
|
|
UID_TMP.uid_adr1 = adrz1
|
|
UID_TMP.uid_adr2 = adrz2
|
|
UID_TMP.uid_adr3 = adrz3
|
|
UID_TMP.uid_adr4 = adrz4
|
|
UID_TMP.uid_adr5 = adrz5
|
|
UID_TMP.uid_adr6 = adrz6
|
|
|
|
UID_TMP.uid_stufe = 2
|
|
|
|
UID_TMP.SAVE()
|
|
If UID_TMP.uid_valid Then
|
|
If SaveErgInAdressenKdNr > 0 Then
|
|
Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SaveErgInAdressenKdNr)
|
|
AD.UstIdGeprüft = Now.ToShortDateString
|
|
AD.SAVE()
|
|
End If
|
|
End If
|
|
End If
|
|
|
|
|
|
|
|
If returnInt = 0 Then
|
|
Firma = name & vbNewLine & adrz1
|
|
If adrz2 <> "" Then Firma = Firma & vbNewLine & adrz2
|
|
If adrz3 <> "" Then Firma = Firma & vbNewLine & adrz3
|
|
If adrz4 <> "" Then Firma = Firma & vbNewLine & adrz4
|
|
If adrz5 <> "" Then Firma = Firma & vbNewLine & adrz5
|
|
If adrz6 <> "" Then Firma = Firma & vbNewLine & adrz6
|
|
|
|
' frmUIDCheck.firmaUIDFinanzOnline = firma
|
|
' frmUIDCheck.firmaUIDProgramm = txtFirma
|
|
' frmUIDCheck.uidnr = txtUid
|
|
' frmUIDCheck.Show()
|
|
|
|
Else
|
|
MsgBox(GetCodeText(returnInt))
|
|
End If
|
|
msgErgebnis = msg
|
|
Call_Web_Service_MethodUID_Logout_NEU2020()
|
|
Return returnInt
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message & ex.StackTrace)
|
|
Call_Web_Service_MethodUID_Logout_NEU2020()
|
|
End Try
|
|
Return "-1"
|
|
End Function
|
|
|
|
Shared Function GetUIDLand(uid As String)
|
|
If uid.Length > 2 Then
|
|
Return uid.Substring(0, 2)
|
|
End If
|
|
'Dim uidLand = ""
|
|
'For Each s In uid
|
|
' If IsNumeric(s) Then Return uidLand
|
|
' uidLand &= s
|
|
'Next
|
|
'Return uidLand
|
|
End Function
|
|
|
|
|
|
Shared Function GetUidNr(uid As String)
|
|
If uid.Length > 2 Then
|
|
Return uid.Substring(2, uid.Length-2)
|
|
End If
|
|
'Dim uidLand = ""
|
|
'For Each s In uid
|
|
' If IsNumeric(s) Then uidLand &= s
|
|
'Next
|
|
'Return uidLand
|
|
|
|
End Function
|
|
Shared Function GetCodeText(rc As Integer)
|
|
Select Case rc
|
|
Case 0 : Return "Die UID des Erwerbers ist gültig."
|
|
Case -1 : Return "Die Session ID ist ungültig oder abgelaufen."
|
|
Case -2 : Return "Der Aufruf des Webservices ist derzeit wegen Wartungsarbeiten nicht möglich."
|
|
Case -3 : Return "Es ist ein technischer Fehler aufgetreten."
|
|
Case -4 : Return "Dieser Teilnehmer ist für diese Funktion nicht berechtigt."
|
|
Case 1 : Return "Die UID des Erwerbers ist nicht gültig."
|
|
Case 4 : Return "Die UID-Nummer des Erwerbers ist falsch."
|
|
Case 5 : Return "Die UID-Nummer des Antragstellers ist ungültig."
|
|
Case 10 : Return "Der angegebene Mitgliedstaat verbietet diese Abfrage."
|
|
Case 101 : Return "UID beginnt nicht mit ATU."
|
|
Case 103 : Return "Die angefragte UID-Nummer kann im FinanzOnline nur in Stufe 1 bestätigt werden,
|
|
da diese UID-Nummer zu einer Unternehmensgruppe (Umsatzsteuergruppe) gehört.
|
|
Aus technischen Gründen werden aus Tschechien keine Firmendaten angezeigt. Für
|
|
eine gültige Stufe 2 Abfrage ist es daher erforderlich, dass Sie unter
|
|
http://adisreg.mfcr.cz die Daten der CZ-Umsatzsteuergruppe aufrufen und
|
|
kontrollieren, ob das angefragte Unternehmen auch tatsächlich zu dieser Gruppe
|
|
gehört.Bitte bewahren Sie den Ausdruck dieser Anfrage in Ihren Unterlagen als
|
|
Beleg gemäß § 132 BAO auf. Für jede Anfrage Stufe 2 ist sowohl das
|
|
Bestätigungsverfahren in Stufe 1 im FinanzOnline als auch das Gruppenregister im
|
|
anderen Mitgliedsstaat laut o.a. Link zu konsultieren. Im Falle von Fragen wenden
|
|
Sie sich bitte an Ihr zuständiges Finanzamt."
|
|
Case 104 : Return "Die angefragte UID-Nummer kann im FinanzOnline nur in Stufe 1 bestätigt werden,
|
|
da diese UID-Nummer zu einer Unternehmensgruppe (Umsatzsteuergruppe) gehört.
|
|
Aus technischen Gründen werden aus der Slowakei keine Firmendaten angezeigt.
|
|
Für eine gültige Stufe 2 Abfrage ist es daher erforderlich, dass Sie unter
|
|
http://www.drsr.sk die Daten der SK-Umsatzsteuergruppe aufrufen und kontrollieren,
|
|
ob das angefragte Unternehmen auch tatsächlich zu dieser Gruppe gehört. Bitte
|
|
bewahren Sie den Ausdruck dieser Anfrage in Ihren Unterlagen als Beleg gemäß §Bundesministerium für Finanzen Seite 3 von 3
|
|
Stand: 27.10.2016 BAO auf. Für jede Anfrage Stufe 2 ist sowohl das Bestätigungsverfahren In Stufe
|
|
1 im FinanzOnline als auch das Gruppenregister im anderen Mitgliedsstaat laut o.a.
|
|
Link zu konsultieren. Im Falle von Fragen wenden Sie sich bitte an Ihr zuständiges
|
|
Finanzamt."
|
|
Case 105 : Return "Die UID-Nummer ist über FinanzOnline einzeln abzufragen."
|
|
Case 1511 : Return "Der angegebene Mitgliedstaat ist derzeit nicht erreichbar"
|
|
Case Else : Return "Unbekannter Fehler: " & rc
|
|
End Select
|
|
End Function
|
|
Shared Function Call_Web_Service_MethodUID_Logout_NEU2020() As String
|
|
Dim CallWebService As New VERAG_PROG_ALLGEMEIN.at.gv.bmf.finanzonline.session.sessionService
|
|
Try
|
|
Dim msg = ""
|
|
Dim sGetValue As String = CallWebService.logout(tid, benid, SESSION_ID, msg)
|
|
Return sGetValue
|
|
Catch ex As Exception
|
|
MsgBox(ex.Message)
|
|
End Try
|
|
Return ""
|
|
End Function
|
|
End Class
|