From d079aff6cccb3ad6cee24ec7c53968ac7c1df1b1 Mon Sep 17 00:00:00 2001 From: Andreas Luxbauer Date: Sun, 20 Jul 2025 21:16:01 +0200 Subject: [PATCH] uta --- SDL/My Project/AssemblyInfo.vb | 4 +- SDL/Resources/AEO_CS.jpg | Bin 49424 -> 58273 bytes SDL/SDL.vbproj | 4 +- .../usrCntlSpeditionsBuchSuche.vb | 21 +++- SDL/USTV/usrCntlUSTV.vb | 73 +++++++----- SDL/kunden/frmKundenSyska_DatenÜbertragen.vb | 23 ++-- ...undenAvisoMailBenachrichtigung.Designer.vb | 94 +++++++++------ .../usrCntlKundenAvisoMailBenachrichtigung.vb | 18 ++- SDL/mdm/frmMDMDatenverarbetiung.vb | 2 +- VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb | 24 ++++ .../Classes/cEmailBenachrichtigung.vb | 16 +-- .../Classes/cKundenErweitert.vb | 2 + VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb | 26 ++++- .../DATENSERVER/cDATENSERVER.vb | 13 +++ .../Schnittstellen/BZST/cBZST_UID.vb | 108 ++++++++++++++++++ .../Schnittstellen/BZST/cBZST_UID_XML.vb | 75 ++++++++++++ .../Schnittstellen/TELOTEC/cTelotecAPI.vb | 5 + .../VERAG_PROG_ALLGEMEIN.vbproj | 5 + 18 files changed, 415 insertions(+), 98 deletions(-) create mode 100644 VERAG_PROG_ALLGEMEIN/Schnittstellen/BZST/cBZST_UID.vb create mode 100644 VERAG_PROG_ALLGEMEIN/Schnittstellen/BZST/cBZST_UID_XML.vb diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index 8b68c701..4093d484 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/Resources/AEO_CS.jpg b/SDL/Resources/AEO_CS.jpg index b0e6c112db2d1bfff0ac5b77c9d07804e5754dec..45be488dac4be338ea86a342927490b3b1d5bb32 100644 GIT binary patch literal 58273 zcmce+1z1~6+b$ZUK%qc^0xd2r6e#Yl!QCN9v7#YBaIZjdN^vbN!7UK9rMSCGad#^e z=m~w__xrxR|9|i6?0v55Jb`4^ntAT~k(pUDYpvhYzn1||fu6Q+000FAW&jr8-|~A8 zKp^90VebV%0iYvKivR$>m(fgZTwR@n*x4PSY-W}ab1OCr2$~u7Lnz-7F(n;R4(&($G(?~;HtY~=IxLGYY zI5}zf_}Dmkc=`A^U(s-JaB{J8ApiJSIeCP5`GmOmY5o>EB%6!n8zD^@*}u7vN1}9p zJLTcw!REou263@w=M)qayvN|;Vnw!Kg?c%nmt^RGsf7=?W?d4>}u4x5@xVczZA)C|x zql}E*|DNc+A<`NlH5XfCQp_A=AQo<5D@Rua8Bsb;UI9UFpe!Gkw6q|vEC*0hl9N|j zibIy0O9sd%z{B~E?tkha(bz0)Ers~`xdnmzKyE1>4j?BdP+E$ci&KDGK$eS(AIQrq zAo-83f+N(`%+bQ?p6_1Q_TRc(|65%lX%{OqSBQ%?1mf^d=GAQ=t`MjV#EC{)i;w1| zo~@%L!~@E7pO(M8l(BNLb+@vVb%B6s{=`+t_P^ohLHZ{t#V5c4l;QzOb8<>?$jAaY z1vzDTI0S$)yc~3Y>stPw#EKnh1p9qw_>a!<&naY&yD$E$t0NEoHCU`1kt4(fITU^$ z02uysaDe4k(iHZ9N_vz!u zPsxZ0h{^s{@&C5)yA42qg^G=;kA^}3KqWvyBS87xj)IPyFHjz!AnpB^V4$L*Kfpx6 zLY_oJLCU`>04Vo07?_WduA-r#K0rf5|EmEC02Pe@{lQ~G3>r=j30k5j>U1Pr#JsNq zCF!MjUT`x!=OaL>pdeAPFfcJNk+4WsqzWx3A-bdn9T(AK8Z+k@DS8fxx0NHB+)uK; znY+AupuU`4B@N{{I{vKno;R>| zDus{NFqS{^nVN~#SZfMpScj}}bGNFk%|VqcGyXee9^Def^R9$O#clVY9OuKP-t&}O zrh#TLVZOo(y<)z6Hkna3c6Rul%8p^O)w6=k|6(%gQ}-xvi7k7^20YT$;$`QlBlw_g zn{>C0XlX#Ba&S)hEXs9RTZM=`!gXXnV~XXhl^wqSCKSZPt^8lX2Wi=mmXmi*5V-?)|f;CkrwQ0016nO#UKfuD+(>KcERTam#$L zXYr?k{kFZ$_p{Hl8`+)_*A|s3oaGMXHK-*{z0Y$lH@+Zi_dfb$mhbO@_8p1&`SXlT zjlFB6@hZc!iL_aGZE6AiPOi9JzjGaEy|qIAUj!&5Nt@o9;XFRp>AoipjhybsF6L{n z(84nqLvpA!!%2(iR?_BTG`r%d_i-u726xeGz>~PRxF;liviaSnK-NAo3)44GI(w_5 zUm1kEY>P~7CF%bgJUeN*`Pm}-Z0&A>a=9VfEZdBMfjYmZZQ*PjCDGtEf+$%DYO3~G zVW_N2*x|Uv_|+!>wj#Eol2uiYK@DJdQDDgGRlm0vw$&tpC)w)d^M8=BRdHLqn_q@o zZ%3&hBXXX|O3J{Z0(6>L_u^+bGL=ppKj3WnE^J!T>0O!Tbmmw&O!EnVe-Djgl|wQ8 zEciJBqT*C)q+qT@HX

-MOHaa>elvIy&n4dg{81-Uec-bUS=9d`i!5o<;3LL9`D^ zC_dY;xKf@CixK;#!ohCHJf0`+ld_Vs5*JKsf5C0xUpxhuED4&DToI>)MXOnDBQf#uv9Z-? zgS;0?OA;PcTLJ)*tPfU0-K}YIFIq(ZnHOY+di`JEsKPeOAnQcmlQ&#%*n7{j zZ{ru)3~L#uQ$ndpuFE1W>K9cynypB}iz3~YSyq>NytVDm3i!@`t{MF@pJhk`?Lk{| zjIO5g`UHP$FP+*e7cn87A?X7w1p)w>SDUS@=Zv+-$mso%b#GmiGB5XhAE&CaE1tjkoK%WnW3P%Lk|RP*YD{X3 zYxF$JOxmxQ0#YX`J1^xo9m%LlO8X tmwoGV*xqlo1G@Ki9VtWF<8!Xk8Axk;{w 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%0AhJ!sN4WwJ8yQSYc|>`ASn)TbppeDQfK^;wa9Dq; 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 - - Always - + diff --git a/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.vb b/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.vb index 01fb3c87..447224c8 100644 --- a/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.vb +++ b/SDL/Speditionsbuch/usrCntlSpeditionsBuchSuche.vb @@ -2182,13 +2182,22 @@ Public Class usrCntlSpeditionsBuchSuche Blatt.Range("H" & cnt).Value = r("BelegNr") Dim ZOLLANMELDUNG As New DAKOSY_Worker.cZollsysteme_Aktenbeschriftung - If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, r("Zollsystem_Land")) Then - Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.Rechnungspreis - Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) - Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL - Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ANZ_POS - End If + Try + Dim zS = If(r("Zollsystem_Land") IsNot DBNull.Value, r("Zollsystem_Land").ToString(), "") + If ZOLLANMELDUNG.getDataByBezugsnummer(r("FilialenNr") & "/" & r("AbfertigungsNr"), r("Abfertigungsart"), "", False, zS) Then + Blatt.Range("F" & cnt).Value = ZOLLANMELDUNG.Rechnungspreis + Blatt.Range("G" & cnt).Value = ZOLLANMELDUNG.Handelsrechnung.Replace(", ", "," & vbNewLine) + Blatt.Range("I" & cnt).Value = ZOLLANMELDUNG.ABGABEN_ZOLL + Blatt.Range("J" & cnt).Value = ZOLLANMELDUNG.ANZ_POS + If If(ZOLLANMELDUNG.ATCMRN, "") <> "" Then + Blatt.Range("H" & cnt).Value = ZOLLANMELDUNG.ATCMRN + End If + End If + + Catch ex As Exception + MsgBox(ex.Message & ex.StackTrace) + End Try lblKdAusFortschritt.Text = (cnt - 2) & "/" & dt.Rows.Count Me.Refresh() cnt += 1 diff --git a/SDL/USTV/usrCntlUSTV.vb b/SDL/USTV/usrCntlUSTV.vb index f5164bff..fe22efd5 100644 --- a/SDL/USTV/usrCntlUSTV.vb +++ b/SDL/USTV/usrCntlUSTV.vb @@ -43,7 +43,7 @@ Public Class usrCntlUSTV End If End If - .SET_SQL("SELECT " & topMax & " [tblUStVAntrag].[UStVAn_ID],UStVAn_AntragArt,[UStVAn_KuNr],[UStVAn_Name],[UStVAn_LandKz],LandKz as Land_Antrag , UStVAn_BezugsNr, [UStVAn_ReDatVon], [UStVAn_ReDatBis] ,UStVAn_AntragEingereichtAm,[UStVAn_3470] ,[UStVAn_Währungscode],[UStVAn_USteuerbetrag],[UStVAn_Erstattungsbetrag],([UStVAn_USteuerbetrag] - [UStVAn_Erstattungsbetrag]) as UStVAn_Differenzbetrag,[UStVAn_USteuerbetragEUR],[UStVAn_ErstattungsbetragEUR],([UStVAn_USteuerbetragEUR] - [UStVAn_ErstattungsbetragEUR]) as UStVAn_DifferenzbetragEUR,[UStVAn_VZBetrag],[UStVAn_VZDatum],UStVAn_VZoffen ,[UStVAn_Sachbearbeiter] + .SET_SQL("SELECT " & topMax & " [tblUStVAntrag].[UStVAn_ID],UStVAn_AntragArt,[UStVAn_KuNr],[UStVAn_Name],[UStVAn_LandKz],LandKz as Land_Antrag , UStVAn_BezugsNr, [UStVAn_ReDatVon], [UStVAn_ReDatBis] ,UStVAn_AntragEingereichtAm,[UStVAn_VZBetrag],[UStVAn_VZDatum],[UStVAn_3470] ,[UStVAn_Währungscode],[UStVAn_USteuerbetrag],[UStVAn_Erstattungsbetrag],([UStVAn_USteuerbetrag] - [UStVAn_Erstattungsbetrag]) as UStVAn_Differenzbetrag,[UStVAn_USteuerbetragEUR],[UStVAn_ErstattungsbetragEUR],([UStVAn_USteuerbetragEUR] - [UStVAn_ErstattungsbetragEUR]) as UStVAn_DifferenzbetragEUR,UStVAn_VZoffen ,[UStVAn_Sachbearbeiter] FROM [tblUStVAntrag] inner join [Länderverzeichnis für die Außenhandelsstatistik] on UStVAn_LandNr=Landnr where 1=1 " & getWhere(, ID, AntragsLand) & " order by UStVAn_KuNr,UStVAn_Name,datepart(year,[UStVAn_ReDatVon] ) desc,LandKz,[UStVAn_ReDatVon] desc", "FMZOLL") @@ -67,86 +67,99 @@ Public Class usrCntlUSTV DataGridViewCellStyleDate.Format = "MM/yyyy" - '.Columns("UStVAn_ID").Visible = False + + ' .Columns("UStVAn_ID").Visible = False + .Columns("UStVAn_ID").Width = 70 + .Columns("UStVAn_ID").HeaderText = "ID" + .Columns("UStVAn_ID").Frozen = True + .Columns("UStVAn_AntragArt").HeaderText = "Art" .Columns("UStVAn_AntragArt").MinimumWidth = 50 + .Columns("UStVAn_AntragArt").Frozen = True .Columns("UStVAn_KuNr").HeaderText = "KundenNr" .Columns("UStVAn_Name").MinimumWidth = 70 + .Columns("UStVAn_KuNr").Frozen = True .Columns("UStVAn_Name").HeaderText = "Firma" .Columns("UStVAn_Name").Width = 200 + .Columns("UStVAn_Name").Frozen = True ' .Columns("UStVAn_Name").MinimumWidth = 150 ' .Columns("UStVAn_Name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill .Columns("UStVAn_LandKz").HeaderText = "Land" .Columns("UStVAn_LandKz").Width = 60 + .Columns("UStVAn_LandKz").Frozen = True - .Columns("Land_Antrag").Width = 90 + .Columns("Land_Antrag").HeaderText = "Antrag Land" + .Columns("Land_Antrag").Width = 60 + .Columns("Land_Antrag").Frozen = True .Columns("UStVAn_ReDatVon").HeaderText = "Von" '.Columns("UStVAn_ReDatVon").DefaultCellStyle = DataGridViewCellStyleDate - .Columns("UStVAn_ReDatVon").Width = 100 + .Columns("UStVAn_ReDatVon").Width = 75 .Columns("UStVAn_ReDatBis").HeaderText = "Bis" '.Columns("UStVAn_ReDatBis").DefaultCellStyle = DataGridViewCellStyleDate - .Columns("UStVAn_ReDatBis").Width = 100 + .Columns("UStVAn_ReDatBis").Width = 75 .Columns("UStVAn_BezugsNr").HeaderText = "BezugsNr" - .Columns("UStVAn_BezugsNr").Width = 100 + .Columns("UStVAn_BezugsNr").Width = 70 + + .Columns("UStVAn_AntragEingereichtAm").HeaderText = "Eingereicht Datum" + .Columns("UStVAn_AntragEingereichtAm").Width = 80 + + .Columns("UStVAn_VZDatum").HeaderText = "Vorausz.Am" + .Columns("UStVAn_VZDatum").Width = 75 + + .Columns("UStVAn_VZBetrag").HeaderText = "Vorauszahlung Betrag" + .Columns("UStVAn_VZBetrag").Width = 100 + .Columns("UStVAn_VZBetrag").DefaultCellStyle.Format = "N2" + .Columns("UStVAn_VZBetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight - .Columns("UStVAn_AntragEingereichtAm").HeaderText = "EingereichtAm" - .Columns("UStVAn_AntragEingereichtAm").Width = 100 .Columns("UStVAn_3470").HeaderText = "3470" - .Columns("UStVAn_3470").Width = 150 + .Columns("UStVAn_3470").Width = 100 .Columns("UStVAn_3470").DefaultCellStyle.Format = "N2" .Columns("UStVAn_3470").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight - .Columns("UStVAn_Währungscode").HeaderText = "Währung" - .Columns("UStVAn_Währungscode").Width = 80 + .Columns("UStVAn_Währungscode").HeaderText = "Währ." + .Columns("UStVAn_Währungscode").Width = 60 - .Columns("UStVAn_USteuerbetrag").HeaderText = "USt-Betrag" - .Columns("UStVAn_USteuerbetrag").Width = 150 + .Columns("UStVAn_USteuerbetrag").HeaderText = "USt Betrag" + .Columns("UStVAn_USteuerbetrag").Width = 100 .Columns("UStVAn_USteuerbetrag").DefaultCellStyle.Format = "N2" .Columns("UStVAn_USteuerbetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight - .Columns("UStVAn_Erstattungsbetrag").HeaderText = "Erstattung-Betrag" - .Columns("UStVAn_Erstattungsbetrag").Width = 150 + .Columns("UStVAn_Erstattungsbetrag").HeaderText = "Erstattung Betrag" + .Columns("UStVAn_Erstattungsbetrag").Width = 100 .Columns("UStVAn_Erstattungsbetrag").DefaultCellStyle.Format = "N2" .Columns("UStVAn_Erstattungsbetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight - .Columns("UStVAn_Differenzbetrag").HeaderText = "Differenz-Betrag" - .Columns("UStVAn_Differenzbetrag").Width = 150 + .Columns("UStVAn_Differenzbetrag").HeaderText = "Differenz Betrag" + .Columns("UStVAn_Differenzbetrag").Width = 100 .Columns("UStVAn_Differenzbetrag").DefaultCellStyle.Format = "N2" .Columns("UStVAn_Differenzbetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight - .Columns("UStVAn_ErstattungsbetragEUR").HeaderText = "Erstattung-Betrag EUR" - .Columns("UStVAn_ErstattungsbetragEUR").Width = 150 + .Columns("UStVAn_ErstattungsbetragEUR").HeaderText = "Erstattung Betrag EUR" + .Columns("UStVAn_ErstattungsbetragEUR").Width = 100 .Columns("UStVAn_ErstattungsbetragEUR").DefaultCellStyle.Format = "N2" .Columns("UStVAn_ErstattungsbetragEUR").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight .Columns("UStVAn_USteuerbetragEUR").HeaderText = "USt-Betrag EUR" - .Columns("UStVAn_USteuerbetragEUR").Width = 150 + .Columns("UStVAn_USteuerbetragEUR").Width = 100 .Columns("UStVAn_USteuerbetragEUR").DefaultCellStyle.Format = "N2" .Columns("UStVAn_USteuerbetragEUR").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight - .Columns("UStVAn_DifferenzbetragEUR").HeaderText = "Differenz-Betrag EUR" - .Columns("UStVAn_DifferenzbetragEUR").Width = 150 + .Columns("UStVAn_DifferenzbetragEUR").HeaderText = "Differenz Betrag EUR" + .Columns("UStVAn_DifferenzbetragEUR").Width = 100 .Columns("UStVAn_DifferenzbetragEUR").DefaultCellStyle.Format = "N2" .Columns("UStVAn_DifferenzbetragEUR").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight - .Columns("UStVAn_VZDatum").HeaderText = "Vorauszahlung Am" - .Columns("UStVAn_VZDatum").Width = 100 - - .Columns("UStVAn_VZBetrag").HeaderText = "Vorauszahlung-Betrag" - .Columns("UStVAn_VZBetrag").Width = 150 - .Columns("UStVAn_VZBetrag").DefaultCellStyle.Format = "N2" - .Columns("UStVAn_VZBetrag").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight .Columns("UStVAn_VZoffen").HeaderText = "VZ nicht abgerechnet" - .Columns("UStVAn_VZoffen").Width = 100 + .Columns("UStVAn_VZoffen").Width = 80 .Columns("UStVAn_VZoffen").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter .Columns("UStVAn_Sachbearbeiter").HeaderText = "Sachbearbeiter" diff --git a/SDL/kunden/frmKundenSyska_DatenÜbertragen.vb b/SDL/kunden/frmKundenSyska_DatenÜbertragen.vb index 1dfe3492..7ceca4ae 100644 --- a/SDL/kunden/frmKundenSyska_DatenÜbertragen.vb +++ b/SDL/kunden/frmKundenSyska_DatenÜbertragen.vb @@ -26,21 +26,21 @@ Dim SystembenutzerText = "AVISO_User" If cbxUID.Checked Then - If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_ustidnr='" & lblAVISO_UID.Text & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True + If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_ustidnr='" & SqlSafe(lblAVISO_UID.Text) & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True End If If cbxEMail.Checked Then - If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_email='" & lblAVISO_EMail.Text & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True + If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_email='" & SqlSafe(lblAVISO_EMail.Text) & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True End If If cbxFirma.Checked Then - If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_name='" & lblAVISO_Name1.Text & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True - If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_name2='" & lblAVISO_Name2.Text & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True + If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_name='" & SqlSafe(lblAVISO_Name1.Text) & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True + If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_name2='" & SqlSafe(lblAVISO_Name2.Text) & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True End If If cbxAdresse.Checked Then - If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_strasse='" & lblAVISO_Strasse.Text & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True - If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_plz='" & lblAVISO_PLZ.Text & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True - If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_ort='" & lblAVISO_Ort.Text & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True - If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_landid='" & lblAVISO_Land.Text & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True - End If + If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_strasse='" & SqlSafe(lblAVISO_Strasse.Text) & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True + If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_plz='" & SqlSafe(lblAVISO_PLZ.Text) & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True + If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_ort='" & SqlSafe(lblAVISO_Ort.Text) & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True + If Not Sql.doSQL("UPDATE [FIBU2].dbo.fibu_konto SET c_landid='" & SqlSafe(lblAVISO_Land.Text) & "', c_manipulator = '" & SystembenutzerText & "', dt_manipulation = Getdate() where i_konto='" & KundenNr & "' AND i_firm_refid = '" & FIRMA_ID & "'", "FIBU") Then fehler = True + End If End If If fehler Then @@ -67,7 +67,10 @@ End If End Sub - + Function SqlSafe(value As String) As String + If value Is Nothing Then Return "" + Return value.Replace("'", "''").Replace(";", "").Replace("--", "") + End Function Private Sub cboFirma_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboFirma.SelectedIndexChanged Button1.Image = Nothing If cboFirma._value = "" Then Exit Sub diff --git a/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.Designer.vb b/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.Designer.vb index e78f3bfd..1096cedb 100644 --- a/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.Designer.vb +++ b/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.Designer.vb @@ -1,9 +1,9 @@ - _ + Partial Class usrCntlKundenAvisoMailBenachrichtigung Inherits System.Windows.Forms.UserControl 'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen. - _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) Try If disposing AndAlso components IsNot Nothing Then @@ -20,7 +20,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung 'Hinweis: Die folgende Prozedur ist für den Windows Form-Designer erforderlich. 'Das Bearbeiten ist mit dem Windows Form-Designer möglich. 'Das Bearbeiten mit dem Code-Editor ist nicht möglich. - _ + Private Sub InitializeComponent() Me.cboFreigabe_SteuerbescheidBedingung = New VERAG_PROG_ALLGEMEIN.MyComboBox() Me.cbxFreigabe_VBD = New System.Windows.Forms.CheckBox() @@ -49,6 +49,8 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.FlatButton5 = New VERAG_PROG_ALLGEMEIN.FlatButton() Me.Panel1 = New System.Windows.Forms.Panel() Me.btnWikiStatusmails = New System.Windows.Forms.Button() + Me.Panel2 = New System.Windows.Forms.Panel() + Me.cbxSndUnterl = New System.Windows.Forms.CheckBox() Me.SuspendLayout() ' 'cboFreigabe_SteuerbescheidBedingung @@ -58,9 +60,9 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.cboFreigabe_SteuerbescheidBedingung._value = "" Me.cboFreigabe_SteuerbescheidBedingung.Enabled = False Me.cboFreigabe_SteuerbescheidBedingung.FormattingEnabled = True - Me.cboFreigabe_SteuerbescheidBedingung.Location = New System.Drawing.Point(367, 138) + Me.cboFreigabe_SteuerbescheidBedingung.Location = New System.Drawing.Point(293, 80) Me.cboFreigabe_SteuerbescheidBedingung.Name = "cboFreigabe_SteuerbescheidBedingung" - Me.cboFreigabe_SteuerbescheidBedingung.Size = New System.Drawing.Size(86, 21) + Me.cboFreigabe_SteuerbescheidBedingung.Size = New System.Drawing.Size(76, 21) Me.cboFreigabe_SteuerbescheidBedingung.TabIndex = 52 ' 'cbxFreigabe_VBD @@ -68,7 +70,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.cbxFreigabe_VBD.AutoSize = True Me.cbxFreigabe_VBD.Enabled = False Me.cbxFreigabe_VBD.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cbxFreigabe_VBD.Location = New System.Drawing.Point(104, 140) + Me.cbxFreigabe_VBD.Location = New System.Drawing.Point(104, 83) Me.cbxFreigabe_VBD.Name = "cbxFreigabe_VBD" Me.cbxFreigabe_VBD.Size = New System.Drawing.Size(48, 17) Me.cbxFreigabe_VBD.TabIndex = 51 @@ -79,18 +81,18 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.cbxFreigabe_Steuerbescheid.AutoSize = True Me.cbxFreigabe_Steuerbescheid.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cbxFreigabe_Steuerbescheid.Location = New System.Drawing.Point(266, 140) + Me.cbxFreigabe_Steuerbescheid.Location = New System.Drawing.Point(246, 83) Me.cbxFreigabe_Steuerbescheid.Name = "cbxFreigabe_Steuerbescheid" - Me.cbxFreigabe_Steuerbescheid.Size = New System.Drawing.Size(103, 17) + Me.cbxFreigabe_Steuerbescheid.Size = New System.Drawing.Size(50, 17) Me.cbxFreigabe_Steuerbescheid.TabIndex = 49 - Me.cbxFreigabe_Steuerbescheid.Text = "Steuerbescheid:" + Me.cbxFreigabe_Steuerbescheid.Text = "STB:" Me.cbxFreigabe_Steuerbescheid.UseVisualStyleBackColor = True ' 'cbxSendungsListFreigabe ' Me.cbxSendungsListFreigabe.AutoSize = True Me.cbxSendungsListFreigabe.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cbxSendungsListFreigabe.Location = New System.Drawing.Point(6, 140) + Me.cbxSendungsListFreigabe.Location = New System.Drawing.Point(6, 83) Me.cbxSendungsListFreigabe.Name = "cbxSendungsListFreigabe" Me.cbxSendungsListFreigabe.Size = New System.Drawing.Size(92, 17) Me.cbxSendungsListFreigabe.TabIndex = 50 @@ -102,7 +104,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.rtbLKWFreigabe.BackColor = System.Drawing.Color.White Me.rtbLKWFreigabe.BorderStyle = System.Windows.Forms.BorderStyle.None Me.rtbLKWFreigabe.Enabled = False - Me.rtbLKWFreigabe.Location = New System.Drawing.Point(278, 25) + Me.rtbLKWFreigabe.Location = New System.Drawing.Point(278, 27) Me.rtbLKWFreigabe.Name = "rtbLKWFreigabe" Me.rtbLKWFreigabe.ReadOnly = True Me.rtbLKWFreigabe.Size = New System.Drawing.Size(184, 48) @@ -114,7 +116,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.rtbLkwAnkunf.BackColor = System.Drawing.Color.White Me.rtbLkwAnkunf.BorderStyle = System.Windows.Forms.BorderStyle.None Me.rtbLkwAnkunf.Enabled = False - Me.rtbLkwAnkunf.Location = New System.Drawing.Point(88, 24) + Me.rtbLkwAnkunf.Location = New System.Drawing.Point(88, 26) Me.rtbLkwAnkunf.Name = "rtbLkwAnkunf" Me.rtbLkwAnkunf.ReadOnly = True Me.rtbLkwAnkunf.Size = New System.Drawing.Size(184, 49) @@ -125,7 +127,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.CheckBox6.AutoSize = True Me.CheckBox6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.CheckBox6.Location = New System.Drawing.Point(278, 4) + Me.CheckBox6.Location = New System.Drawing.Point(278, 6) Me.CheckBox6.Name = "CheckBox6" Me.CheckBox6.Size = New System.Drawing.Size(72, 17) Me.CheckBox6.TabIndex = 44 @@ -136,7 +138,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.CheckBox4.AutoSize = True Me.CheckBox4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.CheckBox4.Location = New System.Drawing.Point(87, 4) + Me.CheckBox4.Location = New System.Drawing.Point(87, 6) Me.CheckBox4.Name = "CheckBox4" Me.CheckBox4.Size = New System.Drawing.Size(142, 17) Me.CheckBox4.TabIndex = 43 @@ -151,7 +153,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.FlatButton2.FlatAppearance.BorderSize = 0 Me.FlatButton2.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.FlatButton2.ForeColor = System.Drawing.Color.Black - Me.FlatButton2.Location = New System.Drawing.Point(422, 2) + Me.FlatButton2.Location = New System.Drawing.Point(422, 4) Me.FlatButton2.Name = "FlatButton2" Me.FlatButton2.Size = New System.Drawing.Size(20, 20) Me.FlatButton2.TabIndex = 46 @@ -166,7 +168,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.FlatButton3.FlatAppearance.BorderSize = 0 Me.FlatButton3.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.FlatButton3.ForeColor = System.Drawing.Color.Black - Me.FlatButton3.Location = New System.Drawing.Point(235, 2) + Me.FlatButton3.Location = New System.Drawing.Point(235, 4) Me.FlatButton3.Name = "FlatButton3" Me.FlatButton3.Size = New System.Drawing.Size(20, 20) Me.FlatButton3.TabIndex = 47 @@ -178,7 +180,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.RichTextBox1.BackColor = System.Drawing.Color.White Me.RichTextBox1.BorderStyle = System.Windows.Forms.BorderStyle.None Me.RichTextBox1.Enabled = False - Me.RichTextBox1.Location = New System.Drawing.Point(278, 95) + Me.RichTextBox1.Location = New System.Drawing.Point(278, 139) Me.RichTextBox1.Name = "RichTextBox1" Me.RichTextBox1.ReadOnly = True Me.RichTextBox1.Size = New System.Drawing.Size(184, 41) @@ -190,7 +192,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.RichTextBox2.BackColor = System.Drawing.Color.White Me.RichTextBox2.BorderStyle = System.Windows.Forms.BorderStyle.None Me.RichTextBox2.Enabled = False - Me.RichTextBox2.Location = New System.Drawing.Point(88, 95) + Me.RichTextBox2.Location = New System.Drawing.Point(88, 139) Me.RichTextBox2.Name = "RichTextBox2" Me.RichTextBox2.ReadOnly = True Me.RichTextBox2.Size = New System.Drawing.Size(184, 41) @@ -201,7 +203,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.CheckBox1.AutoSize = True Me.CheckBox1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.CheckBox1.Location = New System.Drawing.Point(278, 75) + Me.CheckBox1.Location = New System.Drawing.Point(278, 119) Me.CheckBox1.Name = "CheckBox1" Me.CheckBox1.Size = New System.Drawing.Size(72, 17) Me.CheckBox1.TabIndex = 54 @@ -212,7 +214,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.CheckBox2.AutoSize = True Me.CheckBox2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.CheckBox2.Location = New System.Drawing.Point(87, 75) + Me.CheckBox2.Location = New System.Drawing.Point(87, 119) Me.CheckBox2.Name = "CheckBox2" Me.CheckBox2.Size = New System.Drawing.Size(142, 17) Me.CheckBox2.TabIndex = 53 @@ -227,7 +229,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.FlatButton1.FlatAppearance.BorderSize = 0 Me.FlatButton1.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.FlatButton1.ForeColor = System.Drawing.Color.Black - Me.FlatButton1.Location = New System.Drawing.Point(422, 73) + Me.FlatButton1.Location = New System.Drawing.Point(422, 117) Me.FlatButton1.Name = "FlatButton1" Me.FlatButton1.Size = New System.Drawing.Size(20, 20) Me.FlatButton1.TabIndex = 56 @@ -242,7 +244,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.FlatButton4.FlatAppearance.BorderSize = 0 Me.FlatButton4.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.FlatButton4.ForeColor = System.Drawing.Color.Black - Me.FlatButton4.Location = New System.Drawing.Point(235, 73) + Me.FlatButton4.Location = New System.Drawing.Point(235, 117) Me.FlatButton4.Name = "FlatButton4" Me.FlatButton4.Size = New System.Drawing.Size(20, 20) Me.FlatButton4.TabIndex = 57 @@ -253,7 +255,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.lbl.AutoSize = True Me.lbl.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.lbl.Location = New System.Drawing.Point(3, 6) + Me.lbl.Location = New System.Drawing.Point(3, 8) Me.lbl.Name = "lbl" Me.lbl.Size = New System.Drawing.Size(52, 13) Me.lbl.TabIndex = 59 @@ -263,7 +265,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.Label1.AutoSize = True Me.Label1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label1.Location = New System.Drawing.Point(3, 77) + Me.Label1.Location = New System.Drawing.Point(3, 121) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(54, 13) Me.Label1.TabIndex = 60 @@ -273,7 +275,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.cbxFreigabe_ABD.AutoSize = True Me.cbxFreigabe_ABD.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cbxFreigabe_ABD.Location = New System.Drawing.Point(153, 140) + Me.cbxFreigabe_ABD.Location = New System.Drawing.Point(153, 83) Me.cbxFreigabe_ABD.Name = "cbxFreigabe_ABD" Me.cbxFreigabe_ABD.Size = New System.Drawing.Size(48, 17) Me.cbxFreigabe_ABD.TabIndex = 61 @@ -284,7 +286,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.cbxAVM.AutoSize = True Me.cbxAVM.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.cbxAVM.Location = New System.Drawing.Point(207, 140) + Me.cbxAVM.Location = New System.Drawing.Point(197, 83) Me.cbxAVM.Name = "cbxAVM" Me.cbxAVM.Size = New System.Drawing.Size(49, 17) Me.cbxAVM.TabIndex = 62 @@ -299,7 +301,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.cboFreigabeArt.Enabled = False Me.cboFreigabeArt.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.cboFreigabeArt.FormattingEnabled = True - Me.cboFreigabeArt.Location = New System.Drawing.Point(348, 1) + Me.cboFreigabeArt.Location = New System.Drawing.Point(348, 3) Me.cboFreigabeArt.Name = "cboFreigabeArt" Me.cboFreigabeArt.Size = New System.Drawing.Size(68, 21) Me.cboFreigabeArt.TabIndex = 63 @@ -312,7 +314,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.cboFreigabeArtExport.Enabled = False Me.cboFreigabeArtExport.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.cboFreigabeArtExport.FormattingEnabled = True - Me.cboFreigabeArtExport.Location = New System.Drawing.Point(348, 70) + Me.cboFreigabeArtExport.Location = New System.Drawing.Point(348, 114) Me.cboFreigabeArtExport.Name = "cboFreigabeArtExport" Me.cboFreigabeArtExport.Size = New System.Drawing.Size(68, 21) Me.cboFreigabeArtExport.TabIndex = 64 @@ -321,7 +323,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.Label2.AutoSize = True Me.Label2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.Label2.Location = New System.Drawing.Point(3, 178) + Me.Label2.Location = New System.Drawing.Point(3, 196) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(58, 13) Me.Label2.TabIndex = 68 @@ -331,7 +333,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung ' Me.rtbLkwStatusMail.BackColor = System.Drawing.Color.White Me.rtbLkwStatusMail.BorderStyle = System.Windows.Forms.BorderStyle.None - Me.rtbLkwStatusMail.Location = New System.Drawing.Point(88, 178) + Me.rtbLkwStatusMail.Location = New System.Drawing.Point(88, 196) Me.rtbLkwStatusMail.Name = "rtbLkwStatusMail" Me.rtbLkwStatusMail.ReadOnly = True Me.rtbLkwStatusMail.Size = New System.Drawing.Size(184, 59) @@ -346,7 +348,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.FlatButton5.FlatAppearance.BorderSize = 0 Me.FlatButton5.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.FlatButton5.ForeColor = System.Drawing.Color.Black - Me.FlatButton5.Location = New System.Drawing.Point(67, 174) + Me.FlatButton5.Location = New System.Drawing.Point(67, 192) Me.FlatButton5.Name = "FlatButton5" Me.FlatButton5.Size = New System.Drawing.Size(20, 20) Me.FlatButton5.TabIndex = 67 @@ -355,7 +357,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung 'Panel1 ' Me.Panel1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle - Me.Panel1.Location = New System.Drawing.Point(6, 165) + Me.Panel1.Location = New System.Drawing.Point(6, 183) Me.Panel1.Name = "Panel1" Me.Panel1.Size = New System.Drawing.Size(460, 1) Me.Panel1.TabIndex = 69 @@ -366,18 +368,40 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.btnWikiStatusmails.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom Me.btnWikiStatusmails.FlatAppearance.BorderSize = 0 Me.btnWikiStatusmails.FlatStyle = System.Windows.Forms.FlatStyle.Flat - Me.btnWikiStatusmails.Location = New System.Drawing.Point(6, 25) + Me.btnWikiStatusmails.Location = New System.Drawing.Point(6, 27) Me.btnWikiStatusmails.Name = "btnWikiStatusmails" Me.btnWikiStatusmails.Size = New System.Drawing.Size(32, 25) Me.btnWikiStatusmails.TabIndex = 70 Me.btnWikiStatusmails.UseVisualStyleBackColor = True ' + 'Panel2 + ' + Me.Panel2.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle + Me.Panel2.Location = New System.Drawing.Point(9, 105) + Me.Panel2.Name = "Panel2" + Me.Panel2.Size = New System.Drawing.Size(460, 1) + Me.Panel2.TabIndex = 71 + ' + 'cbxSndUnterl + ' + Me.cbxSndUnterl.AutoSize = True + Me.cbxSndUnterl.Enabled = False + Me.cbxSndUnterl.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.cbxSndUnterl.Location = New System.Drawing.Point(378, 81) + Me.cbxSndUnterl.Name = "cbxSndUnterl" + Me.cbxSndUnterl.Size = New System.Drawing.Size(88, 17) + Me.cbxSndUnterl.TabIndex = 72 + Me.cbxSndUnterl.Text = "SndUntl.(Blg)" + Me.cbxSndUnterl.UseVisualStyleBackColor = True + ' 'usrCntlKundenAvisoMailBenachrichtigung ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.AutoScroll = True Me.BackColor = System.Drawing.Color.White + Me.Controls.Add(Me.cbxSndUnterl) + Me.Controls.Add(Me.Panel2) Me.Controls.Add(Me.btnWikiStatusmails) Me.Controls.Add(Me.Panel1) Me.Controls.Add(Me.Label2) @@ -406,7 +430,7 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Me.Controls.Add(Me.FlatButton2) Me.Controls.Add(Me.FlatButton3) Me.Name = "usrCntlKundenAvisoMailBenachrichtigung" - Me.Size = New System.Drawing.Size(479, 245) + Me.Size = New System.Drawing.Size(471, 260) Me.ResumeLayout(False) Me.PerformLayout() @@ -439,4 +463,6 @@ Partial Class usrCntlKundenAvisoMailBenachrichtigung Friend WithEvents FlatButton5 As VERAG_PROG_ALLGEMEIN.FlatButton Friend WithEvents Panel1 As Panel Friend WithEvents btnWikiStatusmails As Button + Friend WithEvents Panel2 As Panel + Friend WithEvents cbxSndUnterl As CheckBox End Class diff --git a/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.vb b/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.vb index c9dfb900..a590e1f5 100644 --- a/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.vb +++ b/SDL/kunden/usrCntlKundenAvisoMailBenachrichtigung.vb @@ -23,8 +23,16 @@ ' Fügen Sie Initialisierungen nach dem InitializeComponent()-Aufruf hinzu. End Sub - Private Sub CheckBox6_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox6.CheckedChanged, CheckBox4.CheckedChanged, cbxSendungsListFreigabe.CheckedChanged, cbxFreigabe_Steuerbescheid.CheckedChanged, cbxFreigabe_Steuerbescheid.CheckedChanged, cbxFreigabe_VBD.CheckedChanged, cboFreigabe_SteuerbescheidBedingung.SelectedIndexChanged, CheckBox2.CheckedChanged, CheckBox1.CheckedChanged, cbxFreigabe_ABD.CheckedChanged, cbxAVM.CheckedChanged, cboFreigabeArt.SelectedIndexChanged, cboFreigabeArtExport.SelectedIndexChanged + Private Sub CheckBox6_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox6.CheckedChanged, CheckBox4.CheckedChanged, cbxSendungsListFreigabe.CheckedChanged, cbxFreigabe_Steuerbescheid.CheckedChanged, cbxFreigabe_Steuerbescheid.CheckedChanged, cbxFreigabe_VBD.CheckedChanged, cboFreigabe_SteuerbescheidBedingung.SelectedIndexChanged, CheckBox2.CheckedChanged, CheckBox1.CheckedChanged, cbxFreigabe_ABD.CheckedChanged, cbxAVM.CheckedChanged, cboFreigabeArt.SelectedIndexChanged, cboFreigabeArtExport.SelectedIndexChanged, cbxSndUnterl.CheckedChanged Try + If sender Is cboFreigabeArt Then + If cboFreigabeArt._value = "BLG" Then + cbxSndUnterl.Enabled = True + Else + cbxSndUnterl.Enabled = False + End If + End If + If sender Is cbxSendungsListFreigabe Then ' cbxFreigabe_Steuerbescheid.Enabled = cbxSendungsListFreigabe.Checked cbxFreigabe_VBD.Enabled = cbxSendungsListFreigabe.Checked @@ -45,6 +53,7 @@ kdTmpErw.EmailFreigabe_Export = CheckBox1.Checked kdTmpErw.EmailFreigabe_Art = cboFreigabeArt._value kdTmpErw.EmailFreigabe_Export_Art = cboFreigabeArtExport._value + kdTmpErw.EmailFreigabeBeleg_Sendungsunterlagen = cbxSndUnterl.Checked kdTmpErw.EmailFreigabeSendungsListe = cbxSendungsListFreigabe.Checked kdTmpErw.EmailFreigabe_SteuerbescheidPDF = cbxFreigabe_Steuerbescheid.Checked @@ -87,6 +96,13 @@ cbxFreigabe_ABD.Checked = False cbxAVM.Checked = False + + If If(KUNDE_ERW.EmailFreigabe_Art, "") = "BLG" Then + cbxSndUnterl.Checked = KUNDE_ERW.EmailFreigabeBeleg_Sendungsunterlagen + Else + cbxSndUnterl.Checked = False + End If + If KUNDE IsNot Nothing AndAlso KUNDE.KundenNr > 0 Then CheckBox6.Checked = KUNDE.EmailFreigabe CheckBox4.Checked = KUNDE.EmailAnkunft diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index f195f4be..f70dc545 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -3930,7 +3930,7 @@ Public Class frmMDMDatenverarbetiung ORDER BY cardnumber", "FMZOLL") - Dim dtKunden As DataTable = SQL.loadDgvBySql("SELECT Distinct(Kreditkarten.AdressenNr FROM dbo.tblAsfinagMaut", "FMZOLL") + Dim dtKunden As DataTable = SQL.loadDgvBySql("SELECT Distinct(Kreditkarten.AdressenNr) FROM dbo.tblAsfinagMaut LEFT JOIN [dbo].[Kreditkarten] on cardnumber= Kreditkarten.KartenNr", "FMZOLL") checkFixeTaxeImOffert("ASFINAG", dtKunden) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb b/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb index 157db221..a732318e 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cAbgaben.vb @@ -109,6 +109,30 @@ Public Class cAbgaben Dim count = SQL.getValueTxtBySqlVarList("SELECT count(*) FROM Zkteing WHERE LeistungsNr=@LeistungsNr AND Betrag=@Betrag AND Registriernummer=@Registriernummer AND AOFD=@AOFD AND AKTO=@AKTO AND Fälligkeitsdatum=@Fälligkeitsdatum ", "FMZOLL", list, 0) Return (count > 0) End Function + + Public Shared Function LOAD_LIST(Registriernummer) As List(Of cAbgaben) + Dim Abgaben_LIST = New List(Of cAbgaben) + Dim SQL As New SQL + Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM Zkteing WHERE Registriernummer='" & Registriernummer & "'", "FMZOLL") + If dt IsNot Nothing Then + For Each r In dt.Rows + Dim obj As New cAbgaben() + obj.[Index] = r.Item("Index") + For Each li In obj.getParameterList() + Dim propInfo As PropertyInfo = obj.GetType.GetProperty(li.Scalarvariable) + If r.Item(li.Text) Is DBNull.Value Then + propInfo.SetValue(obj, Nothing) + Else + propInfo.SetValue(obj, r.Item(li.Text)) + End If + Next + obj.hasEntry = True + Abgaben_LIST.Add(obj) + Next + End If + Return Abgaben_LIST + End Function + Public Sub LOAD() Try Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL() diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb b/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb index 936d9fe5..f0741da1 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cEmailBenachrichtigung.vb @@ -128,15 +128,15 @@ Public Class cEmailBenachrichtigung 'Prüfen, ob die Art für den Kunden im Kundenstamm aktiviert ist: Dim kdn_er As New cKundenErweitert(Kdnr) - If art = 3 Then '> Ankunft Export - If kdn_er Is Nothing OrElse Not kdn_er.EmailAnkunft_Export Then - art = 1 - End If - ElseIf art = 4 Then '> Freigabe Export - If kdn_er Is Nothing OrElse Not kdn_er.EmailFreigabe_Export Then - art = 2 - End If + If art = 3 Then '> Ankunft Export + If kdn_er Is Nothing OrElse Not kdn_er.EmailAnkunft_Export Then + art = 1 End If + ElseIf art = 4 Then '> Freigabe Export + If kdn_er Is Nothing OrElse Not kdn_er.EmailFreigabe_Export Then + art = 2 + End If + End If 'In diesen Strings werden die Mailadressen übergeben: diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb b/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb index cf32797f..cb29e689 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cKundenErweitert.vb @@ -40,6 +40,7 @@ Public Class cKundenErweitert Property EmailFreigabe_Export_Art As String = "FG" ' STB/VBD/.. bei Freigabe ; BLG --> wenn Beleg da ist. Property EmailFreigabe_VBDPDF As Boolean = False Property EmailFreigabe_ABDPDF As Boolean = False + Property EmailFreigabeBeleg_Sendungsunterlagen As Boolean = False Property Email_AVM As Boolean = False Property Depot_Kunde As Boolean = False Property FiBuSchnittstelleLG As Boolean = False @@ -141,6 +142,7 @@ Public Class cKundenErweitert list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_Export_Art", EmailFreigabe_Export_Art)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_VBDPDF", EmailFreigabe_VBDPDF)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabe_ABDPDF", EmailFreigabe_ABDPDF)) + list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EmailFreigabeBeleg_Sendungsunterlagen", EmailFreigabeBeleg_Sendungsunterlagen)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Email_AVM", Email_AVM)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Depot_Kunde", Depot_Kunde)) list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FiBuSchnittstelleLG", FiBuSchnittstelleLG)) diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb b/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb index 04af6d27..5b9c6d66 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cUTA.vb @@ -379,7 +379,27 @@ Public Class cUTA If dr.Item(li.Text) Is DBNull.Value Then propInfo.SetValue(Me, Nothing) Else - propInfo.SetValue(Me, dr.Item(li.Text)) + Dim value = dr.Item(li.Text) + Dim targetType As Type = If(Nullable.GetUnderlyingType(propInfo.PropertyType), propInfo.PropertyType) + + Try + If targetType Is GetType(Char) AndAlso TypeOf value Is String Then + Dim strValue As String = value.ToString() + If strValue.Length > 0 Then + propInfo.SetValue(Me, strValue(0)) ' String → erster Buchstabe als Char + Else + propInfo.SetValue(Me, Nothing) ' oder ein Standardwert wie " " (Leerzeichen) + End If + ElseIf targetType Is GetType(String) AndAlso TypeOf value Is Char Then + propInfo.SetValue(Me, value.ToString()) ' Char → String + Else + Dim convertedValue = Convert.ChangeType(value, targetType) + propInfo.SetValue(Me, convertedValue) + End If + Catch ex As Exception + Console.WriteLine("Fehler beim Setzen von " & li.Text & " auf " & value.ToString() & ": " & ex.Message) + MsgBox("Fehler beim Setzen von " & li.Text & " auf " & value.ToString() & vbCrLf & ex.ToString()) + End Try End If Next @@ -454,9 +474,9 @@ Public Class cUTA Property Belegnummer_des_Lieferanten As Object Property Kilometerstand As Object Property Fakturierwarenart As Object - Property Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen As Object + Property Vorzeichen_Statusfeld_für_alle_Beträge_und_Mengen As String 'HIER object Property Menge As Object - Property SB_BT As Object + Property SB_BT As String 'HIER object Property Umsatzsteuerprozentsatz As Object Property Lieferlandwährung_ISO As Object Property Einzelpreis_Netto_in_Lieferlandwährung As Object diff --git a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb index 79d04ec5..2a136b64 100644 --- a/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb +++ b/VERAG_PROG_ALLGEMEIN/DATENSERVER/cDATENSERVER.vb @@ -1396,6 +1396,19 @@ Public Class cFormularManager Dim doc As New Spire.Pdf.PdfDocument(pdfPath) + 'Versuche, die Seitengröße zu überprüfen + '----------------------------------------- + If doc.Pages.Count = 0 Then + ' Leeres Dokument, überspringen + Continue For + End If + Dim pageSize = doc.Pages(0).Size + If pageSize.Width <= 0 OrElse pageSize.Height <= 0 Then + ' Ungültige Seitengröße, überspringen + Continue For + End If + '----------------------------------------- + doc.PageSettings.Size = Spire.Pdf.PdfPageSize.A4 doc.PageSettings.Orientation = Spire.Pdf.PdfPageOrientation.Landscape diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/BZST/cBZST_UID.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/BZST/cBZST_UID.vb new file mode 100644 index 00000000..d47a85e9 --- /dev/null +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/BZST/cBZST_UID.vb @@ -0,0 +1,108 @@ + +Imports System.IO +Imports System.Net +Imports System.Security.Cryptography +Imports System.Text +Imports Newtonsoft.Json + +Public Class cBZST_UID_REST + + Shared ReadOnly ApiHost As String = "api.evatr.vies.bzst.de" + Shared ReadOnly ApiPort As Integer = 443 + Shared ReadOnly ApiBasePath As String = "/v1" + + ' === 1. MAC Authentication Header Builder === + Shared Function BuildMacHeader(httpMethod As String, path As String, body As String, id As String, base64Key As String) As String + Dim ts As String = CLng((DateTime.UtcNow - #1/1/1970#).TotalSeconds).ToString() + Dim nonce As String = Guid.NewGuid().ToString("N").Substring(0, 12) + + Dim bodyHashPart As String = "" + If httpMethod = "POST" AndAlso body IsNot Nothing Then + Using sha = SHA256.Create() + bodyHashPart = Convert.ToBase64String(sha.ComputeHash(Encoding.UTF8.GetBytes(body))) + End Using + End If + + Dim macInput As String = $"{ts}{vbLf}{nonce}{vbLf}{httpMethod}{vbLf}{path}{vbLf}{ApiHost}{vbLf}{ApiPort}{vbLf}{bodyHashPart}{vbLf}" + Dim keyBytes As Byte() = Convert.FromBase64String(base64Key) + Dim hmac As New HMACSHA256(keyBytes) + Dim macSig As String = Convert.ToBase64String(hmac.ComputeHash(Encoding.UTF8.GetBytes(macInput))) + + Return $"MAC id=""{id}"", ts=""{ts}"", nonce=""{nonce}"", mac=""{macSig}""" + End Function + + ' === 2. HTTP Call Helper === + Shared Function DoRequest(httpMethod As String, path As String, body As String, authHeader As String) As String + Dim url As String = $"https://{ApiHost}{path}" + Dim req = CType(WebRequest.Create(url), HttpWebRequest) + req.Method = httpMethod + req.Headers.Add("Authorization", authHeader) + If httpMethod = "POST" Then + req.ContentType = "application/json" + Dim bodyBytes = Encoding.UTF8.GetBytes(body) + req.ContentLength = bodyBytes.Length + Using s = req.GetRequestStream() + s.Write(bodyBytes, 0, bodyBytes.Length) + End Using + Else + req.Accept = "application/json" + End If + + Using resp = CType(req.GetResponse(), HttpWebResponse) + Using sr = New StreamReader(resp.GetResponseStream()) + Return sr.ReadToEnd() + End Using + End Using + End Function + + ' === 3. CheckVat (einfach) === + Public Shared Function CheckVat(countryCode As String, vatNumber As String, apiId As String, apiKeyBase64 As String) As String + + Dim path = $"{ApiBasePath}/euvat/{countryCode}{vatNumber}" + Dim auth = BuildMacHeader("GET", path, Nothing, apiId, apiKeyBase64) + Return DoRequest("GET", path, Nothing, auth) + End Function + + ' === 4. CheckVatQualified (mit Zusatzdaten) === + Public Shared Function CheckVatQualified(countryCode As String, vatNumber As String, + street As String, postalCode As String, city As String, + apiId As String, apiKeyBase64 As String) As String + + Dim path = $"{ApiBasePath}/euvat/qualified" + Dim payload = New With { + .countryCode = countryCode, + .vatNumber = vatNumber, + .street = street, + .postalCode = postalCode, + .city = city + } + Dim jsonBody As String = JsonConvert.SerializeObject(payload) + Dim auth = BuildMacHeader("POST", path, jsonBody, apiId, apiKeyBase64) + Return DoRequest("POST", path, jsonBody, auth) + End Function + + ' === 5. Statusmeldungen abrufen === + Public Function GetStatusMessages(apiId As String, apiKeyBase64 As String) As String + Dim path = $"{ApiBasePath}/info/statusmeldungen" + Dim auth = BuildMacHeader("GET", path, Nothing, apiId, apiKeyBase64) + Return DoRequest("GET", path, Nothing, auth) + End Function + + + Sub EXAMPLE() + Dim apiId As String = "DEINE_ID" + Dim apiKey As String = "DEIN_BASE64_KEY" + + ' 1) Einfache Prüfung + Dim simple = CheckVat("AT", "U18522105", apiId, apiKey) + Console.WriteLine("Simple VAT Response: " & simple) + + ' 2) Qualifizierte Prüfung + Dim qual = CheckVatQualified("DE", "123456789", "Musterstr. 1", "12345", "Musterstadt", apiId, apiKey) + Console.WriteLine("Qualified VAT Response: " & qual) + + ' 3) Statusmeldungen + Dim status = GetStatusMessages(apiId, apiKey) + Console.WriteLine("Status Messages: " & status) + End Sub +End Class \ No newline at end of file diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/BZST/cBZST_UID_XML.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/BZST/cBZST_UID_XML.vb new file mode 100644 index 00000000..4f9bada9 --- /dev/null +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/BZST/cBZST_UID_XML.vb @@ -0,0 +1,75 @@ +'VERALTET!!!!!!!!!!!!!!!!!!!!!!!!!! +'Imports CookComputing.XmlRpc + +'Public Interface IEvatR +' +' Function CheckVatSimple(tnID As String, ländercode As String, ustid As String) As XmlRpcStruct + +' +' Function CheckVatQualified(tnID As String, ländercode As String, ustid As String, +' firmenname As String, ort As String, plz As String, strasse As String) As XmlRpcStruct +'End Interface + +'Public Class cBZST_UID_XML + +' Shared tnid As String = "DE813570890" ' BZSt Teilnehmer-ID + +' Public Sub TEST() +' ' Zum manuellen Testen +' Dim gültig1 = checkVATSimple("AT", "U12345678") +' Console.WriteLine("checkVATSimple returned: " & gültig1) + +' Dim gültig2 = checkVATQualified("DE", "123456789", "Beispielfirma GmbH", "Musterstadt", "12345", "Musterstraße 1") +' Console.WriteLine("checkVATQualified returned: " & gültig2) +' End Sub + +' Public Shared Function checkVATSimple(ByVal countryCode As String, ByVal vatNumber As String) As Boolean +' Try +' Console.WriteLine("==== Einfache UID-Abfrage ====") +' Dim proxy = XmlRpcProxyGen.Create(Of IEvatR)() +' Dim client = CType(proxy, XmlRpcClientProtocol) +' client.Url = "https://evatr.bzst.de/eVatR/xmlrpc" +' client.XmlEncoding = System.Text.Encoding.UTF8 + +' Dim res As XmlRpcStruct = proxy.CheckVatSimple(tnid, countryCode, vatNumber) +' Console.WriteLine("Land: " & countryCode) +' Console.WriteLine("USt-IdNr.: " & vatNumber) +' Console.WriteLine("Ergebniscode: " & res("erg_code")) +' Console.WriteLine("Ergebnistext: " & res("erg_text")) +' Console.WriteLine("Gültig: " & res("gueltig")) + +' Return Convert.ToBoolean(res("gueltig")) +' Catch ex As Exception +' Console.WriteLine("Fehler bei einfacher Prüfung: " & ex.Message) +' Return False +' End Try +' End Function + +' Public Shared Function checkVATQualified(ByVal countryCode As String, ByVal vatNumber As String, +' ByVal companyName As String, ByVal city As String, +' ByVal postalCode As String, ByVal street As String) As Boolean +' Try +' Dim proxy = XmlRpcProxyGen.Create(Of IEvatR)() +' Dim client = CType(proxy, XmlRpcClientProtocol) +' client.Url = "https://evatr.bzst.de/eVatR/xmlrpc" +' client.XmlEncoding = System.Text.Encoding.UTF8 + +' Dim res As XmlRpcStruct = proxy.CheckVatQualified(tnid, countryCode, vatNumber, companyName, city, postalCode, street) + +' Console.WriteLine("==== Qualifizierte UID-Abfrage ====") +' Console.WriteLine("Land: " & countryCode) +' Console.WriteLine("USt-IdNr.: " & vatNumber) +' Console.WriteLine("Firma: " & companyName) +' Console.WriteLine("Adresse: " & street & ", " & postalCode & " " & city) +' Console.WriteLine("Ergebniscode: " & res("erg_code")) +' Console.WriteLine("Ergebnistext: " & res("erg_text")) +' Console.WriteLine("Gültig: " & res("gueltig")) + +' Return Convert.ToBoolean(res("gueltig")) +' Catch ex As Exception +' Console.WriteLine("Fehler bei qualifizierter Prüfung: " & ex.Message) +' Return False +' End Try +' End Function + +'End Class diff --git a/VERAG_PROG_ALLGEMEIN/Schnittstellen/TELOTEC/cTelotecAPI.vb b/VERAG_PROG_ALLGEMEIN/Schnittstellen/TELOTEC/cTelotecAPI.vb index 1331a4b5..60918378 100644 --- a/VERAG_PROG_ALLGEMEIN/Schnittstellen/TELOTEC/cTelotecAPI.vb +++ b/VERAG_PROG_ALLGEMEIN/Schnittstellen/TELOTEC/cTelotecAPI.vb @@ -165,6 +165,11 @@ Public Class cTelotecAPI Function GetTAMessages(Company) As List(Of TAMessage) + + Console.WriteLine("-------------LOS-------------") + + VERAG_PROG_ALLGEMEIN.cChilkat_Helper.UnlockCilkat() + Dim messages As New List(Of TAMessage)() Dim http As New Http() diff --git a/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj b/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj index 6797bf66..a955243e 100644 --- a/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj +++ b/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj @@ -371,6 +371,8 @@ Form + + @@ -1409,6 +1411,9 @@ 2024.0.0 + + 3.0.0.266 + 1.0.1