This commit is contained in:
2024-06-13 10:56:04 +02:00
9 changed files with 175 additions and 90 deletions

View File

@@ -1,7 +1,9 @@

Imports System.Globalization
Imports System.Net
Imports awt.ShellApi
Imports com.sun.org.apache.xerces.internal.impl.dv.xs
Imports com.sun.org.apache.xml.internal.serializer
Imports java.awt.geom
Imports Microsoft.Office.Interop
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
@@ -1565,6 +1567,24 @@ Public Class cFakturierung
MsgBox("Tradeshift Export fehlgeschlagen! " & ex.Message & ex.StackTrace)
End Try
End If
If RECHNUNG.Firma_ID = 24 Then
Dim API As New DataTable
Dim Program = "DATEV-PDF"
API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & Program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
If API.Rows.Count = 0 Then
MsgBox("keine gültigen API-Einstellungen für " & Program & " gefunden!")
Else
Dim client As WebClient = New WebClient
client.Credentials = New NetworkCredential(API.Rows(0).Item("api_user").ToString, API.Rows(0).Item("api_password").ToString)
client.UploadFile(API.Rows(0).Item("api_url") & "/" & RG_Bezeichnung, tmpPath)
End If
End If
Catch ex As Exception
MsgBox("API Fehler!" & ex.Message & ex.StackTrace)
End Try
@@ -2477,6 +2497,24 @@ Public Class cFakturierung
Catch ex As Exception
MsgBox("Tradeshift Export fehlgeschlagen! " & ex.Message & ex.StackTrace)
End Try
If dt.Rows(0)("Firma_ID") = 24 Then
Dim API As New DataTable
Dim Program = "DATEV-PDF"
API = SQL.loadDgvBySql("SELECT top(1) * FROM tblAPIEinstellungen WHERE api_program='" & Program & "' and api_productive ='" & IIf(VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM, "0", "1") & "'", "ADMIN")
If API.Rows.Count = 0 Then
MsgBox("keine gültigen API-Einstellungen für " & Program & " gefunden!")
Else
Dim client As WebClient = New WebClient
client.Credentials = New NetworkCredential(API.Rows(0).Item("api_user").ToString, API.Rows(0).Item("api_password").ToString)
client.UploadFile(API.Rows(0).Item("api_url") & "/Sammelrechnung_" & RechnungsNr & ".pdf", pathPDF)
End If
End If
End If
End If
Catch ex As Exception
@@ -2492,7 +2530,7 @@ Public Class cFakturierung
Shared Function doSAMMELRechnungDruck_Rechnungsdruck_Anlagen(RechnungsNr As Integer, DruckDatumZeit As Date, PrinterName As String, Optional ByRef pathPDF_Anlage As List(Of String) = Nothing, Optional RechnungsdruckArt As Integer = -1, Optional VorschauID As String = "") As Boolean
Dim dt As DataTable
If VorschauID = "" Then
SQL.loadDgvBySql("SELECT RK_ID FROM Rechnungsausgang WHERE Rechnungsausgang.Status IN(3) And CONVERT(datetime,DruckDatumZeit ,104)='" & DruckDatumZeit.ToString("dd.MM.yyyy HH:mm:ss.fff") & "' and RechnungsNr='" & RechnungsNr & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
SQL.loadDgvBySql("Select RK_ID FROM Rechnungsausgang WHERE Rechnungsausgang.Status In(3) And Convert(DateTime, DruckDatumZeit, 104) ='" & DruckDatumZeit.ToString("dd.MM.yyyy HH:mm:ss.fff") & "' and RechnungsNr='" & RechnungsNr & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
Else
SQL.loadDgvBySql("SELECT RK_ID FROM Rechnungsausgang WHERE RechnungsNr is null AND VorschauID='" & VorschauID & "' ORDER BY FilialenNr, AbfertigungsNr", "FMZOLL")
End If

View File

@@ -794,4 +794,5 @@ Public Class frmAbrechnungsMaske
Dim webAddress As String = "https://wiki.verag.ag/de/abteilungen/verrechnung/xxxx"
Process.Start(webAddress)
End Sub
End Class

View File

@@ -1,4 +1,5 @@
Imports System.IO
Imports com.sun.xml.internal.rngom.digested
Imports VERAG_PROG_ALLGEMEIN
Public Class usrCntlFaktAbrechnung
@@ -543,9 +544,9 @@ Public Class usrCntlFaktAbrechnung
FirmaTmp = "VERAGIMEX"
End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
FirmaTmp = "AMBAR"
End If
'If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
' FirmaTmp = "AMBAR"
'End If
Select Case FirmaTmp
Case "VERAG"
@@ -4091,7 +4092,9 @@ Nächste_Textzeile_lesen:
Dim check As Integer = cAllgemein.checkSteuerschluessel(cboFirma._value, RECHNUNG.RechnungsLandKz, RECHNUNG.RechnungsUstIdKz, RECHNUNG.RechnungsUstIdNr, RECHNUNG.RechnungsUstIdGeprüft)
If check >= 0 Then
If IsNumeric(cboSteuerschlüssel._value) AndAlso CInt(cboSteuerschlüssel._value) <> check Then
If Not vbYes = MsgBox("Falscher Steuertyp!" & vbNewLine & " Steuerschlüssel mit " & IIf(check = 2, "20 %", check & " %") & " sollte hinterlegt werden." & vbNewLine & "Trotzdem speichern?", vbYesNo) Then
Dim text = SQL.getValueTxtBySql("select Steuerbezeichnung from Steuertabelle where Steuerschlüssel =" & check, "FMZOLL")
Dim hintUIDPruef As String = IIf((RECHNUNG.RechnungsUstIdGeprüft IsNot Nothing AndAlso CDate(RECHNUNG.RechnungsUstIdGeprüft) < Today.AddDays(-30)), " UID-ÜrPrüfung ist älter als 30 Tage!", "")
If Not vbYes = MsgBox("Falscher Steuertyp!" & vbNewLine & " Steuerschlüssel " & text & " sollte hinterlegt werden." & vbNewLine & IIf(hintUIDPruef <> "", hintUIDPruef & vbNewLine, "") & "Trotzdem speichern?", vbYesNo) Then
Return False
End If
End If

View File

@@ -259,7 +259,8 @@ Public Class UsrCntlessensbestellungen
Dim mitarbeiter As New cMitarbeiter(cbxMitarbeiter._value)
Dim MenuID As String = SQL.getValueTxtBySql("select MenuID from tblEBMenu where MenuDateVon = '" & cbxMenu.SelectedItem.ToString & "'", "AVISO")
Dim menuDate = cbxMenu.SelectedItem.ToString.Replace(cbxMenu.SelectedItem.Value & " - ", "")
Dim MenuID As String = SQL.getValueTxtBySql("select MenuID from tblEBMenu where MenuDateVon = '" & menuDate & "'", "AVISO")
essen = New cEssensbestellung(cbxMenu._value, cbxMitarbeiter._value, cbxGebäude._value, cbxAbteilung._value, cbxMitarbeiter.Text, txtAnmerkung.Text)
@@ -592,7 +593,7 @@ Public Class UsrCntlessensbestellungen
'cbxMenu.fillWithSQL("SELECT Distinct Top 50 (REPLACE(MenuTitel,'Wochenkarte ','')) + ' - ' + Convert(varchar, Year(MenuDateVon)), MenuDateVon from tblEBMenu order by MenuDateVon desc", False, "AVISO", True)
cbxMenu.fillWithSQL("SELECT Distinct Top 50 (REPLACE(MenuTitel,'Wochenkarte ','')) + ' - ' + Convert(varchar, Year(MenuDateVon)), MenuDateVon from tblEBMenu order by MenuDateVon desc", False, "AVISO", True) '/ where MenuDateVon >= GETDATE()
cbxMenu.fillWithSQL("SELECT Distinct Top 50 (REPLACE(MenuTitel,'Wochenkarte ','')) + ' - ' + Convert(varchar, Year(MenuDateVon)), MenuDateVon from tblEBMenu order by MenuDateVon desc", True, "AVISO", True) '/ where MenuDateVon >= GETDATE()
'/ where MenuDateVon >= GETDATE()

View File

@@ -27,7 +27,7 @@ Public Class frmEssensbestellungen
list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Dürüm", "Dürüm"))
'list.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("", ""))
cbxMenu.fillWithSQL("SELECT Distinct Top 50 (REPLACE(MenuTitel,'Wochenkarte ','')) + ' - ' + Convert(varchar, Year(MenuDateVon)), MenuDateVon from tblEBMenu order by MenuDateVon desc", False, "AVISO", True) '/ where MenuDateVon >= GETDATE()
cbxMenu.fillWithSQL("SELECT Distinct Top 50 (REPLACE(MenuTitel,'Wochenkarte ','')) + ' - ' + Convert(varchar, Year(MenuDateVon)) , MenuDateVon from tblEBMenu order by MenuDateVon desc", True, "AVISO", True) '/ where MenuDateVon >= GETDATE()
cbxAlt_montag.Items.AddRange(list.ToArray())
cbxAlt_dienstag.Items.AddRange(list.ToArray())
@@ -58,7 +58,8 @@ Public Class frmEssensbestellungen
Exit Sub
End If
Dim MenuID As String = SQL.getValueTxtBySql("select MenuID from tblEBMenu where MenuDateVon = '" & cbxMenu.SelectedItem.ToString & "'", "AVISO")
Dim menuDate = cbxMenu.SelectedItem.ToString.Replace(cbxMenu.SelectedItem.Value & " - ", "")
Dim MenuID As String = SQL.getValueTxtBySql("select MenuID from tblEBMenu where MenuDateVon = '" & menuDate & "'", "AVISO")
essen = New cEssensbestellung(cbxMenu._value, cAllgemein.USRID, cbxGebauede._value, cAllgemein.ABTEILUNG, cAllgemein.MITARBEITER.mit_vname & " " & cAllgemein.MITARBEITER.mit_nname, txtAnmerkung)

View File

@@ -1879,6 +1879,12 @@ Public Class usrCntlKundenuebersicht
End Sub
Private Sub btnPruf_Click(sender As Object, e As EventArgs) Handles Button3.Click
checkEORI()
Exit Sub
'Create an object that calls the name for the
'Web service used in the added Web Reference.
@@ -2446,6 +2452,12 @@ Public Class usrCntlKundenuebersicht
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Me.Cursor = Cursors.WaitCursor
'printEORI(KUNDE.EORITIN, "C:\Users\DEVELOPER1\Desktop\test.pdf")
@@ -3148,4 +3160,23 @@ Public Class usrCntlKundenuebersicht
End Sub
Private Sub checkEORI()
Me.Cursor = Cursors.WaitCursor
Dim EORI_NR = KUNDE.EORITIN.ToString()
EORI_NR.Replace("-", "").Replace(" ", "").Trim()
If EORI_NR = "" Then Me.Cursor = Cursors.Default : Exit Sub
Dim url = SDL.cEORIWebService.genEORI_Formular(kdNr, EORI_NR)
'Dim pdf = VERAG_PROG_ALLGEMEIN.cFormularManager.getPDFViaSpirePDF_FromURL(url)
'If pdf <> "" Then Process.Start(pdf)
Me.Cursor = Cursors.Default
End Sub
End Class

View File

@@ -1496,7 +1496,7 @@ Public Class usrcntlKundeBearbeitenFull
Private Sub btnDatevExport_Click(sender As Object, e As EventArgs) Handles btnDatevExport.Click
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("DATEV_EXPORT", "SDL") And VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "AMBAR" Then
If VERAG_PROG_ALLGEMEIN.cDatev_Interface.genDatensatzCSV_ALL(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, False, True, False) Then
If VERAG_PROG_ALLGEMEIN.cDatev_Interface.genDatensatzCSV_ALL(VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA, False, True, False, ,, False) Then
MsgBox("Stammdaten wurden erfolgreich exportiert!")
Else
MsgBox("Es wurden keine Stammdaten exportiert!")

View File

@@ -1,4 +1,6 @@
Public Class cDatev_Interface
Imports DocumentFormat.OpenXml.Wordprocessing
Public Class cDatev_Interface
Shared datevVersion As Integer = 700
Shared Datenkategorie As Integer = 16
@@ -79,7 +81,7 @@
End Function
Public Shared Function genDatensatzCSV_Stammdaten(ByRef Firma_ID As Integer, Optional OpenFile As Boolean = False, Optional Geschaeftsjahr As Integer = -1, Optional filepath As String = "") As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean
Public Shared Function genDatensatzCSV_Stammdaten(ByRef Firma_ID As Integer, Optional OpenFile As Boolean = False, Optional Geschaeftsjahr As Integer = -1, Optional filepath As String = "", Optional automatischerExport As Boolean = True) As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean
Try
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID)
@@ -121,8 +123,9 @@
Dim DateinameKD = "DTVF_KD_" & Now.ToString("ddMMyyyy_HHmm") & ".csv"
fileKD = My.Computer.FileSystem.OpenTextFileWriter(pathKD & DateinameKD, True, System.Text.Encoding.GetEncoding("iso-8859-15"))
Dim month = IIf(automatischerExport, Now.AddDays(-1).Month, Now.Month)
fileKD.WriteLine(genStammdatenHeader(Geschaeftsjahr))
fileKD.WriteLine(genStammdatenHeader(Geschaeftsjahr, month))
fileKD.WriteLine(genStammdatenBeginn())
initKDNr(dt_Stamm, FIRMA.Firma_ID)
@@ -162,7 +165,7 @@
Public Shared Function genDatensatzCSV_ALL(firma As String, Optional OpenFile As Boolean = False, Optional boolKunden As Boolean = True, Optional boolBuchungen As Boolean = True, Optional Geschaeftsjahr As Integer = -1, Optional PathList As List(Of String) = Nothing) As Boolean
Public Shared Function genDatensatzCSV_ALL(firma As String, Optional OpenFile As Boolean = False, Optional boolKunden As Boolean = True, Optional boolBuchungen As Boolean = True, Optional Geschaeftsjahr As Integer = -1, Optional PathList As List(Of String) = Nothing, Optional automatischerExport As Boolean = True) As Boolean
If PathList IsNot Nothing Then
PathList.Clear()
@@ -177,13 +180,13 @@
End If
If boolKunden Then
If genDatensatzCSV_Stammdaten(24, OpenFile, Geschaeftsjahr, Path) Then
If genDatensatzCSV_Stammdaten(24, OpenFile, Geschaeftsjahr, Path, automatischerExport) Then
ExportfileCreated = True
If Path <> "" Then PathList.Add(Path)
End If
End If
If boolBuchungen Then
If genDatensatzCSV_Buchungen(24, OpenFile, Geschaeftsjahr, Path) Then
If genDatensatzCSV_Buchungen(24, OpenFile, Geschaeftsjahr, Path, automatischerExport) Then
ExportfileCreated = True
If Path <> "" Then PathList.Add(Path)
End If
@@ -192,7 +195,7 @@
End Function
Public Shared Function genDatensatzCSV_Buchungen(ByRef Firma_ID As Integer, Optional OpenFile As Boolean = False, Optional Geschaeftsjahr As Integer = -1, Optional ByRef filepath As String = "") As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean
Public Shared Function genDatensatzCSV_Buchungen(ByRef Firma_ID As Integer, Optional OpenFile As Boolean = False, Optional Geschaeftsjahr As Integer = -1, Optional ByRef filepath As String = "", Optional automatischerExport As Boolean = True) As Boolean ' Optional OpenFile = False, Optional boolKunden = True, Optional boolBuchungen = True ) As Boolean
Try
Dim FIRMA As New VERAG_PROG_ALLGEMEIN.cFirmen(Firma_ID)
@@ -234,7 +237,8 @@
' initKDNr(dt_Buchungen)
Dim SummeBuchungen As Double = 0
file.WriteLine(genStapelbuchungsHeader(Geschaeftsjahr))
Dim month = IIf(automatischerExport, Now.AddDays(-1).Month, Now.Month)
file.WriteLine(genStapelbuchungsHeader(Geschaeftsjahr, month))
file.WriteLine(genBuchungenBeginn())
For Each r In dt_Buchungen.Rows
file.WriteLine(genBuchungsZeile(r, SummeBuchungen, Geschaeftsjahr, FIRMA))
@@ -315,7 +319,10 @@
Public Shared Function genStammdatenHeader(Geschäftsjahr As Integer) As String
Public Shared Function genStammdatenHeader(Geschäftsjahr As Integer, aktuellesMonat As Integer) As String
Dim day = New cFeiertage(Geschäftsjahr)
Dim headerString = Chr(34) & "EXTF" & Chr(34) & ";" 'Export aus 3rd Party App
headerString &= datevVersion.ToString & ";"
headerString &= Datenkategorie.ToString & ";"
@@ -326,16 +333,17 @@
headerString &= MandantenNr.ToString & ";" 'Mandantennummer
headerString &= Geschäftsjahr.ToString & "0101" & ";" 'WJ-Beginn
headerString &= KontenlängePersonKto.ToString & ";"
headerString &= Geschäftsjahr.ToString & "0101" & ";" 'DatumVon
headerString &= Geschäftsjahr.ToString & "1231" & ";" 'DatumBis
headerString &= Geschäftsjahr.ToString & aktuellesMonat & "01" & ";" 'DatumVon
headerString &= Geschäftsjahr.ToString & aktuellesMonat & day.GetLastyDayYInxMonth(Now.DayOfWeek, aktuellesMonat, Geschäftsjahr, True) & ";" 'DatumBis
headerString &= "IMPORT AUS AVISO;" 'Bezeichnung
headerString &= Chr(34) & Chr(34) & ";"
headerString &= emptyFormatedValueWithoutCommas(12)
Return headerString
End Function
Public Shared Function genStapelbuchungsHeader(Geschäftsjahr As Integer) As String
Public Shared Function genStapelbuchungsHeader(Geschäftsjahr As Integer, aktuellesMonat As Integer) As String
Dim headerString = Chr(34) & "EXTF" & Chr(34) & ";" 'Export aus 3rd Party App
Dim day = New cFeiertage(Geschäftsjahr)
headerString &= datevVersion.ToString & ";" 'Versionnummer Datev
headerString &= StapelbuchungsNr.ToString & ";" 'Stapelbuchungen
headerString &= Chr(34) & "Buchungsstapel" & Chr(34) & ";" 'Buchungsstapel
@@ -345,8 +353,8 @@
headerString &= MandantenNr.ToString & ";"
headerString &= Geschäftsjahr.ToString & "0101" & ";" 'WJ-Beginn
headerString &= KontenlängeSachKto.ToString & ";"
headerString &= Geschäftsjahr.ToString & "0101" & ";" 'DatumVon
headerString &= Geschäftsjahr.ToString & "1231" & ";" 'DatumBis
headerString &= Geschäftsjahr.ToString & aktuellesMonat & "01" & ";" 'DatumVon
headerString &= Geschäftsjahr.ToString & aktuellesMonat & day.GetLastyDayYInxMonth(Now.DayOfWeek, aktuellesMonat, Geschäftsjahr, True) & ";" 'DatumBis
headerString &= "IMPORT AUS AVISO;" 'Bezeichnung
headerString &= Chr(34) & Chr(34) & ";"
headerString &= emptyFormatedValueWithoutCommas(12)
@@ -356,7 +364,6 @@
Public Shared Function genStammdatenEnd() As String
Return ""
End Function
Public Shared Function genBuchungsZeile(row As DataRow, ByRef SummeBuchungen As Double, ByRef Geschäftsjahr As Integer, ByRef FIRMA As VERAG_PROG_ALLGEMEIN.cFirmen) As String
genBuchungsZeile = ""
Dim steuerbetragLokal As Double = 0
@@ -607,8 +614,6 @@
Return 0
End Try
End Function
Shared Function getDbltr(o As Object) As String
Try
If o Is Nothing Then Return 0
@@ -635,7 +640,6 @@
For i = 1 To count
retturnText &= Chr(34) & Chr(34) & ";"
Next
Return retturnText

View File

@@ -199,11 +199,13 @@ Public Class cAllgemein
isEU = sql.getValueTxtBySql("select MitgliedslandEU from Währungstabelle where landkz = '" & landKz & "'", "FMZOLL",)
If isEU Then
If UIDLandKz <> "" AndAlso UstIdNr <> "" AndAlso UstIdGeprüft IsNot Nothing Then
Return 0
If UIDLandKz <> "" AndAlso UstIdNr <> "" AndAlso UstIdGeprüft IsNot Nothing AndAlso CDate(UstIdGeprüft) < Today.AddDays(-30) Then
Return 10
Else
Return 2
End If
Else
Return 0
End If
Case "D", "DE"
@@ -213,11 +215,13 @@ Public Class cAllgemein
isEU = sql.getValueTxtBySql("select MitgliedslandEU from Währungstabelle where landkz = '" & landKz & "'", "FMZOLL",)
If isEU Then
If UIDLandKz <> "" AndAlso UstIdNr <> "" AndAlso UstIdGeprüft IsNot Nothing Then
Return 0
If UIDLandKz <> "" AndAlso UstIdNr <> "" AndAlso UstIdGeprüft IsNot Nothing AndAlso CDate(UstIdGeprüft) < Today.AddDays(-30) Then
Return 10
Else
Return 19
End If
Else
Return 0
End If
Case "GB"
@@ -227,11 +231,13 @@ Public Class cAllgemein
isEU = sql.getValueTxtBySql("select MitgliedslandEU from Währungstabelle where landkz = '" & landKz & "'", "FMZOLL",)
If isEU Then
If UIDLandKz <> "" AndAlso UstIdNr <> "" AndAlso UstIdGeprüft IsNot Nothing Then
Return 0
If UIDLandKz <> "" AndAlso UstIdNr <> "" AndAlso UstIdGeprüft IsNot Nothing AndAlso CDate(UstIdGeprüft) < Today.AddDays(-30) Then
Return 10
Else
Return 20
End If
Else
Return 0
End If