KD-Übers
This commit is contained in:
2026-02-02 10:34:05 +01:00
38 changed files with 1703 additions and 663 deletions

View File

@@ -663,6 +663,26 @@ Public Class cIDS
Return ""
End Function
Public Shared Function checkInvoices() As DataTable
Try
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
Dim SQLstr = "select * from tblIDSInvoicesNew where invoice_id not in (select TotalInvoiceId from tblIDSInvoicesNewSplittedByCountry) and Year(YearMonthDay) >= 2025"
Dim dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
Return dt
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return Nothing
End Function
Public Class Paramter

View File

@@ -105,6 +105,8 @@ Public Class cKundenKontakte
Property kkd_Firmenname As Object = Nothing
Property kkd_Geburtsort As Object = Nothing
Property kkd_Geburtsland As Object = Nothing
Property kkd_letzteAenderungUser As String
Property kkd_letzteAenderung As DateTime
Public hasEntry = False
@@ -155,6 +157,8 @@ Public Class cKundenKontakte
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Firmenname", kkd_Firmenname))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Geburtsort", kkd_Geburtsort))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_Geburtsland", kkd_Geburtsland))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_letzteAenderungUser", kkd_letzteAenderungUser))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("kkd_letzteAenderung", kkd_letzteAenderung))
Return list

View File

@@ -999,7 +999,7 @@ Public Class cMDMFunctionsAllgemein
Dim merged As Boolean = False
If DS.DATA_LIST.coll_daId > 0 Then
For Each L As cDatenarchiv_Collection In DS.DATA_LIST.LIST
For Each L As cDatenarchiv_Collection In DS.DATA_LIST.LIST.OrderBy(Function(dgvr) dgvr.coll_date)
If L.coll_pfad <> "" Then PathList.Add(L.coll_pfad)
Next
@@ -1155,10 +1155,15 @@ Public Class cMDMFunctionsAllgemein
Dim AD As New cAdressen(USTV_ANTRAG.UStVAn_KuNr)
If Antrag_LandKz <> "" Then
header1 = "Statement itemising VAT amounts relating to the period covered by this application"
header2 = "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & AD.Name_1 & " " & AD.Name_2 & " " & "VAT in " & Antrag_LandKz & ": " & SteuerNR
End If
Return cProgramFunctions.genExcelFromDT_NEW_(dtNew, {"K1:K" & (dtNew.Rows.Count + 1)},, header1, header2, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "", ""), True, "J", True, True, openFile)
If USTV_ANTRAG.UStVAn_ReDatVon IsNot Nothing AndAlso IsDate(USTV_ANTRAG.UStVAn_ReDatVon) AndAlso USTV_ANTRAG.UStVAn_ReDatBis IsNot Nothing AndAlso IsDate(USTV_ANTRAG.UStVAn_ReDatBis) Then
header1 &= " (" & CDate(USTV_ANTRAG.UStVAn_ReDatVon).ToShortDateString & " - " & CDate(USTV_ANTRAG.UStVAn_ReDatBis).ToShortDateString & ")"
End If
header2 = "VAT NO.: " & USTV_ANTRAG.UStVAn_Steuernummer & " " & "Name/Company: " & AD.Name_1 & " " & AD.Name_2 & " " & "VAT in " & Antrag_LandKz & ": " & SteuerNR
End If
Return cProgramFunctions.genExcelFromDT_NEW_(dtNew, {"K1:K" & (dtNew.Rows.Count + 1)},, header1, header2, IIf(USTV_ANTRAG.UStVAn_Währungscode = "EUR", "", ""), True, "J", True, True, openFile)
Else

View File

@@ -1,6 +1,8 @@
Imports System.Data.SqlClient
Imports System.Reflection
Imports System.Windows.Forms
Imports com.sun.org.apache.xerces.internal.impl
Imports com.sun.xml.internal.rngom
Public Class cMessenger
@@ -405,16 +407,25 @@ Public Class cMessenger
Try
Me.CHAT_MESSAGES.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM(SELECT TOP " & top & " * FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime desc) as T order by chatMg_datetime asc", conn)
' Using cmd As New SqlCommand("SELECT chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM(SELECT TOP " & top & " chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id order by chatMg_datetime desc) as T order by chatMg_datetime asc", conn)
Using cmd As New SqlCommand("SELECT TOP (@top) chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM tblMessenger_ChatMessages WHERE chatMg_chatId = @chat_id ORDER BY chatMg_datetime DESC", conn)
cmd.Parameters.AddWithValue("@chat_id", chat_id)
cmd.Parameters.AddWithValue("@top", top)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) ' ----> 100 messages = 101 SQL calls
'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller!
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
Me.CHAT_MESSAGES.Add(MSG)
End While
dr.Close()
End Using
End Using
Me.CHAT_MESSAGES.Reverse()
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
End Try
@@ -424,14 +435,20 @@ Public Class cMessenger
Try
Me.CHAT_MESSAGES.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionADMIN()
Using cmd As New SqlCommand("SELECT * FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id AND CAST(chatMg_datetime as date)>=@dateTmp order by chatMg_datetime asc", conn)
Using cmd As New SqlCommand("SELECT chatMg_id,chatMg_chatId,chatMg_maId,chatMg_maName,chatMg_maFirma,chatMg_datetime,chatMg_type,chatMg_text,chatMg_anhang_docId,chatMg_referenz_AvisoId,chatMg_referenz_SendungsId,chatMg_referenz_KundenNr FROM [tblMessenger_ChatMessages] WHERE chatMg_chatId=@chat_id AND CAST(chatMg_datetime as date)>=@dateTmp order by chatMg_datetime asc", conn)
cmd.Parameters.AddWithValue("@chat_id", chat_id)
cmd.Parameters.AddWithValue("@dateTmp", dateTmp)
Dim dr = cmd.ExecuteReader()
While dr.Read
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id")) '----> 100 messages = 101 SQL calls
'Hier werden die einzelnen MSg-Obj nicht mehr per SQL geladen, sondern direkt als Objekt übergeben -> schneller!
'Dim MSG As New cMessenger_ChatMessages(dr.Item("chatMg_id"), dr.Item("chatMg_maId"), dr.Item("chatMg_datetime"), dr.Item("chatMg_maName"), dr.Item("chatMg_maFirma"), dr.Item("chatMg_type"), dr.Item("chatMg_text"), IIf(IsDBNull(dr.Item("chatMg_anhang_docId")), Nothing, dr.Item("chatMg_anhang_docId")), IIf(IsDBNull(dr.Item("chatMg_referenz_AvisoId")), Nothing, dr.Item("chatMg_referenz_AvisoId")), IIf(IsDBNull(dr.Item("chatMg_referenz_SendungsId")), Nothing, dr.Item("chatMg_referenz_SendungsId")), dr.Item("chatMg_referenz_KundenNr")) 'Me.chat_id, dr.Item("chatMb_maId")) 'yxc
Me.CHAT_MESSAGES.Add(MSG)
End While
dr.Close()
End Using
End Using
@@ -763,6 +780,20 @@ Public Class cMessenger
Me.chatMg_maId = chatMg_maId
End Sub
Sub New(chatMg_chatId, chatMg_maId, chatMg_datetime, chatMg_maName, chatMg_maFirma, chatMg_type, chatMg_text, chatMg_anhang_docId, chatMg_referenz_AvisoId, chatMg_referenz_SendungsId, chatMg_referenz_KundenNr)
Me.chatMg_chatId = chatMg_chatId
Me.chatMg_maId = chatMg_maId
Me.chatMg_datetime = chatMg_datetime
Me.chatMg_maName = chatMg_maName
Me.chatMg_maFirma = chatMg_maFirma
Me.chatMg_type = chatMg_type
Me.chatMg_text = chatMg_text
Me.chatMg_anhang_docId = chatMg_anhang_docId
Me.chatMg_referenz_AvisoId = chatMg_referenz_AvisoId
Me.chatMg_referenz_SendungsId = chatMg_referenz_SendungsId
Me.chatMg_referenz_KundenNr = chatMg_referenz_KundenNr
End Sub
Public Function getParameterList() As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
Dim list As New List(Of VERAG_PROG_ALLGEMEIN.SQLVariable)
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("chatMg_id", chatMg_id,, True))

View File

@@ -264,6 +264,9 @@ Public Class cRMC
End Function
Public Shared Function setBackToCustomerCustomerID(SQL As SQL, backToCustomer As Boolean, customerNo As String) As Boolean
Return SQL.doSQL("update tblRMCImport set InvToCustomer = " & IIf(backToCustomer, "1", "NULL") & " where InvToCustomer Is null AND rmc_kdNr = '" & customerNo & "'", "FMZOLL")
@@ -282,6 +285,55 @@ Public Class cRMC
Return SQL.getValueTxtBySql("SELECT count(InvToCustomer) FROM [tblRMCImport] where InvToCustomer Is null ", "FMZOLL",,, -1)
End Function
Public Shared Function getRMCQuartalsAbrechnungen(SQL As SQL, quartal As Integer, jahr As Integer, LeistungsNr As String, Optional USTV_ANTRAG As cUSTVAntrag = Nothing, Optional LANDKZ As String = "", Optional nurUnter50anzeigen As Boolean = True) As DataTable
Dim SQLWhere As String = "WHERE POS.LeistungsNr IN (" & IIf(LeistungsNr <> "", LeistungsNr, "") & ")"
If USTV_ANTRAG Is Nothing Then
SQLWhere &= " AND USTVA.UStVAn_KuNr LIKE '15%' AND YEAR(R.Abfertigungsdatum) = " & jahr & ""
Else
SQLWhere &= " AND USTVA.UStVAn_KuNr = " & USTV_ANTRAG.UStVAn_KuNr & IIf(LANDKZ <> "", " AND [Länderverzeichnis für die Außenhandelsstatistik].LandKz = '" & LANDKZ & "'", "") & " AND R.Abfertigungsdatum between '" & CDate(USTV_ANTRAG.UStVAn_ReDatVon).ToShortDateString & "' AND '" & CDate(USTV_ANTRAG.UStVAn_ReDatBis).ToShortDateString & "'"
End If
Dim SQLstr = "select Temp.KundenNr, Temp.Kundenname,Temp.LandKZ, Temp.Jahr, Temp.Quartal, sum(Temp.Betrag) as 'verrechneter Bearbeitungsbetrag', " & IIf(nurUnter50anzeigen, "50 - sum(Temp.Betrag) as Differenzbetrag", "") & " from (SELECT
USTVA.UStVAn_KuNr as KundenNr,
USTVA.UStVAn_Name as Kundenname,
[Länderverzeichnis für die Außenhandelsstatistik].LandKz as LandKZ,
YEAR(R.Abfertigungsdatum) AS Jahr,
DATEPART(QUARTER, R.Abfertigungsdatum) AS Quartal,
POS.LeistungsNr,
SUM(POS.SteuerfreierBetrag + POS.SteuerpflichtigerBetrag) AS Betrag
FROM tblUStVAntrag AS USTVA
INNER JOIN Rechnungsausgang AS R ON R.FilialenNr = USTVA.FilialenNr AND R.AbfertigungsNr = USTVA.AbfertigungsNr
INNER JOIN RechnungsausgangPositionen AS POS ON R.RK_ID = POS.RK_ID
INNER JOIN [Länderverzeichnis für die Außenhandelsstatistik] on UStVAn_LandNr=Landnr
" & SQLWhere & "
GROUP BY
USTVA.UStVAn_KuNr,
USTVA.UStVAn_Name,
[Länderverzeichnis für die Außenhandelsstatistik].LandKz,
YEAR(R.Abfertigungsdatum),
DATEPART(QUARTER, R.Abfertigungsdatum),
POS.LeistungsNr
) as Temp
WHERE 1 = 1 " & IIf(quartal > 0, " AND temp.Quartal = " & quartal, "") & "
Group by Temp.KundenNr, Temp.Kundenname,Temp.LandKZ, Temp.Jahr, Temp.Quartal
" & IIf(nurUnter50anzeigen, "Having sum(Temp.Betrag) < 50", "")
Dim dt = (New VERAG_PROG_ALLGEMEIN.SQL).loadDgvBySql(SQLstr, "FMZOLL")
Return dt
End Function
Public Class Paramter
Shared apiSettingsloaded As Boolean = False

View File

@@ -1723,6 +1723,16 @@ Public Class cDatenarchiv_Collection
Me.coll_archiv = coll_archiv
End Sub
Sub New(coll_id, coll_daId, coll_pfad, coll_bezeichnung, coll_info, coll_archiv, coll_date)
Me.coll_id = coll_id
Me.coll_daId = coll_daId
Me.coll_pfad = coll_pfad
Me.coll_bezeichnung = coll_bezeichnung
Me.coll_info = coll_info
Me.coll_archiv = coll_archiv
Me.coll_date = coll_date
End Sub
Public Function DELETE() As Boolean
Try
If coll_pfad.Contains(VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getRootDir) Then '"\\192.168.0.91\DATENARCHIV\") Then 'Um sicher zu gehen, dass der pfad im richtigem VZ ist.
@@ -1864,12 +1874,12 @@ Public Class cDatenserverIDCollectionList
LIST.Clear()
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
'Using cmd As New SqlCommand("SELECT coll_id, coll_daId, da_pfad, da_name FROM tblDatenarchiv_Collection INNER JOIN tblDatenarchiv ON coll_daId=da_id WHERE coll_id=@coll_id ", conn)
Using cmd As New SqlCommand("SELECT coll_id, coll_daId, coll_pfad, coll_bezeichnung,coll_info,coll_archiv FROM tblDatenarchiv_Collection WHERE coll_daId=@coll_daId order by coll_bezeichnung ", conn) ' order by [coll_date] desc
Using cmd As New SqlCommand("SELECT coll_id, coll_daId, coll_pfad, coll_bezeichnung,coll_info,coll_archiv, coll_date FROM tblDatenarchiv_Collection WHERE coll_daId=@coll_daId order by coll_bezeichnung ", conn) ' order by [coll_date] desc
cmd.Parameters.AddWithValue("@coll_daId", Me.coll_daId)
Dim dr = cmd.ExecuteReader()
'LIST = New List(Of cDatenarchiv_Collection)
While dr.Read
LIST.Add(New cDatenarchiv_Collection(dr.Item("coll_id"), dr.Item("coll_daId"), dr.Item("coll_pfad"), dr.Item("coll_bezeichnung"), dr.Item("coll_info"), dr.Item("coll_archiv")))
LIST.Add(New cDatenarchiv_Collection(dr.Item("coll_id"), dr.Item("coll_daId"), dr.Item("coll_pfad"), dr.Item("coll_bezeichnung"), dr.Item("coll_info"), dr.Item("coll_archiv"), dr.Item("coll_date")))
End While
dr.Close()
End Using

View File

@@ -160,39 +160,6 @@ Public Class frmMessenger
End If
End Sub
'Sub initEmojisTEST()
' FlowLayoutPanel.Controls.Clear()
' If alloweasteregg Then pic.Visible = False
' If System.IO.Directory.Exists(DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\") Then
' Dim EmojiPath = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "CHAT_EMOJIS\"
' If Not System.IO.Directory.Exists(EmojiPath) Then System.IO.Directory.CreateDirectory(EmojiPath)
' If VERAG_PROG_ALLGEMEIN.cProgrammeUpdate.copyProgramLIST(DATENVERVER_OPTIONS.getRootDir & "\DOKUMENTE\CHAT_EMOJIS\", EmojiPath, {}) Then
' For Each a In System.IO.Directory.GetFiles(EmojiPath) '.OrderBy(Function(f) f)
' If alloweasteregg Or Not a.Contains("easteregg") Then
' If System.IO.File.Exists(a) And a.Contains(".png") And a.Contains("emoji_") Then
' Dim p As New PictureBox
' p.Size = New Size(40, 40)
' p.BackgroundImage = Image.FromFile(a)
' p.BackgroundImageLayout = ImageLayout.Zoom
' p.Cursor = Cursors.Hand
' AddHandler p.Click, Sub()
' If Not CHAT.chat_aktiv Then MsgBox("Chat inaktiv!") : Exit Sub
' If CHAT IsNot Nothing Then
' saveEmoji(a)
' End If
' End Sub
' FlowLayoutPanel.Controls.Add(p)
' End If
' End If
' Next
' End If
' End If
'End Sub
Sub intiDGVChats(Optional dgv_ChatID = -1, Optional reloadChat = True, Optional selFirst = False)

View File

@@ -1,7 +1,4 @@
Imports GrapeCity.ActiveReports
Imports GrapeCity.ActiveReports.Document
Imports System.ComponentModel
Imports System.Data.SqlClient
Imports System.Data.SqlClient
Imports System.IO
Public Class cAllgemein

View File

@@ -574,7 +574,7 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
Case "AMBAR"
Select Case art
Case "3", "4" 'Export
myCredentials.UserName = "office@ambarlog.de"
myCredentials.UserName = "export@ambarlog.de"
' myCredentials.Password = "Naq30716"
' myCredentials.UserName = "import@ambarlog.com"
myCredentials.Password = "Naq30716"
@@ -584,7 +584,7 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
'text = text.replace("import@ambarlog.com", "office@ambarlog.com")
'text = text.replace("import@ambarlog.de", "office@ambarlog.com")
eMailfrom = "office@ambarlog.de"
eMailfrom = "export@ambarlog.de"
Case Else
' myCredentials.UserName = "import@ambarlog.com"
@@ -898,6 +898,46 @@ BindingFlags.Instance Or BindingFlags.NonPublic, Nothing, [Control], New Object(
EmAilAttach = String.Empty
End Try
End Function
Shared Function checkifMailisOK(emailList As String) As String
Dim invalid As New List(Of String)
If String.IsNullOrWhiteSpace(emailList) Then Return ""
Dim emails = emailList.Split(";"c, ","c)
For Each email In emails
Dim e = email.Trim()
If e = "" Then Continue For
Try
Dim addr As New System.Net.Mail.MailAddress(e)
If Not addr.Host.Contains(".") Then
invalid.Add(e)
End If
Catch
invalid.Add(e)
End Try
Next
If invalid.Count = 0 Then
Return ""
Else
Dim StringLIst As String = ""
For i = 1 To invalid.Count
StringLIst = StringLIst & invalid(i - 1)
Next i
Return StringLIst
End If
End Function
Public Function MakeScreenshot()