Anbindung AZEZ-KI API, etc.
This commit is contained in:
@@ -1,9 +1,7 @@
|
||||
Imports System.IO
|
||||
Imports System.Reflection
|
||||
Imports System.Windows.Documents
|
||||
Imports com
|
||||
Imports itextsharp.text.pdf
|
||||
Imports itextsharp.text.pdf.parser
|
||||
Imports Microsoft.Office.Interop
|
||||
Imports VERAG_PROG_ALLGEMEIN
|
||||
|
||||
@@ -578,10 +576,7 @@ Public Class frmMDM_USTVAntrag
|
||||
setinfofields()
|
||||
|
||||
If VERAG_PROG_ALLGEMEIN.cAllgemein.AUTO_ABF_NR Then btnAbfertigungsNrVergeben.Visible = True
|
||||
|
||||
scanUSTVA.INIT(USTV_ANTRAG.UStVAn_KuNr, "MDM", "USTVA_KI_" & USTV_ANTRAG.UStVAn_ID)
|
||||
|
||||
btnPDFauslesen.Enabled = scanUSTVA.getDS().da_id > 0
|
||||
initScanUSTVA()
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -699,7 +694,7 @@ Public Class frmMDM_USTVAntrag
|
||||
Return False
|
||||
End Function
|
||||
|
||||
Shared Function loadUSTVFrom_PLOSE(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien, MWSTSummenAusBeleg) As Boolean
|
||||
Shared Function loadUSTVFrom_PLOSE(UStVAn_ID As Integer, Antrag_LandKz As String, ArchivierteEintracheNochmalsEinarbetien As Boolean, MWSTSummenAusBeleg As Boolean) As Boolean
|
||||
Try
|
||||
Dim bytSchnittstellenNr = IIf(MWSTSummenAusBeleg, 11, 6)
|
||||
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
||||
@@ -799,21 +794,21 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" AndAlso ANTRAG.plose_WaehrungAbbuchung = "EUR" Then
|
||||
|
||||
UST_org = Math.round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
UST_org = Math.Round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
|
||||
ElseIf USTV_ANTRAG.UStVAn_Währungscode = "EUR" AndAlso ANTRAG.plose_WaehrungAbbuchung <> "EUR" Then
|
||||
|
||||
UST_EUR = Math.round(kurs.EXCHANGE_CURTOEUR(UST_org, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
UST_EUR = Math.Round(kurs.EXCHANGE_CURTOEUR(UST_org, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
|
||||
ElseIf USTV_ANTRAG.UStVAn_Währungscode <> "EUR" AndAlso ANTRAG.plose_WaehrungAbbuchung <> "EUR" Then
|
||||
|
||||
UST_EUR = Math.round(kurs.EXCHANGE_CURTOEUR(UST_org, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
UST_EUR = Math.Round(kurs.EXCHANGE_CURTOEUR(UST_org, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
|
||||
End If
|
||||
|
||||
|
||||
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
|
||||
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
End If
|
||||
|
||||
|
||||
@@ -852,7 +847,7 @@ Public Class frmMDM_USTVAntrag
|
||||
End Function
|
||||
|
||||
|
||||
Shared Function loadUSTVFrom_VERAG(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
||||
Shared Function loadUSTVFrom_VERAG(UStVAn_ID As Integer, Antrag_LandKz As String, ArchivierteEintracheNochmalsEinarbetien As Boolean) As Boolean
|
||||
Try
|
||||
|
||||
If Antrag_LandKz <> "AT" Then
|
||||
@@ -937,7 +932,7 @@ Public Class frmMDM_USTVAntrag
|
||||
Dim umrechKurs As Double = 1
|
||||
Dim UST_EUR = CDbl(r.Item("SteuerbetragLokal"))
|
||||
|
||||
UST_EUR = Math.round(UST_EUR, 2)
|
||||
UST_EUR = Math.Round(UST_EUR, 2)
|
||||
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = UST_EUR
|
||||
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
|
||||
@@ -968,7 +963,7 @@ Public Class frmMDM_USTVAntrag
|
||||
End Function
|
||||
|
||||
|
||||
Shared Function loadUSTVFrom_RMC(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
||||
Shared Function loadUSTVFrom_RMC(UStVAn_ID As Integer, Antrag_LandKz As String, ArchivierteEintracheNochmalsEinarbetien As Boolean) As Boolean
|
||||
|
||||
Try
|
||||
Dim bytSchnittstellenNr = 7
|
||||
@@ -1023,12 +1018,12 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
'umrechKurs = frmdw / eur
|
||||
|
||||
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
|
||||
End If
|
||||
|
||||
If CDbl(r.Item("rmc_betragMWST")) <> 0 Then
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.round((r.Item("rmc_betragMWST") / umrechKurs), 2)
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round((r.Item("rmc_betragMWST") / umrechKurs), 2)
|
||||
USTV_POS.UStVPo_Umrechnungskurs = umrechKurs
|
||||
USTV_POS.UStVPo_USteuerbetrag = r.Item("rmc_betragMWST")
|
||||
End If
|
||||
@@ -1049,7 +1044,7 @@ Public Class frmMDM_USTVAntrag
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Shared Function loadUSTVFrom_MSE(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
||||
Shared Function loadUSTVFrom_MSE(UStVAn_ID As Integer, Antrag_LandKz As String, ArchivierteEintracheNochmalsEinarbetien As Boolean) As Boolean
|
||||
Try
|
||||
Dim bytSchnittstellenNr = 9 'damit von alter Schnittstelle und neue Schnittstelle keine Daten doppelt importiert werden
|
||||
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
||||
@@ -1100,7 +1095,7 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
'umrechKurs = UST_org / UST_EUR
|
||||
|
||||
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
|
||||
End If
|
||||
|
||||
@@ -1126,7 +1121,7 @@ Public Class frmMDM_USTVAntrag
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Shared Function loadUSTVFrom_UTA(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
||||
Shared Function loadUSTVFrom_UTA(UStVAn_ID As Integer, Antrag_LandKz As String, ArchivierteEintracheNochmalsEinarbetien As Boolean) As Boolean
|
||||
Try
|
||||
Dim bytSchnittstellenNr = 10 'damit von alter Schnittstelle und neue Schnittstelle keine Daten doppelt importiert werden
|
||||
Dim USTV_ANTRAG As New VERAG_PROG_ALLGEMEIN.cUSTVAntrag(UStVAn_ID)
|
||||
@@ -1181,7 +1176,7 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
|
||||
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
|
||||
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
End If
|
||||
|
||||
|
||||
@@ -1208,7 +1203,7 @@ Public Class frmMDM_USTVAntrag
|
||||
End Try
|
||||
End Function
|
||||
|
||||
Shared Function loadUSTVFrom_IDS(UStVAn_ID, Antrag_LandKz, ArchivierteEintracheNochmalsEinarbetien) As Boolean
|
||||
Shared Function loadUSTVFrom_IDS(UStVAn_ID As Integer, Antrag_LandKz As String, ArchivierteEintracheNochmalsEinarbetien As Boolean) As Boolean
|
||||
Try
|
||||
'Dim bytSchnittstellenNr = 8 'damit von alter Schnittstelle und neue Schnittstelle keine Daten doppelt importiert werden
|
||||
Dim bytSchnittstellenNr = 12
|
||||
@@ -1292,11 +1287,11 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
||||
UST_org = Math.round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
UST_org = Math.Round(kurs.EXCHANGE_EURTOCUR(UST_EUR, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
End If
|
||||
|
||||
If (UST_org <> 0 AndAlso UST_org <> UST_EUR) Then
|
||||
umrechKurs = Math.floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
umrechKurs = Math.Floor((UST_org / UST_EUR * 100 + 0.5)) / 100
|
||||
End If
|
||||
|
||||
|
||||
@@ -1323,7 +1318,7 @@ Public Class frmMDM_USTVAntrag
|
||||
End Function
|
||||
|
||||
|
||||
Shared Function loadUSTVFrom_ATEZ_KI(UStVAn_ID As Integer, Antrag_LandKz As String, atez_api As cATEZ_NCTS_IN, daid As Integer) As Boolean
|
||||
Shared Function loadUSTVFrom_ATEZ_KI(UStVAn_ID As Integer, Antrag_LandKz As String, atez_api As cATEZ_NCTS_IN, daid As Integer, pageCount As Integer, documentType As String) As Boolean
|
||||
Try
|
||||
|
||||
Dim bytSchnittstellenNr = -1
|
||||
@@ -1335,6 +1330,7 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
If dt IsNot Nothing And Not dt.Columns.Contains("currency") Then
|
||||
|
||||
dt.Columns.Add("count", GetType(Integer))
|
||||
dt.Columns.Add("currency", GetType(String))
|
||||
dt.Columns.Add("seller_VAT_id", GetType(String))
|
||||
dt.Columns.Add("seller_address_city", GetType(String))
|
||||
@@ -1346,6 +1342,7 @@ Public Class frmMDM_USTVAntrag
|
||||
dt.Columns.Add("invoice_id", GetType(String))
|
||||
dt.Columns.Add("invoice_date", GetType(String))
|
||||
dt.Columns.Add("status", GetType(String))
|
||||
dt.Columns.Add("document_count", GetType(Integer))
|
||||
End If
|
||||
|
||||
Dim failreDesc As String
|
||||
@@ -1357,8 +1354,8 @@ Public Class frmMDM_USTVAntrag
|
||||
Else
|
||||
'If API.SendRequestWithAuthHeader("application/json", failreDesc, "/health", "GET") = "200" Then
|
||||
|
||||
'document_type = vat_invoice or receipt
|
||||
If atez_api.setJsonVAT("vat_invoice", daid) Then
|
||||
|
||||
If atez_api.setJsonVAT(documentType, daid) Then
|
||||
|
||||
resp = atez_api.SendRequestWithAuthHeader("application/json", failreDesc, "/process", "POST", dt)
|
||||
|
||||
@@ -1371,84 +1368,150 @@ Public Class frmMDM_USTVAntrag
|
||||
If f.ShowDialog = DialogResult.OK Then
|
||||
|
||||
|
||||
Dim DS_ORIG_alreadyDeleted As Boolean = False
|
||||
Dim DS_ORIG As New cDATENSERVER(daid)
|
||||
Dim fi_orig As New FileInfo(DS_ORIG.GET_TOP1_PATH())
|
||||
|
||||
For Each r As DataGridViewRow In f.usrcntlVAT_ATEZ1.dgvVAT.SelectedRows
|
||||
|
||||
Dim sql As New SQL
|
||||
'Dim kdnr = r.Cells("Kundennummer").Value
|
||||
|
||||
Dim USTV_POS As New VERAG_PROG_ALLGEMEIN.cUStVPositionen
|
||||
|
||||
|
||||
Dim reDat As Date = IIf(Not IsDBNull(r.Cells("invoice_date").Value) AndAlso IsDate(r.Cells("invoice_date").Value), r.Cells("invoice_date").Value, Nothing)
|
||||
|
||||
USTV_POS.UStVAn_ID = USTV_ANTRAG.[UStVAn_ID]
|
||||
USTV_POS.UStVPo_ID = USTV_ANTRAG.getMaxPosNr
|
||||
USTV_POS.UStVPo_ReDat = r.Cells("invoice_date").Value
|
||||
USTV_POS.UStVPo_ReDat = reDat.ToShortDateString
|
||||
USTV_POS.UStVPo_ReNr = r.Cells("invoice_id").Value.ToString
|
||||
USTV_POS.UStVPo_SchnittstellenNr = bytSchnittstellenNr
|
||||
|
||||
USTV_POS.UStVPo_Leistender =
|
||||
USTV_POS.UStVPo_Leistungsbezeichnung = "Maut/Diesel"
|
||||
USTV_POS.UStVPo_Schnittstelle = True
|
||||
|
||||
Dim leistenderName As String = r.Cells("seller_name").Value
|
||||
|
||||
|
||||
|
||||
Dim leistender As New cUStVLeistender(leistenderName & " " & Antrag_LandKz, Antrag_LandKz)
|
||||
If leistender.UStV_LeistenderId < 1 Then
|
||||
leistender = New cUStVLeistender(leistenderName)
|
||||
End If
|
||||
|
||||
USTV_POS.UStVPo_Leistender = leistender.UStV_Leistender.ToString
|
||||
USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
||||
USTV_POS.UStVPo_Zeitstempel = Now()
|
||||
If Not alreadyExists(USTV_ANTRAG.UStVAn_KuNr, USTV_ANTRAG.UStVAn_LandNr, USTV_POS) Then
|
||||
|
||||
|
||||
'1. Antragswährung = Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
||||
If r.Cells("currency").Value = USTV_ANTRAG.UStVAn_Währungscode Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
||||
If USTV_ANTRAG.UStVAn_Währungscode = "EUR" Then
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = r.Cells("total_VAT_amount").Value
|
||||
If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" Then
|
||||
USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||
Else
|
||||
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
||||
USTV_POS.UStVPo_Umrechnungskurs = 1
|
||||
End If
|
||||
|
||||
If pageCount = r.Cells("document_count").Value Then
|
||||
USTV_POS.UStVPo_daId_loeschbar = True
|
||||
|
||||
Dim DS_NEW As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "ATEZ_KI", Now.Year, Now.ToString("yyyyMMdd"), fi_orig.Name, USTV_ANTRAG.UStVAn_KuNr, False)
|
||||
If Not DS_NEW.uploadDataToDATENSERVER(fi_orig.FullName) Then MsgBox("Fehler beim Speichern: Datenserver!") : Return False
|
||||
If DS_NEW.da_id <= 0 Then MsgBox("Keine DocId!") : Return False
|
||||
USTV_POS.UStVPo_daId = DS_NEW.da_id
|
||||
|
||||
'gesamtePDF wird gespeichert, alte DS kann gelscht werden:
|
||||
If DS_ORIG.DELETE_COMPLETE() Then DS_ORIG_alreadyDeleted = True
|
||||
|
||||
Else
|
||||
USTV_POS.UStVPo_daId_loeschbar = True
|
||||
|
||||
'todo: Logik Aufsplittung des PDF in Teilpdfs
|
||||
Dim pagestart = 0
|
||||
For Each pages As DataRow In dt.Rows
|
||||
pagestart += CInt(pages.Item("document_count"))
|
||||
If pages.Item("count") = r.Cells("count").Value Then Exit For
|
||||
Next
|
||||
|
||||
|
||||
|
||||
Dim TMP_Path_Old = fi_orig.FullName
|
||||
Dim TMP_Path_New = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath(fi_orig.Name, fi_orig.Extension,, True, "USTVA_POS")
|
||||
|
||||
VERAG_PROG_ALLGEMEIN.cAllgemein.ExtractPdfPages(TMP_Path_Old, TMP_Path_New, pagestart, r.Cells("document_count").Value)
|
||||
|
||||
|
||||
Dim DS_NEW As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "MDM_DATEN", "ATEZ_KI", Now.Year, Now.ToString("yyyyMMdd"), fi_orig.Name, USTV_ANTRAG.UStVAn_KuNr, False)
|
||||
If Not DS_NEW.uploadDataToDATENSERVER(TMP_Path_New) Then MsgBox("Fehler beim Speichern: Datenserver!") : Return False
|
||||
If DS_NEW.da_id <= 0 Then MsgBox("Keine DocId!") : Return False
|
||||
|
||||
USTV_POS.UStVPo_daId = DS_NEW.da_id
|
||||
|
||||
|
||||
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||
End If
|
||||
Else
|
||||
'2. Antragswährung <> Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
||||
If USTV_ANTRAG.UStVAn_Währungscode = "EUR" Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(r.Cells("currency").Value)
|
||||
If r.Cells("currency").Value <> "EUR" Then
|
||||
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, r.Cells("currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||
ElseIf r.Cells("currency").Value = "EUR" Then
|
||||
USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = USTV_POS.UStVPo_USteuerbetrag
|
||||
USTV_POS.UStVPo_Umrechnungskurs = 1
|
||||
End If
|
||||
Else
|
||||
'2.1 Antragswährung <> Belegswährung (FREMD zu FREMD)
|
||||
|
||||
USTV_POS.UStVPo_USteuerbetrag = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(r.Cells("total_VAT_amount").Value, r.Cells("currency").Value, USTV_ANTRAG.UStVAn_Währungscode)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Dim leistenderName As String = r.Cells("seller_name").Value
|
||||
Dim leistenderUID As String = r.Cells("seller_VAT_id").Value
|
||||
Dim leistender As New cUStVLeistender(leistenderUID, True)
|
||||
|
||||
If leistender.UStV_LeistenderId < 1 Then
|
||||
leistender = New cUStVLeistender(leistenderName & " " & Antrag_LandKz, Antrag_LandKz)
|
||||
End If
|
||||
If leistender.UStV_LeistenderId < 1 Then
|
||||
leistender = New cUStVLeistender(leistenderName)
|
||||
End If
|
||||
|
||||
USTV_POS.UStVPo_Leistender = leistender.UStV_Leistender.ToString
|
||||
USTV_POS.UStVPo_Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME
|
||||
USTV_POS.UStVPo_Zeitstempel = Now()
|
||||
|
||||
'1. Antragswährung = Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
||||
If r.Cells("currency").Value = USTV_ANTRAG.UStVAn_Währungscode Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||
If USTV_ANTRAG.UStVAn_Währungscode = "EUR" Then
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = r.Cells("total_VAT_amount").Value
|
||||
If USTV_ANTRAG.UStVAn_Währungscode <> "EUR" Then
|
||||
USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||
Else
|
||||
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
||||
USTV_POS.UStVPo_Umrechnungskurs = 1
|
||||
End If
|
||||
|
||||
Else
|
||||
|
||||
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, r.Cells("currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||
End If
|
||||
Else
|
||||
'2. Antragswährung <> Belegswährung (EUR zu FREMD und FREMD zu EUR)
|
||||
If USTV_ANTRAG.UStVAn_Währungscode = "EUR" Then
|
||||
Dim kurs As New cEZB_Waehrungskurse(r.Cells("currency").Value)
|
||||
If r.Cells("currency").Value <> "EUR" Then
|
||||
USTV_POS.UStVPo_USteuerbetrag = r.Cells("total_VAT_amount").Value
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, r.Cells("currency").Value, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||
ElseIf r.Cells("currency").Value = "EUR" Then
|
||||
USTV_POS.UStVPo_USteuerbetrag = Math.Round(kurs.EXCHANGE_EURTOCUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = USTV_POS.UStVPo_USteuerbetrag
|
||||
USTV_POS.UStVPo_Umrechnungskurs = 1
|
||||
End If
|
||||
Else
|
||||
'2.1 Antragswährung <> Belegswährung (FREMD zu FREMD)
|
||||
|
||||
USTV_POS.UStVPo_USteuerbetrag = VERAG_PROG_ALLGEMEIN.cProgramFunctions.fktEuro(r.Cells("total_VAT_amount").Value, r.Cells("currency").Value, USTV_ANTRAG.UStVAn_Währungscode)
|
||||
Dim kurs As New cEZB_Waehrungskurse(USTV_ANTRAG.UStVAn_Währungscode)
|
||||
USTV_POS.UStVPo_USteuerbetragEUR = Math.Round(kurs.EXCHANGE_CURTOEUR(r.Cells("total_VAT_amount").Value, USTV_ANTRAG.UStVAn_Währungscode, CDate(USTV_POS.UStVPo_ReDat)), 2)
|
||||
USTV_POS.UStVPo_Umrechnungskurs = Math.Floor((CDbl(USTV_POS.UStVPo_USteuerbetrag) / CDbl(USTV_POS.UStVPo_USteuerbetragEUR) * 100 + 0.5)) / 100
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
USTV_POS.INSERT()
|
||||
|
||||
End If
|
||||
|
||||
USTV_POS.INSERT()
|
||||
|
||||
Next
|
||||
|
||||
If Not DS_ORIG_alreadyDeleted Then
|
||||
DS_ORIG.DELETE_COMPLETE()
|
||||
|
||||
End If
|
||||
|
||||
|
||||
End If
|
||||
@@ -1844,17 +1907,18 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
End If
|
||||
|
||||
Dim Leistungsbezeichnung = ""
|
||||
If UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value = 3 Then Leistungsbezeichnung = UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_Leistungsbezeichnung
|
||||
|
||||
If setArchiv(UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_Leistungsbezeichnung) Then
|
||||
If setArchiv(UstCntlUSTV_AntragPosition1.cboSchnittstellennr._value, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReDat, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ReNr, Leistungsbezeichnung) Then
|
||||
If UstCntlUSTV_AntragPosition1.UStV_POS.DELETE(UstCntlUSTV_AntragPosition1.UStV_POS.UStVAn_ID, UstCntlUSTV_AntragPosition1.UStV_POS.UStVPo_ID) Then
|
||||
reorderUSTVAPositions(UstCntlUSTV_AntragPosition1.UStV_POS.UStVAn_ID)
|
||||
End If
|
||||
init()
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
UstCntlUSTV_AntragPosition1.Enabled = False
|
||||
UstCntlUSTV_AntragPosition1.Enabled = False
|
||||
|
||||
End If
|
||||
End Sub
|
||||
@@ -2770,8 +2834,10 @@ Public Class frmMDM_USTVAntrag
|
||||
End If
|
||||
|
||||
|
||||
Dim Leistungsbezeichnung = ""
|
||||
If r.Cells("UStVPo_SchnittstellenNr").Value = 3 Then Leistungsbezeichnung = r.Cells("UStVPo_Leistungsbezeichnung").Value
|
||||
|
||||
If setArchiv(r.Cells("UStVPo_SchnittstellenNr").Value, r.Cells("UStVPo_ReDat").Value, r.Cells("UStVPo_ReNr").Value, r.Cells("UStVPo_Leistungsbezeichnung").Value) Then
|
||||
If setArchiv(r.Cells("UStVPo_SchnittstellenNr").Value, r.Cells("UStVPo_ReDat").Value, r.Cells("UStVPo_ReNr").Value, Leistungsbezeichnung) Then
|
||||
Dim sqlstr = " DELETE FROM tblUStVPositionen WHERE UStVAn_ID=" & Me.UStVAn_ID & " AND UStVPo_ID=" & r.Cells("UStVPo_ID").Value
|
||||
If Not SQL.doSQL(sqlstr, "FMZOLL") Then
|
||||
Exit Sub
|
||||
@@ -2881,24 +2947,77 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
Private Sub scanUSTVA_FileAdded(id As String, path As String, name As String) Handles scanUSTVA.FileAdded
|
||||
btnPDFauslesen.Enabled = scanUSTVA.getDS.da_id > 0
|
||||
End Sub
|
||||
|
||||
Private Sub mnuItemKIUPLOAD_Clicked(sender As Object, e As EventArgs)
|
||||
|
||||
cnS_KIUPLOAD.Hide()
|
||||
Dim item As ToolStripMenuItem = TryCast(sender, ToolStripMenuItem)
|
||||
|
||||
If item IsNot Nothing Then
|
||||
|
||||
Dim daid As Integer = scanUSTVA.getDS().da_id
|
||||
|
||||
If daid > 0 Then
|
||||
|
||||
Dim DS As New cDATENSERVER(daid)
|
||||
|
||||
If DS.GET_TOP1_PATH <> "" Then
|
||||
|
||||
Dim pdfR As New PdfReader(DS.GET_TOP1_PATH)
|
||||
|
||||
|
||||
If atez_api IsNot Nothing Then
|
||||
|
||||
|
||||
|
||||
If vbYes = MsgBox("Möchten Sie die Rechnungsdaten der " & item.Text & " per ATEZ-API auslesen lassen?", vbYesNoCancel) Then
|
||||
|
||||
'document_type = vat_invoice or receipt
|
||||
loadUSTVFrom_ATEZ_KI(UStVAn_ID, Antrag_LandKz, atez_api, scanUSTVA.getDS().da_id, pdfR.NumberOfPages, item.Name)
|
||||
|
||||
initScanUSTVA()
|
||||
|
||||
End If
|
||||
|
||||
Else
|
||||
DS.DELETE_COMPLETE()
|
||||
initScanUSTVA()
|
||||
|
||||
End If
|
||||
init()
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub btnPDFauslesen_Click(sender As Object, e As EventArgs) Handles btnPDFauslesen.Click
|
||||
|
||||
If scanUSTVA.getDS().da_id > 0 Then
|
||||
'document_type = vat_invoice or receipt
|
||||
|
||||
|
||||
If atez_api IsNot Nothing Then
|
||||
If vbYes = MsgBox("Möchten Sie die Rechnungsdaten per ATEZ-API auslesen lassen?", vbYesNoCancel) Then
|
||||
|
||||
loadUSTVFrom_ATEZ_KI(UStVAn_ID, Antrag_LandKz, atez_api, scanUSTVA.getDS().da_id)
|
||||
|
||||
|
||||
End If
|
||||
End If
|
||||
If Not cnS_KIUPLOAD.Items.ContainsKey("vat_invoice") Then
|
||||
Dim vat = New ToolStripMenuItem() With {.Text = "MWST-Rechnung(en)", .Name = "vat_invoice", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||
cnS_KIUPLOAD.Items.Add(vat)
|
||||
AddHandler vat.Click, AddressOf mnuItemKIUPLOAD_Clicked
|
||||
End If
|
||||
|
||||
|
||||
If Not cnS_KIUPLOAD.Items.ContainsKey("receipt") Then
|
||||
Dim receipt = New ToolStripMenuItem() With {.Text = "Quittung(en)", .Name = "receipt", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
|
||||
cnS_KIUPLOAD.Items.Add(receipt)
|
||||
AddHandler receipt.Click, AddressOf mnuItemKIUPLOAD_Clicked
|
||||
|
||||
End If
|
||||
|
||||
cnS_KIUPLOAD.Show(Cursor.Position)
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub calcSumme()
|
||||
@@ -2920,4 +3039,14 @@ Public Class frmMDM_USTVAntrag
|
||||
|
||||
|
||||
|
||||
Private Sub initScanUSTVA()
|
||||
|
||||
scanUSTVA.INIT(USTV_ANTRAG.UStVAn_KuNr, "MDM", "USTVA_KI_" & USTV_ANTRAG.UStVAn_ID)
|
||||
btnPDFauslesen.Enabled = scanUSTVA.getDS().da_id > 0
|
||||
|
||||
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
End Class
|
||||
Reference in New Issue
Block a user