Compare commits

12 Commits

Author SHA1 Message Date
4439f3e6f7 Version 2026-09-22 14:44:51 +02:00
da7dd43a0b div. Änderungen, Gesamtsicherheiten, etc. 2026-09-22 14:30:11 +02:00
251a7a93c2 version 2026-09-22 08:23:55 +02:00
dbd4995387 fix Sammelrechnung 2026-09-22 08:10:35 +02:00
118b5a17ae mdm, div. Änderungen, etc. 2026-09-21 17:27:06 +02:00
09c666e239 Syska (MDM-Import), uta, etc. 2026-09-17 16:45:02 +02:00
6016fa4a5a div. Änderungen 2026-09-17 08:55:42 +02:00
7c0c1ea1a3 Barverkauf, etc. 2026-09-16 15:48:00 +02:00
43257416fd fix 2026-09-16 10:49:27 +02:00
9a0f22e07d fix 2026-09-16 09:45:24 +02:00
4ffc3dce9f gitignore 2026-09-16 09:09:23 +02:00
6fa1349b4e fix 2026-09-16 09:08:39 +02:00
29 changed files with 7655 additions and 388 deletions

2
.gitignore vendored
View File

@@ -261,5 +261,3 @@ __pycache__/
*.pyc
/VERAG_PROG_ALLGEMEIN/Benutzerdefinierte Steuerelemente
/VERAG_PROG_ALLGEMEIN/VERAG_PROG_ALLGEMEIN.vbproj
/SDL/SDL.vbproj
/SDL/SDL.vbproj

View File

@@ -1,4 +1,5 @@
Imports Chilkat
Imports io.konik.zugferd.unqualified
Imports QRCoder
Imports VERAG_PROG_ALLGEMEIN
@@ -19,6 +20,10 @@ Public Class FtReceiptCases
Public Const YearlyClosing As Long = &H4445000000000006L
Public Const DailyClosing As Long = &H4445000000000007L
' Kasseneinzahlung / Kassenauszahlung / Geldtransfer
Public Const CashDepositOrWithdrawal As Long = &H4445000000000011L
' Flags
Public Const ImplicitTransaction As Long = &H100000000L
Public Const ReversalReceipt As Long = &H40000L
@@ -34,11 +39,29 @@ End Class
Public Class FtChargeItemCase
'DE
Public Const RevenueNormal As Long = &H4445000000000001L ' 19 %
Public Const RevenueReduced As Long = &H4445000000000002L ' 7 %
Public Const RevenueNotTaxable As Long = &H4445000000000005L 'nicht steuerbar
Public Const RevenueTaxFree As Long = &H4445000000000006L '0%
' DE Verkaufsbelege
Public Const RevenueNormal As Long = &H4445000000000001L ' 19 % Regelsteuersatz
Public Const RevenueReduced As Long = &H4445000000000002L ' 7 % ermäßigter Steuersatz
Public Const RevenueNotTaxable As Long = &H4445000000000005L ' Nicht steuerbar
Public Const RevenueTaxFree As Long = &H4445000000000006L ' Umsatzsteuerfrei, 0 %
' DE Kassenbewegungen
Public Const Anfangsbestand As Long = &H4445000000000090L ' Anfangsbestand
Public Const Privatentnahme As Long = &H4445000000000091L ' Privatentnahme
Public Const Privateinlage As Long = &H4445000000000092L ' Privateinlage
Public Const Geldtransit As Long = &H4445000000000093L ' Geldtransit
Public Const Lohnzahlung As Long = &H4445000000000094L ' Lohnzahlung
Public Const Einzahlung As Long = &H4445000000000095L ' Einzahlung
Public Const Auszahlung As Long = &H4445000000000096L ' Auszahlung
End Class
@@ -53,10 +76,26 @@ End Class
Public Class ReceiptCaseIntern
Public Const STORNO As String = "Storno"
Public Const VERKAUF As String = "Verkauf"
Public Const EINGANG As String = "Eingang"
Public Const AUSGANG As String = "Ausgang"
Public Const WIEDERHOLUNG As String = "Retry"
Public Const NULLBELEG As String = "NULL-BELEG"
Public Const STARTBELEG As String = "START-BELEG"
Public Const OUTOFOPERATIONBELEG As String = "END-BELEG"
Public Const TEMP_OUTOFOPERATIONBELEG As String = "TEMP-AUSFALL"
Public Const DAILYCLOSING As String = "TAGESABSCHLUSS"
End Class
Public Class PayItemCasesIntern
Public Const Cash As String = "Cash"
Public Const DebitCard As String = "DebitCard"
Public Const Kasseneinzahlungen_Auszahlungen As String = "Kasseneinzahlungen_Auszahlungen"
End Class
@@ -81,6 +120,9 @@ Public Class FtPayItemCases
' Gutschein
Public Const Voucher As Long = &H4445000000000007L
'Cash transfer from/to cash book
Public Const Kasseineinzahlung_Auszahlung As Long = &H4445000000000016L
End Class
Public Class cFiskaltrustClient_chilkat
@@ -387,21 +429,24 @@ Public Class cFiskaltrustClient_chilkat
json.UpdateString("cbReceiptMoment", DateTime.UtcNow.ToString("o"))
Dim receipCase
Dim receiptCaseValue As Long
If _receiptCase = "Storno" Then
If _receiptCase = ReceiptCaseIntern.STORNO Then
' Neue Referenz für den Stornobeleg
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
' Referenz auf den ursprünglichen Beleg
json.UpdateString("cbPreviousReceiptReference", _reference)
If TSEisOnline Then
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.ImplicitTransaction
Else
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.ReversalReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
End If
json.UpdateString("cbUser", VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME)
ElseIf _receiptCase = "Retry" Then
ElseIf _receiptCase = ReceiptCaseIntern.WIEDERHOLUNG Then
'Receipt-Request nach Kommunikationsfehler
'dieselbe cbReceiptReference verwenden
@@ -409,87 +454,137 @@ Public Class cFiskaltrustClient_chilkat
'optional dieselbe cbTerminalID
json.UpdateString("cbReceiptReference", _reference)
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ReceiptRequest
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.ReceiptRequest
' Kasseneinzahlung (ohne Positionen) / Kassenauszahlung (ohne Positionen)
ElseIf (_receiptCase = ReceiptCaseIntern.EINGANG OrElse _receiptCase = ReceiptCaseIntern.AUSGANG) Then
kindOfPayment = PayItemCasesIntern.Kasseneinzahlungen_Auszahlungen
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
If TSEisOnline Then
receiptCaseValue = FtReceiptCases.CashDepositOrWithdrawal Or FtReceiptCases.ImplicitTransaction
Else
receiptCaseValue = FtReceiptCases.CashDepositOrWithdrawal Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
End If
Else
' New reference for a normal receipt
json.UpdateString("cbReceiptReference", Guid.NewGuid().ToString())
If TSEisOnline Then
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.ImplicitTransaction
Else
receipCase = FtReceiptCases.PosReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
receiptCaseValue = FtReceiptCases.PosReceipt Or FtReceiptCases.FailedReceipt Or FtReceiptCases.ImplicitTransaction
End If
End If
json.UpdateString("ftReceiptCase", receipCase.ToString())
json.UpdateString("ftReceiptCase", receiptCaseValue.ToString())
Dim chargeItems = json.AppendArray("cbChargeItems")
For Each p In POS
If POS.Count > 0 Then
If chargeItems.AddObjectAt(-1) Then
For Each p In POS
If chargeItems.AddObjectAt(-1) Then
Dim quantity As Double = p.Anzahl
Dim unitPrice As Double = p.Preis
Dim lineAmount As Double = p.Betrag
Dim quantity As Double = p.Anzahl
Dim unitPrice As Double = p.Preis
Dim lineAmount As Double = p.Betrag
'bei Storno negieren (BEI DE nur einen Teil)!
'To cancel a receipt, resend it with this flag added to the ftReceiptCase and inverse the cbPayItems OR cbChargeItems (This is not the same behavior as described in the general part — in Germany, this flag requires only one of cbPayItems or cbChargeItems to be negative, and both must not be negative at the same time)'
'https://docs.fiskaltrust.cloud/docs/poscreators/middleware-doc/germany/reference-tables/ftreceiptcase
'bei Storno negieren (BEI DE nur einen Teil)! -> im V1 Beispiel sind beide negativ!!!
'To cancel a receipt, resend it with this flag added to the ftReceiptCase and inverse the cbPayItems OR cbChargeItems (This is not the same behavior as described in the general part — in Germany, this flag requires only one of cbPayItems or cbChargeItems to be negative, and both must not be negative at the same time)'
'https://docs.fiskaltrust.cloud/docs/poscreators/middleware-doc/germany/reference-tables/ftreceiptcase
If _receiptCase = "Storno" Then
quantity = quantity * -1
lineAmount = lineAmount * -1
If _receiptCase = ReceiptCaseIntern.STORNO Then
quantity = quantity * -1
lineAmount = lineAmount * -1
End If
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
item.UpdateInt("Quantity", quantity)
item.UpdateNumber("Amount", lineAmount)
item.UpdateNumber("VATRate", vat)
item.UpdateString("Description", p.LeistungsBez)
Dim ChargeItemCase As Long
Select Case vat
Case 19D
ChargeItemCase = FtChargeItemCase.RevenueNormal
Case 7D
ChargeItemCase = FtChargeItemCase.RevenueReduced
Case 0D
ChargeItemCase = FtChargeItemCase.RevenueTaxFree
Case Else
Throw New Exception("Unbekannter Steuersatz")
End Select
item.UpdateString("ftChargeItemCase", ChargeItemCase)
End If
Dim item As Chilkat.JsonObject = chargeItems.ObjectAt(chargeItems.Size - 1)
item.UpdateInt("Quantity", quantity)
item.UpdateNumber("Amount", lineAmount)
item.UpdateNumber("VATRate", vat)
item.UpdateString("Description", p.LeistungsBez)
Dim ChargeItemCase As Long
Select Case vat
Next
Case 19D
ChargeItemCase = FtChargeItemCase.RevenueNormal
Case 7D
ChargeItemCase = FtChargeItemCase.RevenueReduced
Case 0D
ChargeItemCase = FtChargeItemCase.RevenueTaxFree
Case Else
Throw New Exception("Unbekannter Steuersatz")
End Select
End If
item.UpdateString("ftChargeItemCase", ChargeItemCase)
End If
Dim paidAmount As Double = amount
Dim paidQuantity As Integer = 1
'bei Storno negieren (BEI DE nur einen Teil)! -> im V1 Beispiel sind beide negativ!!!
'To cancel a receipt, resend it with this flag added to the ftReceiptCase and inverse the cbPayItems OR cbChargeItems (This is not the same behavior as described in the general part — in Germany, this flag requires only one of cbPayItems or cbChargeItems to be negative, and both must not be negative at the same time)'
'https://docs.fiskaltrust.cloud/docs/poscreators/middleware-doc/germany/reference-tables/ftreceiptcase
If PayItemCasesIntern.Kasseneinzahlungen_Auszahlungen Then
End If
If _receiptCase = ReceiptCaseIntern.STORNO Then
paidAmount = paidAmount * -1
paidQuantity = paidQuantity * -1
End If
Next
Dim payItems = json.AppendArray("cbPayItems")
payItems.AddObjectAt(-1)
Dim pay As Chilkat.JsonObject = payItems.ObjectAt(payItems.Size - 1)
pay.UpdateInt("Quantity", 1)
pay.UpdateNumber("Amount", amount.ToString().Replace(",", "."))
pay.UpdateString("Description", kindOfPayment)
pay.UpdateInt("Quantity", paidQuantity)
pay.UpdateNumber("Amount", paidAmount)
Dim Description As String = ""
Select Case kindOfPayment
Case "Cash"
Case PayItemCasesIntern.Cash
pay.UpdateString("ftPayItemCase", FtPayItemCases.Cash)
Case "Card"
Description = "Bar"
Case PayItemCasesIntern.DebitCard
pay.UpdateString("ftPayItemCase", FtPayItemCases.DebitCard)
Description = "ECKarte"
Case PayItemCasesIntern.Kasseneinzahlungen_Auszahlungen
pay.UpdateString("ftPayItemCase", FtPayItemCases.Kasseineinzahlung_Auszahlung)
If amount > 0 Then
Description = "Kasseneingang"
ElseIf amount < 0 Then
Description = "Kassenausgang"
End If
End Select
pay.UpdateString("Description", Description)
Return json
End Function

View File

@@ -1,4 +1,5 @@
Imports GrapeCity.ActiveReports

Imports GrapeCity.ActiveReports
Imports SDL.RKSVServer
Imports VERAG_PROG_ALLGEMEIN.DSFinVKService
Imports VERAG_PROG_ALLGEMEIN.RKSV_DE_DSFinVKService
@@ -122,25 +123,37 @@ Public Class cRKSV
Dim kindOfPayment As String = getKindOfPayment(beleg_temp)
If False Then
'Dim client As New cFiskaltrustClient(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
'Dim result = Await client.SignReceiptAsync(summeBRUTTO, steuersatz, POS, "Cash", kasse.rksv_id)
'If result <> "" Then
' Return client.saveRKSV_FT(result, QR_CodeString)
'Else
' Return False
'End If
Else
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
Dim result = client.SignReceipt(summeBRUTTO, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id, typOfReceiptCase, reference, TSEisOnline)
If result <> "" Then
Dim client As New cFiskaltrustClient_chilkat(kasse.rksv_FT_RestServiceURL, kasse.rksv_FT_CashboxID, kasse.rksv_FT_AccessToken, kasse.rksv_FT_Country)
Dim result As String = ""
Select Case typOfReceiptCase
Case ReceiptCaseIntern.NULLBELEG
result = client.SignNullReceipt(kasse.rksv_id)
Case ReceiptCaseIntern.STARTBELEG
result = client.SignInitialOperationReceipt(kasse.rksv_id)
Case ReceiptCaseIntern.OUTOFOPERATIONBELEG
result = client.SignOutOfOrderReceipt(kasse.rksv_id)
Case ReceiptCaseIntern.TEMP_OUTOFOPERATIONBELEG
result = client.SignTempOutOfOrderReceipt(kasse.rksv_id)
Case ReceiptCaseIntern.DAILYCLOSING
result = client.SignClosingReceipt("daily", kasse.rksv_id, "daily")
Case Else
result = client.SignReceipt(summeBRUTTO, steuersatz, beleg_temp.POS, kindOfPayment, kasse.rksv_id, typOfReceiptCase, reference, TSEisOnline)
End Select
If result <> "" Then
Return client.saveRKSV_FT(result, QR_CodeString, beleg_temp, False)
Else
Return False
End If
End If
Catch ex As Exception
@@ -1826,6 +1839,188 @@ Public Class cRKSV
End Function
Public Shared Function printStatusBelegFiskaltrust(KASSE As cRKSV_Kasse, PERSONAL As cPersonal, AUTODRUCK As Boolean, Firma As String, fiskaltrustReceiptCasTypIntern As String) As Boolean
Try
If PERSONAL Is Nothing Then
Dim FMZOLL_SQL As New FMZOLL_SQL
PERSONAL = FMZOLL_SQL.getPersonalById(274)
End If
Dim ib = ""
Dim TESTBUCHUNG = False
Dim oldBelegZaehler = KASSE.rksv_BelegIdZaehler
Dim summe As Double = 0
Dim RKSV_Beleg_Id = KASSE.INCREASE_BELEG_UMSATZ(If(TESTBUCHUNG, 0, summe))
If RKSV_Beleg_Id < 0 Then
'Exit Function
Return False
End If
Dim belegBez As String = fiskaltrustReceiptCasTypIntern
Dim BELEG As New EABeleg(PERSONAL.Mandant, PERSONAL.Niederlassung, PERSONAL.ID)
' Dim GJ = New cGeschaeftsjahr(BELEG.Mandant, BELEG.Niederlassung, BELEG.Benutzer, cRKSV.getGJ(BELEG.BelegDat))
BELEG.Ordnungsbegriff = "*** " & belegBez & " ***"
BELEG.Beleg_TYP = "0"
BELEG.Belegart = "0"
BELEG.Name1 = "*** " & belegBez & " ***"
BELEG.Steuerschlüssel = 3510
BELEG.BelegNr = cRKSV.getNewBelegNr(BELEG, Firma) 'GJ.INCREASE_BELEG() 'Vergabe der Belegnummer '
' Beleg noch nicht gespeichert.... BELEG.DEL_POS_List()' Positionen löschen, da BelegNr Neu vergeben
For Each p In BELEG.POS
p.BelegNr = BELEG.BelegNr
Next
BELEG.gebucht = True
BELEG.SAVE()
' QR_Image = Nothing
Dim QR_CodeString As String = ""
Dim LastJWS As String = ""
Dim isFiskaltrust As Boolean = False
Dim verarbeitet As Boolean = False
If KASSE.rksv_aktiv Then ' WENN für die Kasse die RKSV gilt
Dim answer = ""
If KASSE IsNot Nothing AndAlso KASSE.rksv_FT_RestServiceURL IsNot Nothing AndAlso KASSE.rksv_FT_CashboxID IsNot Nothing AndAlso KASSE.rksv_FT_AccessToken IsNot Nothing AndAlso KASSE.rksv_FT_Country IsNot Nothing Then
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
isFiskaltrust = client_chilkat.isFiskaltrust()
End If
If isFiskaltrust Then
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, 0, TESTBUCHUNG, QR_CodeString, LastJWS, fiskaltrustReceiptCasTypIntern)
verarbeitet = result
End If
If Not verarbeitet Then
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1)
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
End If
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
' Me.Cursor = Cursors.Default
'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
' MsgBox("Programmfehler bei der digitalen Signatur.")
Return False
End If
' If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
End If
If KASSE.rksvDE_aktiv Then ' WENN für die Kasse die DEUTSCHLAND gilt
Dim answer = ""
'*Nullbelg-POS*
Dim POS As New EABelegPositionen
POS.Abfertigungsart = 10 '"Sonstiges"
POS.Mandant = BELEG.Mandant
POS.Niederlassung = BELEG.Niederlassung
POS.Benutzer = BELEG.Benutzer
POS.BelegDat = BELEG.BelegDat
POS.BelegNr = BELEG.BelegNr
POS.PreislistenPos = -1
POS.LeistungsNr = 499
POS.LeistungsBez = belegBez
POS.Leistungsbeschreibung = belegBez
POS.PreislistenNr = -1
POS.PreistabellenNr = -1
POS.Preis = 0
POS.Anzahl = 1
POS.Anzahlmultiplikator = 1
POS.Betrag = 0
POS.Preisbindung = 0
' POS.AbfertigungsNr = 000
BELEG.POS.Add(POS)
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, 0, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, summe * -1)
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
End If
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
' Me.Cursor = Cursors.Default
'BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
' MsgBox("Programmfehler bei der digitalen Signatur.")
Return False
End If
KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
If KASSE.rksv_KassaGuid = "KASSE_01" Then
BELEG.rksv_jws = Nothing
BELEG.rksv_qr = Nothing
End If
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
End If
'RKSV-Daten beim Beleg ergänzen:
BELEG.rksv_jws = LastJWS
BELEG.rksv_qr = QR_CodeString
BELEG.rksv_BelegId = RKSV_Beleg_Id
BELEG.rksv_id = KASSE.rksv_id
BELEG.rksv_umsatz = summe
BELEG.rksv_aktiv = (KASSE.rksv_aktiv Or KASSE.rksvDE_aktiv)
BELEG.SAVE()
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
Select Case fiskaltrustReceiptCasTypIntern
Case ReceiptCaseIntern.NULLBELEG
rksv.SET_NULLBELEG()
Case ReceiptCaseIntern.STARTBELEG
rksv.SET_INITIALSTARTBELEG()
Case ReceiptCaseIntern.OUTOFOPERATIONBELEG
rksv.SET_OUTOFORDERBELEG()
Case ReceiptCaseIntern.TEMP_OUTOFOPERATIONBELEG
rksv.SET_OUTOFORDERBELEG()
Case ReceiptCaseIntern.DAILYCLOSING
SQL.doSQL("UPDATE [tblRKSV_FT] set ftEndOfDayReceipt = getDate() where Day(ftReceiptMoment) = Day(GETDATE()) and ftEndOfDayReceipt is null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "' ", "FMZOLL")
End Select
If isFiskaltrust Then
End If
'printBeleg(BELEG, KASSE, PERSONAL, cboPrinter.SelectedItem.ToString) 'Beleg drucken
If AUTODRUCK Then
Dim pName = ""
For Each sPrinter As String In System.Drawing.Printing.PrinterSettings.InstalledPrinters
If sPrinter = "AUTODRUCK_MAIL" Then pName = sPrinter : Exit For
Next
If pName = "" Then
Dim oPS As New System.Drawing.Printing.PrinterSettings
pName = oPS.PrinterName
End If
cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, pName, False) 'Beleg drucken
Else
cRKSV.printKundenBeleg(BELEG, KASSE, PERSONAL, "", False) 'Beleg drucken
End If
Return True
' End If
Catch ex As Exception
MsgBox(ex.Message & ex.StackTrace)
End Try
Return False
End Function
Public Shared Function getCardSerialInReader(kasse_id As Integer, reader As String)
Try

View File

@@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices
' übernehmen, indem Sie "*" eingeben:
' <Assembly: AssemblyVersion("1.0.*")>
<Assembly: AssemblyVersion("1.5.7.9")>
<Assembly: AssemblyFileVersion("1.5.7.9")>
<Assembly: AssemblyVersion("1.5.8.1")>
<Assembly: AssemblyFileVersion("1.5.8.1")>

5937
SDL/SDL.vbproj Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -394,7 +394,7 @@ Public Class usrCntlUSTV
If Not col.ColumnName.Contains(colName) Then col.ColumnName = col.ColumnName.Replace("UStVAn_", "")
Next
cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K1:K" & (dtNew.Rows.Count + 1), "O1:T" & (dtNew.Rows.Count + 1)},,,,, True)
cProgramFunctions.genExcelFromDT_NEW(dtNew, {"K1:K" & (dtNew.Rows.Count + 1), "O1:T" & (dtNew.Rows.Count + 1)},,,, "", True)
End If
@@ -1203,7 +1203,7 @@ Public Class usrCntlUSTV
If dtVorschau.Columns.Contains("LandNr") Then dtVorschau.Columns.Remove("LandNr")
cProgramFunctions.genExcelFromDT_NEW(dtVorschau, {"G1:G" & (dtVorschau.Rows.Count + 1)},,,,, True)
cProgramFunctions.genExcelFromDT_NEW(dtVorschau, {"G1:G" & (dtVorschau.Rows.Count + 1)},,,, "", True)
@@ -1320,7 +1320,7 @@ Public Class usrCntlUSTV
If dtVorschau.Columns.Contains("E-Mail") Then dtVorschau.Columns.Remove("E-Mail")
If dtVorschau.Columns.Contains("E-Mail2") Then dtVorschau.Columns.Remove("E-Mail2")
cProgramFunctions.genExcelFromDT_NEW(dtVorschau,,,,,, True)
cProgramFunctions.genExcelFromDT_NEW(dtVorschau,,,,, "", True)
ElseIf item.Name = "mail" Then
@@ -1482,7 +1482,7 @@ Public Class usrCntlUSTV
If item.Name = "excel" Then
cProgramFunctions.genExcelFromDT_NEW(dtVorschau_3470, {"F1:F" & (dtVorschau_3470.Rows.Count + 1)}, False,,,, True)
cProgramFunctions.genExcelFromDT_NEW(dtVorschau_3470, {"F1:F" & (dtVorschau_3470.Rows.Count + 1)}, False,,, "", True)
ElseIf item.Name = "mail" Then
@@ -1750,7 +1750,7 @@ Public Class usrCntlUSTV
End If
cProgramFunctions.genExcelFromDT_NEW(dtVorauszahlung,,,,,, True)
cProgramFunctions.genExcelFromDT_NEW(dtVorauszahlung,,,,, "", True)
End Sub

View File

@@ -352,7 +352,7 @@ Public Class usrCntlATLAS_AnkunftsAnzeige
CLOSED_DUMMY.SAVE()
GesSichRef.CalcSaldo()
GesSichRef.CalcSaldo_new()
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)

View File

@@ -139,7 +139,7 @@ Public Class frmFremdbeleg
Else
If cRKSV.isforbiddenDate Then
MsgBox("Die Kasse wir am Monatsende abgeschlossen. Es dürfen keine weiteren Belege erstellt werden. Bitte veruchen Sie den Vorgang nach Mitternacht erneut.")
MsgBox("Die Kasse wir am Monatsende abgeschlossen. Es dürfen keine weiteren Belege erstellt werden. Bitte versuchen Sie den Vorgang nach Mitternacht erneut.")
Exit Sub
End If
@@ -225,14 +225,19 @@ Public Class frmFremdbeleg
Dim answer = ""
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
Dim isFiskaltrust As Boolean = client_chilkat.isFiskaltrust()
Dim isFiskaltrust = False
If KASSE IsNot Nothing AndAlso KASSE.rksv_FT_RestServiceURL IsNot Nothing AndAlso KASSE.rksv_FT_CashboxID IsNot Nothing AndAlso KASSE.rksv_FT_AccessToken IsNot Nothing AndAlso KASSE.rksv_FT_Country IsNot Nothing Then
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
isFiskaltrust = client_chilkat.isFiskaltrust()
End If
If KASSE.rksv_aktiv Then
Dim verarbeitet As Boolean = False
Dim verarbeitet As Boolean = False
If KASSE.rksv_FT_RestServiceURL <> "" Then
If isFiskaltrust Then
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, IIf(Art = 1, ReceiptCaseIntern.EINGANG, ReceiptCaseIntern.AUSGANG))
'result.Wait()
verarbeitet = result
@@ -243,8 +248,25 @@ Public Class frmFremdbeleg
If Not verarbeitet Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not isFiskaltrust Then
If Not isFiskaltrust Then
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, BELEG.rksv_umsatz * -1)
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
End If
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
' BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
'MsgBox("Programmfehler bei der digitalen Signatur.")
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
Else
BELEG.FT_MissingSignature = True 'nachträgliche Signierung, Beleg NICHT löschen!!
End If
End If
End If
If KASSE.rksvDE_aktiv Then
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, BELEG.rksv_umsatz * -1)
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
@@ -253,49 +275,32 @@ Public Class frmFremdbeleg
' BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
'MsgBox("Programmfehler bei der digitalen Signatur.")
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
Else
BELEG.FT_MissingSignature = True 'nachträgliche Signierung, Beleg NICHT löschen!!
End If
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
If KASSE.rksv_KassaGuid = "KASSE_01" Then
BELEG.rksv_jws = Nothing
BELEG.rksv_qr = Nothing
End If
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
End If
End If
If KASSE.rksvDE_aktiv Then
If Not cRKSV_DE.insertRKSV_DE(PERSONAL, BELEG, KASSE, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) Then 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
If Not TESTBUCHUNG Then
KASSE.DECREASE_BELEG_UMSATZ(oldBelegZaehler, BELEG.rksv_umsatz * -1)
cRKSV.DELETE(BELEG, KASSE.rksv_firma)
End If
MsgBox("Programmfehler bei der digitalen Signatur." & vbNewLine & vbNewLine & answer, MsgBoxStyle.Critical)
' BELEG = cRKSV.STORNO(BELEG, "Programmfehler")
'MsgBox("Programmfehler bei der digitalen Signatur.")
Me.Cursor = Cursors.Default : Me.Close() : Exit Sub
End If
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
If KASSE.rksv_KassaGuid = "KASSE_01" Then
BELEG.rksv_jws = Nothing
BELEG.rksv_qr = Nothing
End If
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
'RKSV-Daten beim Beleg ergänzen:
BELEG.rksv_jws = LastJWS
BELEG.rksv_qr = QR_CodeString
BELEG.rksv_BelegId = RKSV_Beleg_Id
BELEG.rksv_id = KASSE.rksv_id
BELEG.SAVE()
If cbxBelegDrucken.Checked Then cRKSV.printFremdBeleg(BELEG, KASSE, PERSONAL, KBEntry, KBEntryGB, cboPrinter.SelectedItem.ToString)
Me.Cursor = Cursors.Default
End If
If Not isFiskaltrust Then KASSE.SET_LAST_QR_JWS(LastJWS, QR_CodeString)
'RKSV-Daten beim Beleg ergänzen:
BELEG.rksv_jws = LastJWS
BELEG.rksv_qr = QR_CodeString
BELEG.rksv_BelegId = RKSV_Beleg_Id
BELEG.rksv_id = KASSE.rksv_id
BELEG.SAVE()
If cbxBelegDrucken.Checked Then cRKSV.printFremdBeleg(BELEG, KASSE, PERSONAL, KBEntry, KBEntryGB, cboPrinter.SelectedItem.ToString)
Me.Cursor = Cursors.Default
End If
Me.Close()
Me.Close()
Catch ex As Exception
Me.Cursor = Cursors.Default
MsgBox("Allgemeiner Programmfehler - Belegerfassung wird geschlossen!")

View File

@@ -206,8 +206,6 @@ Public Class frmKassenbuch
End If
lbldailyCashboxClosing.Text = ""
If PERSONAL.cRKSV_Kasse IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken IsNot Nothing AndAlso PERSONAL.cRKSV_Kasse.rksv_FT_Country IsNot Nothing Then
Dim client_chilkat As New cFiskaltrustClient_chilkat(PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL, PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID, PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken, PERSONAL.cRKSV_Kasse.rksv_FT_Country)
@@ -253,8 +251,7 @@ Public Class frmKassenbuch
TSEIsOnline = False
MiddlewareIsOnline = False
InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated)
End If
InitFiskaltrust(TSEIsOnline, tagesabschlussIsSet, monatsabschlussIsSet, jahresabschlussIsSet, NULLBelegIsCreated, InitialStartIsCreated)
@@ -267,7 +264,7 @@ Public Class frmKassenbuch
ElseIf OutOfOrderIsCreated Then
diasableBarverkauf("OUTOFORDER")
Else
lbldailyCashboxClosing.Text = ""
If Not TSEIsOnline Then
lbldailyCashboxClosing.Text = "TSE ist OFFLINE: Belege werden nachträglich signiert!"
End If
@@ -280,17 +277,24 @@ Public Class frmKassenbuch
btnBelegLeihgeld.Enabled = True
btnStorno.Enabled = True
End If
End If
Else
lbldailyCashboxClosing.Visible = False
Button11.Visible = False
End If
Else
lbldailyCashboxClosing.Text = ""
Button11.Visible = False
lblFiskaltrustHeader.Visible = False
End If
' Label9.Text = PERSONAL.Name
DataGridView2.ClearSelection()
' Label9.Text = PERSONAL.Name
DataGridView2.ClearSelection()
End Sub
Private Sub diasableBarverkauf(status)
@@ -367,7 +371,7 @@ Public Class frmKassenbuch
.SET_SQL("SELECT b.rksv_BelegId, b.BelegDat, CASE WHEN b.Belegart=1 THEN 'E' ELSE 'A' END as Belegart,CASE WHEN b.Beleg_TYP='E' THEN rksv_umsatz ELSE (SELECT sum( betrag ) FROM tblEABelegposition WHERE (b.BelegNr = tblEABelegposition.BelegNr) AND (b.BelegDat = tblEABelegposition.BelegDat) AND (b.Benutzer = tblEABelegposition.Benutzer) AND (b.Niederlassung = tblEABelegposition.Niederlassung) AND (b.Mandant = tblEABelegposition.Mandant ) ) END as Betrag, b.Ordnungsbegriff, b.BelegNr, b.Frachtführer, " &
" CASE WHEN b.storniert=1 THEN 'JA' ELSE '' END as [storniert], b.Beleg_TYP ,b.Benutzer " & benutzerBezTMP & lgTxt & ", b.ECZahlungsPerAPI as EC,b.ECZahlungsNr as ECNr, mit_username as kassiert" &
" FROM tblEABelegnummer as b LEFT JOIN " & VERAG_PROG_ALLGEMEIN.cAllgemein.AVISO_SERVER & " .[ADMIN].[dbo].[tblMitarbeiter] on durchfuehrender_Benutzer = mit_id WHERE b.Mandant='" & PERSONAL.Mandant & "' AND b.Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' " &
" FROM tblEABelegnummer as b LEFT JOIN " & VERAG_PROG_ALLGEMEIN.cAllgemein.AVISO_SERVER & " .[ADMIN].[dbo].[tblMitarbeiter] on durchfuehrender_Benutzer = mit_id WHERE b.Mandant='" & PERSONAL.Mandant & "' AND b.Niederlassung='" & PERSONAL.Niederlassung & "' " & benutzerTMP & " AND BelegDat BETWEEN '" & datVon.Value.ToShortDateString & "' AND '" & datBis.Value.ToShortDateString & "' and b.rksv_BelegId >= 0 " &
" ORDER BY b.rksv_BelegId DESC, b.[upsize_ts] desc;", "FMZOLL")
' .DataSource = SQL.loadDgvBySql("SELECT b.rksv_BelegId, b.BelegDat, CASE WHEN b.Belegart=1 THEN 'E' ELSE 'A' END as Belegart,CASE WHEN b.Beleg_TYP='E' THEN rksv_umsatz ELSE (SELECT sum( betrag ) FROM tblEABelegposition WHERE (b.BelegNr = tblEABelegposition.BelegNr) AND (b.BelegDat = tblEABelegposition.BelegDat) AND (b.Benutzer = tblEABelegposition.Benutzer) AND (b.Niederlassung = tblEABelegposition.Niederlassung) AND (b.Mandant = tblEABelegposition.Mandant ) ) END as Betrag, b.Ordnungsbegriff, b.BelegNr, b.Frachtführer, " &
' " CASE WHEN b.storniert=1 THEN 'JA' ELSE '' END as [storniert], b.Beleg_TYP ,b.Benutzer " & benutzerBezTMP &
@@ -1359,16 +1363,17 @@ Public Class frmKassenbuch
Dim KASSE As New cRKSV_Kasse(cboKassen._value) 'Laden der Kasse anhand der Auswahlbox
If KASSE.rksv_FT_RestServiceURL <> "" Then
Dim client As New cFiskaltrustClient(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
Dim result = Await client.SignNullReceiptAsync(RKSV.rksv_id)
Dim QR_CodeString As String = ""
client.saveRKSV_FT(result, QR_CodeString)
If KASSE.rksv_FT_Country IsNot Nothing AndAlso KASSE.rksv_FT_Country = "DE" Then
cRKSV.printStatusBelegFiskaltrust(KASSE, PERSONAL, True, KASSE.rksv_firma, ReceiptCaseIntern.NULLBELEG)
Else
cRKSV.printNULLBeleg(KASSE, PERSONAL, True, KASSE.rksv_firma)
End If
init()
' End If
End Sub
@@ -1600,11 +1605,11 @@ Public Class frmKassenbuch
End If
If Not cm_FT.Items.ContainsKey("null") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then
Dim plose = New ToolStripMenuItem() With {.Text = "Nullbeleg", .Name = "null", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
cm_FT.Items.Add(plose)
AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked
End If
'If Not cm_FT.Items.ContainsKey("null") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then
' Dim plose = New ToolStripMenuItem() With {.Text = "Nullbeleg", .Name = "null", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
' cm_FT.Items.Add(plose)
' AddHandler plose.Click, AddressOf mnuItemAuftrauege_Clicked
'End If
If Not cm_FT.Items.ContainsKey("outoforder") AndAlso isADMIN AndAlso Not OutOfOrderIsCreated Then
Dim plose = New ToolStripMenuItem() With {.Text = "Out Of Order", .Name = "outoforder", .Font = New Font(Me.Font.FontFamily, Me.Font.Size)}
@@ -1695,31 +1700,7 @@ Public Class frmKassenbuch
Dim client_chilkat As New cFiskaltrustClient_chilkat(PERSONAL.cRKSV_Kasse.rksv_FT_RestServiceURL, PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID, PERSONAL.cRKSV_Kasse.rksv_FT_AccessToken, PERSONAL.cRKSV_Kasse.rksv_FT_Country)
If item.Name = "null" Then
Dim info As String = "Möchten Sie einen 0-Beleg an die TSE schicken?"
If NULLBelegIsCreated Then
info = "Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein 0-Beleg erstellt, sind Sie wirklich sicher?"
End If
If vbYes = MsgBox(info, vbYesNoCancel) Then
Dim result As String = client_chilkat.SignNullReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
If result <> "" Then
MsgBox(client_chilkat.PrettyPrintJson(result))
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
rksv.SET_NULLBELEG()
init()
End If
End If
ElseIf item.Name = "setMissingSignatures" Then
If item.Name = "setMissingSignatures" Then
Dim dt As DataTable = SQL.loadDgvBySql("SELECT * FROM [tblEABelegnummer] WHERE [rksv_id]='" & PERSONAL.cRKSV_KasseID & "' AND isnull(FT_MissingSignature,0)=1", "FMZOLL")
@@ -1793,16 +1774,8 @@ Public Class frmKassenbuch
If vbYes = MsgBox("Möchten Sie einen temp. Ausfall an die TSE schicken?" & vbNewLine & "Falls die TSE zwar Online ist, jedoch ein technischer Fehler beim Signieren besteht", vbYesNoCancel) Then
Dim result As String = client_chilkat.SignOutOfOrderReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
If result <> "" Then
MsgBox(client_chilkat.PrettyPrintJson(result))
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
rksv.SET_OUTOFORDERBELEG()
init()
End If
cRKSV.printStatusBelegFiskaltrust(PERSONAL.cRKSV_Kasse, PERSONAL, True, PERSONAL.cRKSV_Kasse.rksv_firma, ReceiptCaseIntern.TEMP_OUTOFOPERATIONBELEG)
init()
End If
@@ -1812,18 +1785,9 @@ Public Class frmKassenbuch
If vbYes = MsgBox("Möchten Sie einen OutOfOrder an die TSE schicken?" & vbNewLine & "Die Queue wird dauerhaft geschlossen und kann NICHT reaktiviert werden!", vbYesNoCancel) Then
cRKSV.printStatusBelegFiskaltrust(PERSONAL.cRKSV_Kasse, PERSONAL, True, PERSONAL.cRKSV_Kasse.rksv_firma, ReceiptCaseIntern.OUTOFOPERATIONBELEG)
init()
Dim result As String = client_chilkat.SignOutOfOrderReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
If result <> "" Then
MsgBox(client_chilkat.PrettyPrintJson(result))
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
rksv.SET_OUTOFORDERBELEG()
init()
End If
End If
@@ -1833,17 +1797,8 @@ Public Class frmKassenbuch
If vbYes = MsgBox("Möchten Sie einen Start an die TSE schicken?", vbYesNoCancel) Then
Dim result As String = client_chilkat.SignInitialOperationReceipt(PERSONAL.cRKSV_Kasse.rksv_id)
If result <> "" Then
MsgBox(client_chilkat.PrettyPrintJson(result))
Dim rksv As New cRKSV_Kasse(PERSONAL.cRKSV_Kasse.rksv_id)
rksv.SET_INITIALSTARTBELEG()
init()
End If
cRKSV.printStatusBelegFiskaltrust(PERSONAL.cRKSV_Kasse, PERSONAL, True, PERSONAL.cRKSV_Kasse.rksv_firma, ReceiptCaseIntern.STARTBELEG)
init()
End If
@@ -1940,22 +1895,18 @@ Public Class frmKassenbuch
If vbYes = MsgBox("Möchten Sie einen Tagesabschluss durchführen, anschließend kann heute kein Beleg mehr signiert werden!", vbYesNoCancel) Then
If PERSONAL.cRKSV_Kasse.rksv_FT_Country = "DE" Then
Dim result As String = client_chilkat.SignClosingReceipt(item.Name, PERSONAL.cRKSV_Kasse.rksv_id, item.Name)
If result <> "" Then
cRKSV.printStatusBelegFiskaltrust(PERSONAL.cRKSV_Kasse, PERSONAL, True, PERSONAL.cRKSV_Kasse.rksv_firma, ReceiptCaseIntern.DAILYCLOSING)
MsgBox(client_chilkat.PrettyPrintJson(result))
init()
SQL.doSQL("UPDATE [tblRKSV_FT] set ftEndOfDayReceipt = getDate() where Day(ftReceiptMoment) = Day(GETDATE()) and ftEndOfDayReceipt is null and ftCashBoxID = '" & PERSONAL.cRKSV_Kasse.rksv_FT_CashboxID & "' ", "FMZOLL")
init()
End If
Else
MsgBox("nicht für AT-Kassen möglich!")
End If
End If
Else
MsgBox("Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein Tagesabschluss erstellt!")
MsgBox("Für die Kasse " & PERSONAL.cRKSV_Kasse.rksv_bez & " wurde bereits ein Tagesabschluss erstellt!")
End If

View File

@@ -364,7 +364,7 @@ Public Class frmNacherfassungLeihgeld
Dim QR_CodeString As String = ""
Dim LastJWS As String = ""
Dim isFiskaltrust As Boolean = False
If KASSE.rksv_FT_RestServiceURL IsNot Nothing AndAlso KASSE.rksv_FT_CashboxID IsNot Nothing AndAlso KASSE.rksv_FT_AccessToken IsNot Nothing AndAlso KASSE.rksv_FT_Country IsNot Nothing Then
If KASSE IsNot Nothing AndAlso KASSE.rksv_FT_RestServiceURL IsNot Nothing AndAlso KASSE.rksv_FT_CashboxID IsNot Nothing AndAlso KASSE.rksv_FT_AccessToken IsNot Nothing AndAlso KASSE.rksv_FT_Country IsNot Nothing Then
Dim client_chilkat As New cFiskaltrustClient_chilkat(KASSE.rksv_FT_RestServiceURL, KASSE.rksv_FT_CashboxID, KASSE.rksv_FT_AccessToken, KASSE.rksv_FT_Country)
isFiskaltrust = client_chilkat.isFiskaltrust()
End If
@@ -375,9 +375,9 @@ Public Class frmNacherfassungLeihgeld
Dim verarbeitet As Boolean = False
If isFiskaltrust Then
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, "Verkauf")
'result.Wait()
verarbeitet = result
Dim result = cRKSV.insertRKSVFiskaltrustAsync(KASSE, BELEG, RKSV_Beleg_Id, summeBRUTTO, TESTBUCHUNG, QR_CodeString, LastJWS, ReceiptCaseIntern.VERKAUF)
'result.Wait()
verarbeitet = result
Else
verarbeitet = cRKSV.insertRKSV(KASSE, KASSE.rksv_CompanyGUID, KASSE.rksv_Umsatzzaehler, BELEG.BelegDat, BELEG.Steuerschlüssel, RKSV_Beleg_Id, summeBRUTTO, QR_CodeString, LastJWS, TESTBUCHUNG, answer) 'Digitale Signierung und Erfassung in die RKSV-Datenbank mittels ITG-Service
End If

View File

@@ -53,6 +53,7 @@ Partial Class frmNewsletter
Me.EmpfängerName = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.ListBox1 = New System.Windows.Forms.ListBox()
Me.Label8 = New System.Windows.Forms.Label()
Me.Button8 = New System.Windows.Forms.Button()
CType(Me.MyDatagridview1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
@@ -290,6 +291,7 @@ Partial Class frmNewsletter
Me.MyDatagridview1.Columns.AddRange(New System.Windows.Forms.DataGridViewColumn() {Me.Email, Me.EmailCC, Me.EmailBCC, Me.EmpfängerTitel, Me.EmpfängerName})
Me.MyDatagridview1.Location = New System.Drawing.Point(892, 119)
Me.MyDatagridview1.Name = "MyDatagridview1"
Me.MyDatagridview1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.MyDatagridview1.Size = New System.Drawing.Size(537, 498)
Me.MyDatagridview1.TabIndex = 0
'
@@ -338,6 +340,15 @@ Partial Class frmNewsletter
Me.Label8.TabIndex = 24
Me.Label8.Text = "Anhänge:"
'
'Button8
'
Me.Button8.Location = New System.Drawing.Point(1230, 90)
Me.Button8.Name = "Button8"
Me.Button8.Size = New System.Drawing.Size(105, 23)
Me.Button8.TabIndex = 25
Me.Button8.Text = "aus Clipboard imp."
Me.Button8.UseVisualStyleBackColor = True
'
'frmNewsletter
'
Me.AllowDrop = True
@@ -345,6 +356,7 @@ Partial Class frmNewsletter
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.BackColor = System.Drawing.Color.White
Me.ClientSize = New System.Drawing.Size(1441, 720)
Me.Controls.Add(Me.Button8)
Me.Controls.Add(Me.Label8)
Me.Controls.Add(Me.ListBox1)
Me.Controls.Add(Me.MyTextBox2)
@@ -408,4 +420,5 @@ Partial Class frmNewsletter
Friend WithEvents EmpfängerName As DataGridViewTextBoxColumn
Friend WithEvents ListBox1 As ListBox
Friend WithEvents Label8 As Label
Friend WithEvents Button8 As Button
End Class

View File

@@ -14,12 +14,12 @@ Public Class frmNewsletter
Try
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = MyDatagridview1.SelectedRows.Count
ProgressBar1.Maximum = MyDataGridView1.SelectedRows.Count
ProgressBar1.Value = 0
ProgressBar1.Visible = True
ProgressBar1.Style = ProgressBarStyle.Continuous
If MyDatagridview1.SelectedRows.Count = 0 Then
If MyDataGridView1.SelectedRows.Count = 0 Then
MsgBox("Bitte mindestens einen Eintrag auswählen.")
Exit Sub
End If
@@ -29,10 +29,10 @@ Public Class frmNewsletter
Dim Absender = getAbsender()
Dim Subject = getSubject()
If MsgBox("Wirklich " & MyDatagridview1.SelectedRows.Count & " Mails senden?", vbYesNoCancel) = vbYes Then
If MsgBox("Wirklich " & MyDataGridView1.SelectedRows.Count & " Mails senden?", vbYesNoCancel) = vbYes Then
VERAG_PROG_ALLGEMEIN.cProgramFunctions.sendMail(Absender, Subject, mailText, Absender,, False, "", "", ANHAENGE)
For Each row As DataGridViewRow In MyDatagridview1.SelectedRows
For Each row As DataGridViewRow In MyDataGridView1.SelectedRows
Dim mail As String = getValidEmail(If(row.Cells("Email").Value, "").ToString())
Dim mailCC As String = getValidEmail(If(row.Cells("EmailCC").Value, "").ToString())
Dim mailBCC As String = getValidEmail(If(row.Cells("EmailBCC").Value, "").ToString())
@@ -305,18 +305,343 @@ Public Class frmNewsletter
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
MyDatagridview1.Rows.Clear()
MyDataGridView1.Rows.Clear()
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
MyDatagridview1.SelectAll()
MyDataGridView1.SelectAll()
End Sub
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
MyDatagridview1.ClearSelection()
MyDataGridView1.ClearSelection()
End Sub
Private Sub MyDatagridview1_KeyDown(sender As Object, e As KeyEventArgs) Handles MyDataGridView1.KeyDown
If e.Control AndAlso e.KeyCode = Keys.C Then
CopyEntireDGV()
e.SuppressKeyPress = True
ElseIf e.Control AndAlso e.KeyCode = Keys.V Then
PasteIntoDGV()
e.SuppressKeyPress = True
End If
End Sub
Private Sub CopyEntireDGV()
Dim sb As New Text.StringBuilder()
'Headers
For col As Integer = 0 To MyDataGridView1.ColumnCount - 1
If col > 0 Then sb.Append(vbTab)
sb.Append(MyDataGridView1.Columns(col).HeaderText)
Next
sb.AppendLine()
'All rows
For row As Integer = 0 To MyDataGridView1.Rows.Count - 1
'Skip the "new row" at the bottom
If MyDataGridView1.Rows(row).IsNewRow Then Continue For
For col As Integer = 0 To MyDataGridView1.ColumnCount - 1
If col > 0 Then sb.Append(vbTab)
Dim value = MyDataGridView1.Rows(row).Cells(col).Value
If value IsNot Nothing Then
sb.Append(value.ToString())
End If
Next
sb.AppendLine()
Next
Clipboard.SetText(sb.ToString())
End Sub
Private Sub PasteIntoDGV()
If Not Clipboard.ContainsText() Then Return
Dim text As String = Clipboard.GetText()
If String.IsNullOrWhiteSpace(text) Then Return
Dim lines() As String =
text.Split({vbCrLf, vbLf}, StringSplitOptions.RemoveEmptyEntries)
'==========================================================
' IMMER bei Zeile 0 beginnen
'==========================================================
Dim targetRow As Integer = 0
Dim startCol As Integer = 0
'==========================================================
' Prüfen auf Pipe-/Markdown-Tabelle
'==========================================================
Dim isPipeTable As Boolean = False
If lines.Length >= 2 Then
If lines(0).Trim().StartsWith("|") Then
isPipeTable = True
End If
End If
'==========================================================
' PIPE-TABELLE
'==========================================================
If isPipeTable Then
For i As Integer = 0 To lines.Length - 1
Dim line As String = lines(i).Trim()
If String.IsNullOrWhiteSpace(line) Then
Continue For
End If
'--------------------------------------------------
' Header überspringen
'--------------------------------------------------
If i = 0 Then
Continue For
End If
'--------------------------------------------------
' Trennzeile überspringen
'--------------------------------------------------
If IsMarkdownSeparator(line) Then
Continue For
End If
'--------------------------------------------------
' | entfernen
'--------------------------------------------------
If line.StartsWith("|") Then
line = line.Substring(1)
End If
If line.EndsWith("|") Then
line = line.Substring(0, line.Length - 1)
End If
'--------------------------------------------------
' Spalten zerlegen
'--------------------------------------------------
Dim values() As String =
line.Split("|"c)
'--------------------------------------------------
' Sicherstellen, dass eine beschreibbare Zeile
' vorhanden ist
'--------------------------------------------------
Dim row As DataGridViewRow =
GetWritableRow(targetRow)
If row Is Nothing Then
Exit For
End If
'--------------------------------------------------
' Werte schreiben
'--------------------------------------------------
For col As Integer = 0 To values.Length - 1
Dim targetCol As Integer =
startCol + col
If targetCol >= MyDataGridView1.ColumnCount Then
Exit For
End If
Dim value As String =
values(col).Trim()
' \@ aus deinem Clipboard entfernen
value = value.Replace("\@", "@")
row.Cells(targetCol).Value = value
Next
targetRow += 1
Next
Return
End If
'==========================================================
' NORMALES EXCEL / TAB-SEPARATED
'==========================================================
For Each line As String In lines
If String.IsNullOrEmpty(line) Then
Continue For
End If
Dim values() As String =
line.Split(ControlChars.Tab)
Dim row As DataGridViewRow =
GetWritableRow(targetRow)
If row Is Nothing Then
Exit For
End If
For col As Integer = 0 To values.Length - 1
Dim targetCol As Integer =
startCol + col
If targetCol >= MyDataGridView1.ColumnCount Then
Exit For
End If
row.Cells(targetCol).Value =
values(col)
Next
targetRow += 1
Next
End Sub
Private Function GetWritableRow(rowIndex As Integer) _
As DataGridViewRow
'----------------------------------------------------------
' Gibt es die Zeile bereits?
'----------------------------------------------------------
If rowIndex < MyDataGridView1.Rows.Count Then
Dim row As DataGridViewRow =
MyDataGridView1.Rows(rowIndex)
'Normale Zeile
If Not row.IsNewRow Then
Return row
End If
End If
'----------------------------------------------------------
' Neue Zeile hinzufügen
'----------------------------------------------------------
If MyDataGridView1.AllowUserToAddRows Then
Dim newIndex As Integer =
MyDatagridview1.Rows.Add()
Return MyDatagridview1.Rows(newIndex)
End If
Return Nothing
End Function
Private Function IsMarkdownSeparator(line As String) As Boolean
Dim value As String = line.Trim()
If value.StartsWith("|") Then
value = value.Substring(1)
End If
If value.EndsWith("|") Then
value = value.Substring(0, value.Length - 1)
End If
Dim columns() As String =
value.Split("|"c)
For Each column As String In columns
Dim cell As String =
column.Trim()
If cell = "" Then
Continue For
End If
cell = cell.Replace(":", "").Trim()
If cell.Length = 0 Then
Continue For
End If
For Each ch As Char In cell
If ch <> "-" Then
Return False
End If
Next
Next
Return True
End Function
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
PasteIntoDGV()
End Sub
End Class

View File

@@ -469,23 +469,28 @@ Public Class frmKundenblatt
End Sub
Private Sub initFIBU()
txtZinsbelastungTolInTagen.Enabled = False
txtZinsbelastungNew.Enabled = False
If kdNr > 0 Then
rtbGespreachsbericht.Text = checkNullStr(KUNDE.Gesprächsbericht)
txtFIBUKuerzel.Text = checkNullStr(KUNDE_ERW.kde_BezFIBU)
txtZinsbelastungNew.Text = checkNullStr(KUNDE_ERW.kde_zinssatz)
txtZinsbelastungTolInTagen.Text = checkNullStr(KUNDE_ERW.kde_abwToleranzTage)
initZNB()
End If
If VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG("BH_Hauptmenü", Me) = 0 Then
If kdNr > 0 Then
rtbGespreachsbericht.Text = checkNullStr(KUNDE.Gesprächsbericht)
txtFIBUKuerzel.Text = checkNullStr(KUNDE_ERW.kde_BezFIBU)
txtZinsbelastungNew.Text = checkNullStr(KUNDE_ERW.kde_zinssatz)
txtZinsbelastungTolInTagen.Text = checkNullStr(KUNDE_ERW.kde_abwToleranzTage)
txtZinsbelastungTolInTagen.Enabled = True
txtZinsbelastungNew.Enabled = True
initZNB()
End If
Else
setInfo("info", "Sie sind für den Bereich FIBU nicht freigeschaltet.", 3)
tbcntrMain.SelectedIndex = 0
End If
End Sub
Sub initTABLKW(Optional kz As String = "")

View File

@@ -22,7 +22,6 @@ Partial Class usrcntlKundeBearbeitenFull
'Das Bearbeiten mit dem Code-Editor ist nicht möglich.
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
@@ -115,7 +114,7 @@ Partial Class usrcntlKundeBearbeitenFull
Me.btnAddKundeUID = New System.Windows.Forms.Button()
Me.cboUSt_UstIdNrLand2 = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.txtUSt_UstIdNr2 = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.dgvKundenUID = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.dgvKundenUID = New VERAG_PROG_ALLGEMEIN.MyDatagridview()
Me.Label117 = New System.Windows.Forms.Label()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.Label115 = New System.Windows.Forms.Label()
@@ -291,6 +290,7 @@ Partial Class usrcntlKundeBearbeitenFull
Me.txtUSt_GVAusgestelltAm = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.txtUSt_GVAngefordertAm = New VERAG_PROG_ALLGEMEIN.MyTextBox()
Me.tbSonstiges = New System.Windows.Forms.TabPage()
Me.cbxIDSMautberichtNachOrt = New System.Windows.Forms.CheckBox()
Me.txtSonst_weitereKdNrWOELFL = New System.Windows.Forms.TextBox()
Me.lblIDS_Rabatte = New System.Windows.Forms.Label()
Me.PictureBox7 = New System.Windows.Forms.PictureBox()
@@ -441,13 +441,14 @@ Partial Class usrcntlKundeBearbeitenFull
Me.txtERROR = New System.Windows.Forms.TextBox()
Me.btnDatevExport = New System.Windows.Forms.Button()
Me.Label98 = New System.Windows.Forms.Label()
Me.cnsBankverbindungen = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.cnsBankverbindungen = New System.Windows.Forms.ContextMenuStrip()
Me.ArchivierenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DokumentHinzufügenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.DokumentLöschenToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
Me.cboFirma = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.cboAuswahl = New VERAG_PROG_ALLGEMEIN.MyComboBox()
Me.DataGridViewTextBoxColumn2 = New System.Windows.Forms.DataGridViewTextBoxColumn()
Me.PictureBox1 = New System.Windows.Forms.PictureBox()
Me.tbcntrDetails.SuspendLayout()
Me.tbAbfertigung.SuspendLayout()
Me.tbcntrAbf.SuspendLayout()
@@ -497,6 +498,7 @@ Partial Class usrcntlKundeBearbeitenFull
Me.TabPage11.SuspendLayout()
Me.pnlNeukunde.SuspendLayout()
Me.cnsBankverbindungen.SuspendLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'tbcntrDetails
@@ -4162,6 +4164,8 @@ Partial Class usrcntlKundeBearbeitenFull
'
'tbSonstiges
'
Me.tbSonstiges.Controls.Add(Me.PictureBox1)
Me.tbSonstiges.Controls.Add(Me.cbxIDSMautberichtNachOrt)
Me.tbSonstiges.Controls.Add(Me.txtSonst_weitereKdNrWOELFL)
Me.tbSonstiges.Controls.Add(Me.lblIDS_Rabatte)
Me.tbSonstiges.Controls.Add(Me.PictureBox7)
@@ -4212,6 +4216,16 @@ Partial Class usrcntlKundeBearbeitenFull
Me.tbSonstiges.Text = "Sonstiges"
Me.tbSonstiges.UseVisualStyleBackColor = True
'
'cbxIDSMautberichtNachOrt
'
Me.cbxIDSMautberichtNachOrt.AutoSize = True
Me.cbxIDSMautberichtNachOrt.Location = New System.Drawing.Point(119, 194)
Me.cbxIDSMautberichtNachOrt.Name = "cbxIDSMautberichtNachOrt"
Me.cbxIDSMautberichtNachOrt.Size = New System.Drawing.Size(164, 17)
Me.cbxIDSMautberichtNachOrt.TabIndex = 149
Me.cbxIDSMautberichtNachOrt.Text = "IDS-Mautbericht AT nach Ort"
Me.cbxIDSMautberichtNachOrt.UseVisualStyleBackColor = True
'
'txtSonst_weitereKdNrWOELFL
'
Me.txtSonst_weitereKdNrWOELFL.Location = New System.Drawing.Point(179, 53)
@@ -4597,9 +4611,9 @@ Partial Class usrcntlKundeBearbeitenFull
Me.cbxSonst_CsvMautbericht.AutoSize = True
Me.cbxSonst_CsvMautbericht.Location = New System.Drawing.Point(428, 141)
Me.cbxSonst_CsvMautbericht.Name = "cbxSonst_CsvMautbericht"
Me.cbxSonst_CsvMautbericht.Size = New System.Drawing.Size(82, 17)
Me.cbxSonst_CsvMautbericht.Size = New System.Drawing.Size(106, 17)
Me.cbxSonst_CsvMautbericht.TabIndex = 2
Me.cbxSonst_CsvMautbericht.Text = "Mautbericht"
Me.cbxSonst_CsvMautbericht.Text = "CSV-Mautbericht"
Me.cbxSonst_CsvMautbericht.UseVisualStyleBackColor = True
'
'txtSonst_KdNrUTA
@@ -6151,6 +6165,17 @@ Partial Class usrcntlKundeBearbeitenFull
Me.DataGridViewTextBoxColumn2.HeaderText = "E-Mail"
Me.DataGridViewTextBoxColumn2.Name = "DataGridViewTextBoxColumn2"
'
'PictureBox1
'
Me.PictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None
Me.PictureBox1.Image = Global.SDL.My.Resources.Resources.pdf_s
Me.PictureBox1.Location = New System.Drawing.Point(290, 191)
Me.PictureBox1.Name = "PictureBox1"
Me.PictureBox1.Size = New System.Drawing.Size(20, 20)
Me.PictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.Zoom
Me.PictureBox1.TabIndex = 150
Me.PictureBox1.TabStop = False
'
'usrcntlKundeBearbeitenFull
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -6260,6 +6285,7 @@ Partial Class usrcntlKundeBearbeitenFull
Me.pnlNeukunde.ResumeLayout(False)
Me.pnlNeukunde.PerformLayout()
Me.cnsBankverbindungen.ResumeLayout(False)
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -6661,4 +6687,6 @@ Partial Class usrcntlKundeBearbeitenFull
Friend WithEvents cbxSammelrechnung_IM_EX As CheckBox
Friend WithEvents cbxPDFMerge As CheckBox
Friend WithEvents cbxHR_autoselect As CheckBox
Friend WithEvents cbxIDSMautberichtNachOrt As CheckBox
Friend WithEvents PictureBox1 As PictureBox
End Class

View File

@@ -1,4 +1,7 @@
Imports MDM_Worker
Imports com.sun.xml.internal.rngom
Imports DAKOSY_Worker
Imports MDM_Worker
Imports Tamir.SharpSsh.jsch
Imports VERAG_PROG_ALLGEMEIN
Public Class usrcntlKundeBearbeitenFull
@@ -402,8 +405,10 @@ Public Class usrcntlKundeBearbeitenFull
cbxSonst_CsvMautbericht.Checked = loadValue(ADRESSE.ExportMautberichtCSV, False)
cbxSonst_CsvMSE.Checked = loadValue(ADRESSE.MSEExportCSV, False)
cbxSonst_CsvUTA.Checked = loadValue(ADRESSE.UTAExportCSV, False)
cbxSonst_CsvUTA.Checked = loadValue(ADRESSE.UTAExportCSV, False)
cbxUIDMehrfachverwendung.Checked = KUNDE_ERW.kde_UIDMehrfachverwendung
cbxkeineMWSt.Checked = loadValue(KUNDE_ERW.kde_keineMWSt, False)
cbxIDSMautberichtNachOrt.Checked = loadValue(ADRESSE.IDSMautbericht_nachOrt, False)
' ----- Provision Dienstleistungen -----
cbxProvDL.Checked = KUNDE_ERW.kde_Provisionsverguetung
@@ -860,6 +865,7 @@ Public Class usrcntlKundeBearbeitenFull
ADRESSE.ExportMautberichtCSV = cbxSonst_CsvMautbericht.Checked
ADRESSE.MSEExportCSV = cbxSonst_CsvMSE.Checked
ADRESSE.UTAExportCSV = cbxSonst_CsvUTA.Checked
ADRESSE.IDSMautbericht_nachOrt = cbxIDSMautberichtNachOrt.Checked
KUNDE_ERW.kde_betreuer = isLeerNothing(cbxBetreuer.Text)
@@ -2369,7 +2375,7 @@ Public Class usrcntlKundeBearbeitenFull
lblIDS_Rabatte.Text = "IDS-Rabatte/Preise" & IIf(KundeOhneRabatt > 0, " - KUNDE OHNE RABATT", "")
Dim dt_IDS As DataTable = sql.loadDgvBySql("SELECT P.ProductDescription, C.OutletCountry,S.OutletCode, S.OutletName, RW.Rechenwert, Kz, RW.KategorieNr as KatNr FROM [VERAG].[dbo].[tbl_IDS_Rechenwerte] as RW
Dim dt_IDS As DataTable = sql.loadDgvBySql("SELECT P.ProductDescription, C.OutletCountry,S.OutletCode, S.OutletName,S.OutletOrt, RW.Rechenwert, Kz, RW.KategorieNr as KatNr FROM [VERAG].[dbo].[tbl_IDS_Rechenwerte] as RW
left join [VERAG].[dbo].[tbl_IDS_Produkte] as P on P.ProductTypeCode = RW.ProductTypeCode
left join [VERAG].[dbo].[tbl_IDS_Länder] as C on C.OutletCountryCode = RW.OutletCountryCode
left join [VERAG].[dbo].[tbl_IDS_Stationen] as S on S.[OutletCode] = RW.OutletCode and S.OutletCountryCode = RW.OutletCountryCode where CustomerCode is null order by KZ", "FMZOLL")
@@ -2387,8 +2393,10 @@ Public Class usrcntlKundeBearbeitenFull
.Columns(2).HeaderText = "S-Nr"
.Columns(2).Width = 50
.Columns(3).HeaderText = "Station"
.Columns(4).HeaderText = "Rab-/Pr."
.Columns(6).Width = 50
.Columns(4).HeaderText = "Ort"
.Columns(4).Width = 50
.Columns(5).HeaderText = "Rab-/Pr."
.Columns(7).Width = 50
.Columns(3).AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill
End With
@@ -2824,8 +2832,8 @@ Public Class usrcntlKundeBearbeitenFull
End If
Button6.Enabled = True
Else
Button6.Enabled = False
Else
Button6.Enabled = False
End If
End Sub
@@ -2839,7 +2847,7 @@ Public Class usrcntlKundeBearbeitenFull
For Each r As DataGridViewRow In dgvKundenUID.SelectedRows
Dim UID_KUNDE As New cKundenveranlagungUID(KUNDE.KundenNr, r.Cells("UstIdKz").Value)
UID_KUNDE.DELETE
UID_KUNDE.DELETE()
Next
initdgvKUNDENUID(KUNDE.KundenNr)
@@ -2850,5 +2858,216 @@ Public Class usrcntlKundeBearbeitenFull
End If
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
Dim ids As New cIDS
Dim gruppierungNachOrt As Boolean = False
If ADRESSE.IDSMautbericht_nachOrt IsNot Nothing AndAlso Not IsDBNull(ADRESSE.IDSMautbericht_nachOrt) Then
gruppierungNachOrt = ADRESSE.IDSMautbericht_nachOrt
End If
Dim rechnungsdatum = ids.getCurrentInvoicedate(KUNDE.KundenNr)
If rechnungsdatum <> "" AndAlso IsDate(rechnungsdatum) Then
Dim f As New frmDatumsabfrage("IDS-Mautbericht Datum ", True)
f.dtp_date.Value = CDate(rechnungsdatum)
f.ShowDialog()
If f.DialogResult = DialogResult.OK Then
Dim dt_ids = ids.genIDSMautberichtDatatByKdNr(KUNDE.KundenNr, CDate(rechnungsdatum), "IDS", False) '
Dim dt_ids_at = ids.genIDSMautberichtDatatByKdNr(KUNDE.KundenNr, CDate(rechnungsdatum), "IDS_AT", gruppierungNachOrt)
If dt_ids.Rows.Count = 0 AndAlso dt_ids_at.Rows.Count = 0 Then
MsgBox("Zum eingegebenen Datum existieren keine Daten!")
Exit Sub
End If
If dt_ids.Rows.Count > 0 Then createBericht(dt_ids, KUNDE.KundenNr, -1, CDate(rechnungsdatum), False)
If dt_ids_at.Rows.Count > 0 Then createBericht(dt_ids_at, KUNDE.KundenNr, -1, CDate(rechnungsdatum), gruppierungNachOrt)
End If
Else
End If
End Sub
Private Sub createBericht(dt As DataTable, kdnr As String, idsKdnr As String, rechnungsdatum As Date, Gruppierung_nach_Ort As Boolean)
Try
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
Dim rpt As New rptIDS_Anhang
rpt.DataSource = dt
rpt.txtKunde.Text = kdnr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(kdnr).FullName
rpt.lblIDSKdNr.Text = idsKdnr
rpt.lblRgDatum.Text = rechnungsdatum.ToShortDateString
rpt.GroupHeaderKz.DataField = "OutletCountry"
rpt.Label4.Text = rechnungsdatum.ToShortDateString
Dim curRabattbetragProLiter As Double = 0
Dim curRabattbetrag As Double = 0
Dim curGesamtbetrag As Double = 0
Dim sumLiter As Double = 0
Dim sumBrutto As Double = 0
Dim sumLiterLand As Double = 0
Dim sumLiterKat As Double = 0
Dim sumBruttoLand As Double = 0
Dim sumBruttoKat As Double = 0
Dim sumLiterGes As Double = 0
Dim sumBruttoGes As Double = 0
Dim cntKat = 0
Dim cnt = 0
rpt.GroupFooterKat.Visible = False
AddHandler rpt.Detail.Format, Sub()
' If cnt = 0 Then
curRabattbetrag = 0 - sql.isDbnullEmptyDbl(rpt.Fields.Item("SummevonRabattbetrag").Value, 2, "") '=0-[Summe von Rabattbetrag]
curRabattbetragProLiter = 0 - IIf(sql.isDbnullEmpty(rpt.Fields.Item("KZ").Value, "") = "P", sql.isDbnullEmptyDbl(rpt.Fields.Item("RabattbetragProLiter").Value, 4, 0), sql.isDbnullEmptyDbl(rpt.Fields.Item("Rechenwert").Value, 4, 0)) '=0-Wenn([Kz]="P";[RabattbetragProLiter];[Rechenwert])
curGesamtbetrag = CDbl(sql.isDbnullEmptyDbl(rpt.Fields.Item("Nettobetrag").Value, 2, 0) + curRabattbetrag + sql.isDbnullEmptyDbl(rpt.Fields.Item("Steuerbetrag").Value, 2, 0)) '=[Nettobetrag]+[curRabattbetrag]+[Steuerbetrag]
rpt.txtKunde.Text = sql.isDbnullEmpty(rpt.Fields.Item("AdressenNr").Value, "")
rpt.txtKunde.Text &= " " & sql.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
Dim Station As String = ""
If Gruppierung_nach_Ort Then
Station = sql.isDbnullEmpty(rpt.Fields.Item("OutletOrt").Value, "")
If Station <> "" Then
Station = " (" & Station & ")"
End If
End If
rpt.txtProduktBeschreibung.Text = sql.isDbnullEmpty(rpt.Fields.Item("ProductDescription").Value, "") & Station
rpt.txtLiter.Text = sql.isDbnullEmpty(rpt.Fields.Item("Liter").Value, "")
rpt.txtPreis.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("NettopreisProLiter").Value, 4, "")
rpt.txtBetrag.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("Nettobetrag").Value, 2, "")
rpt.txtRabattPreis.Text = curRabattbetragProLiter
rpt.txtRabattBetrag.Text = curRabattbetrag
rpt.lblMWST.Text = "zuzüglich MWST "
'SPANIEN, POLEN : für alle Produkte gilt eine Reduzierung der MwSt. auf 10 % bzw. 8%, mit Ausnahme von AdBlue (bleibt bei 21 % MwSt.) -> Regelung der MWST-Anzeige erfolgt über IDS-Länder, allerdings wird auf Datenbasis hier kein Unterschied zw. ProductCode gemacht, daher hardcodiert -> weil es nur um Anzeige geht!
'20.07.2026 -> Änderungen wieder deaktivert!
'If (SQL.isDbnullEmpty(rpt.Fields.Item("OutletCountry").Value, "") = "Spain" Or SQL.isDbnullEmpty(rpt.Fields.Item("OutletCountry").Value, "") = "Poland") And SQL.isDbnullEmpty(rpt.Fields.Item("ProductDescription").Value, "") <> "Ad Blue" Then
' Select Case SQL.isDbnullEmpty(rpt.Fields.Item("OutletCountry").Value, "")
' Case "Spain" : rpt.lblMWST.Text &= "10 %"
' Case "Poland" : rpt.lblMWST.Text &= "8 %"
' End Select
'Else
rpt.lblMWST.Text &= IIf(sql.isDbnullEmptyDbl(rpt.Fields.Item("Steuersatz").Value, 2, "") <> "", sql.isDbnullEmptyDbl(rpt.Fields.Item("Steuersatz").Value, 2, "") * 100 & " %", "")
'End If
rpt.txtMWST.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("Steuerbetrag").Value, 2, "")
rpt.txtPreisProLiter.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("NettopreisProLiter").Value, 4, 0) + curRabattbetragProLiter '=[NettopreisProLiter]+[curRabattbetragProLiter]
rpt.txtGesamtbetrag.Text = curGesamtbetrag
sumLiter += sql.isDbnullEmptyDbl(rpt.Fields.Item("Liter").Value, 2, 0)
sumBrutto += curGesamtbetrag
cnt += 1
End Sub
AddHandler rpt.GroupHeaderKz.Format, Sub()
rpt.txtOutletCountry.Text = sql.isDbnullEmpty(rpt.Fields.Item("OutletCountry").Value, "")
End Sub
AddHandler rpt.GroupFooterKz.Format, Sub()
sumLiterLand += sumLiter
sumBruttoLand += sumBrutto
rpt.txtNettoKzSum.Text = sumLiterLand.ToString("N2")
rpt.txtMWSTKzSum.Text = ""
rpt.txtBruttoKzSum.Text = sumBruttoLand.ToString("N2")
cntKat += 1
sumLiter = 0
sumBrutto = 0
sumLiterGes += sumLiterLand
sumBruttoGes += sumBruttoLand
sumLiterLand = 0
sumBruttoLand = 0
rpt.txtOutletCountry.Text = rpt.txtOutletCountry.Text.Replace("Land", sql.isDbnullEmpty(rpt.Fields.Item("OutletCountry").Value, ""))
End Sub
AddHandler rpt.ReportFooter1.Format, Sub()
rpt.txtNettoGesSum.Text = sumLiterGes.ToString("N2")
rpt.txtBruttoGesSum.Text = sumBruttoGes.ToString("N2")
If cntKat <= 1 Then
rpt.GroupFooterKat.Visible = False
End If
End Sub
Dim tmpPath = VERAG_PROG_ALLGEMEIN.DATENVERVER_OPTIONS.getTMPPath("IDS_ " & kdnr & "_IDS_Mautbericht.pdf", ".pdf", , False)
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
rpt.Run(False)
p.Export(rpt.Document, tmpPath)
Process.Start(tmpPath)
rpt.Dispose()
Catch ex As System.Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
End Class

View File

@@ -25,6 +25,7 @@ Partial Class frmMDMDatenverarbetiung
Me.components = New System.ComponentModel.Container()
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(frmMDMDatenverarbetiung))
Me.pnl = New System.Windows.Forms.Panel()
Me.btnImportdet = New System.Windows.Forms.Button()
Me.pb_importOK = New System.Windows.Forms.PictureBox()
Me.cbxIDSmitVerag = New System.Windows.Forms.CheckBox()
Me.Panel5 = New System.Windows.Forms.Panel()
@@ -52,7 +53,7 @@ Partial Class frmMDMDatenverarbetiung
Me.pnlAsfinag = New System.Windows.Forms.Panel()
Me.bntDatumzuruecksetzen = New System.Windows.Forms.Button()
Me.bntDatumsetzen = New System.Windows.Forms.Button()
Me.Panel3 = New System.Windows.Forms.Panel()
Me.pnlMDMDetailberichte = New System.Windows.Forms.Panel()
Me.Button6 = New System.Windows.Forms.Button()
Me.pnlIDS = New System.Windows.Forms.Panel()
Me.Button10 = New System.Windows.Forms.Button()
@@ -85,7 +86,6 @@ Partial Class frmMDMDatenverarbetiung
Me.Button2 = New System.Windows.Forms.Button()
Me.ContextMenuStrip1 = New System.Windows.Forms.ContextMenuStrip(Me.components)
Me.MyDatagridview1 = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.btnImportdet = New System.Windows.Forms.Button()
Me.pnl.SuspendLayout()
CType(Me.pb_importOK, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel5.SuspendLayout()
@@ -94,7 +94,7 @@ Partial Class frmMDMDatenverarbetiung
Me.FlowLayoutPanel.SuspendLayout()
Me.Panel1.SuspendLayout()
Me.pnlAsfinag.SuspendLayout()
Me.Panel3.SuspendLayout()
Me.pnlMDMDetailberichte.SuspendLayout()
Me.pnlIDS.SuspendLayout()
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.pic, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -124,6 +124,17 @@ Partial Class frmMDMDatenverarbetiung
Me.pnl.Size = New System.Drawing.Size(1163, 100)
Me.pnl.TabIndex = 1
'
'btnImportdet
'
Me.btnImportdet.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnImportdet.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnImportdet.Location = New System.Drawing.Point(985, 8)
Me.btnImportdet.Name = "btnImportdet"
Me.btnImportdet.Size = New System.Drawing.Size(166, 23)
Me.btnImportdet.TabIndex = 132
Me.btnImportdet.Text = "Einarbeitungsdetails"
Me.btnImportdet.UseVisualStyleBackColor = True
'
'pb_importOK
'
Me.pb_importOK.BackgroundImage = Global.SDL.My.Resources.Resources.ok
@@ -371,7 +382,7 @@ Partial Class frmMDMDatenverarbetiung
'Panel1
'
Me.Panel1.Controls.Add(Me.pnlAsfinag)
Me.Panel1.Controls.Add(Me.Panel3)
Me.Panel1.Controls.Add(Me.pnlMDMDetailberichte)
Me.Panel1.Controls.Add(Me.pnlIDS)
Me.Panel1.Controls.Add(Me.lblTTRSum)
Me.Panel1.Controls.Add(Me.txtTTRSum)
@@ -427,14 +438,14 @@ Partial Class frmMDMDatenverarbetiung
Me.bntDatumsetzen.Text = "Abr-datum setzen"
Me.bntDatumsetzen.UseVisualStyleBackColor = True
'
'Panel3
'pnlMDMDetailberichte
'
Me.Panel3.BackColor = System.Drawing.Color.White
Me.Panel3.Controls.Add(Me.Button6)
Me.Panel3.Location = New System.Drawing.Point(603, 9)
Me.Panel3.Name = "Panel3"
Me.Panel3.Size = New System.Drawing.Size(313, 139)
Me.Panel3.TabIndex = 48
Me.pnlMDMDetailberichte.BackColor = System.Drawing.Color.White
Me.pnlMDMDetailberichte.Controls.Add(Me.Button6)
Me.pnlMDMDetailberichte.Location = New System.Drawing.Point(603, 9)
Me.pnlMDMDetailberichte.Name = "pnlMDMDetailberichte"
Me.pnlMDMDetailberichte.Size = New System.Drawing.Size(313, 139)
Me.pnlMDMDetailberichte.TabIndex = 48
'
'Button6
'
@@ -826,17 +837,6 @@ Partial Class frmMDMDatenverarbetiung
Me.MyDatagridview1.Size = New System.Drawing.Size(1163, 547)
Me.MyDatagridview1.TabIndex = 0
'
'btnImportdet
'
Me.btnImportdet.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnImportdet.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnImportdet.Location = New System.Drawing.Point(985, 8)
Me.btnImportdet.Name = "btnImportdet"
Me.btnImportdet.Size = New System.Drawing.Size(166, 23)
Me.btnImportdet.TabIndex = 132
Me.btnImportdet.Text = "Einarbeitungsdetails"
Me.btnImportdet.UseVisualStyleBackColor = True
'
'frmMDMDatenverarbetiung
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -862,7 +862,7 @@ Partial Class frmMDMDatenverarbetiung
Me.Panel1.ResumeLayout(False)
Me.Panel1.PerformLayout()
Me.pnlAsfinag.ResumeLayout(False)
Me.Panel3.ResumeLayout(False)
Me.pnlMDMDetailberichte.ResumeLayout(False)
Me.pnlIDS.ResumeLayout(False)
CType(Me.PictureBox1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.pic, System.ComponentModel.ISupportInitialize).EndInit()
@@ -905,7 +905,7 @@ Partial Class frmMDMDatenverarbetiung
Friend WithEvents btnKunde As Button
Friend WithEvents Button1 As Button
Friend WithEvents Button5 As Button
Friend WithEvents Panel3 As Panel
Friend WithEvents pnlMDMDetailberichte As Panel
Friend WithEvents PictureBox1 As PictureBox
Friend WithEvents pic As PictureBox
Friend WithEvents Button6 As Button

View File

@@ -1239,7 +1239,7 @@ Public Class frmMDMDatenverarbetiung
Sub initLieferant(l As String, btn As Button)
MyDatagridview1.DataSource = Nothing
Me.LIEFERANT = l
Panel3.Controls.Clear()
pnlMDMDetailberichte.Controls.Clear()
For Each c As Button In FlowLayoutPanel.Controls
If c Is btn Then
@@ -1264,12 +1264,12 @@ Public Class frmMDMDatenverarbetiung
Case "PLOSE"
Panel4.Visible = True
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT)
Panel3.Controls.Add(c)
pnlMDMDetailberichte.Controls.Add(c)
c.Dock = DockStyle.Fill
Case "UTA"
Panel5.Visible = True
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT)
Panel3.Controls.Add(c)
pnlMDMDetailberichte.Controls.Add(c)
c.Dock = DockStyle.Fill
Case "ASFINAG"
cbxASFINAGAbgerechnet.Visible = True
@@ -1280,7 +1280,7 @@ Public Class frmMDMDatenverarbetiung
Case "IDS"
Panel5.Visible = True
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT)
Panel3.Controls.Add(c)
pnlMDMDetailberichte.Controls.Add(c)
c.Dock = DockStyle.Fill
pnlIDS.Visible = True
cbxKopie.Visible = True
@@ -1289,7 +1289,7 @@ Public Class frmMDMDatenverarbetiung
Case "MSE"
Panel5.Visible = True
Dim c As New usrCntlMDMDatenverarbeitungAuswertungen_divers(Me, Me.LIEFERANT)
Panel3.Controls.Add(c)
pnlMDMDetailberichte.Controls.Add(c)
c.Dock = DockStyle.Fill
End Select
@@ -1686,7 +1686,8 @@ Public Class frmMDMDatenverarbetiung
distinct(tblIDSTransactionsNew.KdNrVERAG),
tblIDSTransactionsNew.CustomerCode,
Adressen.Rechnungsdruck,
isNULL(tblIDSInvoicesNew.daId,0) as InvoiceID
isNULL(tblIDSInvoicesNew.daId,0) as InvoiceID,
isnull(IDSMautbericht_nachOrt,0) as IDSMautbericht_nachOrt
FROM
tblIDSTransactionsNew
INNER JOIN
@@ -1737,7 +1738,7 @@ Public Class frmMDMDatenverarbetiung
If IDS("Rechnungsdruck") = 2 Then
Dim pathfile = genIDSAttachmentByKdNr(IDS("KdNrVERAG"), IDS("CustomerCode"), dir, datPloseAnhang.Value, art)
Dim pathfile = genIDSAttachmentByKdNr(IDS("KdNrVERAG"), IDS("CustomerCode"), dir, datPloseAnhang.Value, art, IDS("IDSMautbericht_nachOrt"))
If Not AddAttachementToRE(pathfile, IDS("KdNrVERAG"), RECHNUNG, "IDS") Then verarbOK = False
End If
@@ -3126,35 +3127,47 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land
End Function
Function genIDSAttachmentByKdNr(KdNr As String, IDSKdNr As String, dir As String, von As Date, art As String)
Function genIDSAttachmentByKdNr(KdNr As String, IDSKdNr As String, dir As String, von As Date, art As String, Gruppierung_nach_Ort As Boolean)
Try
Dim displayFilter = False
Dim sqlstr As String = ""
Dim sqlWhere As String = ""
Dim sqlSelect As String = ""
Dim sqlGroup As String = ""
Dim sqljoin_nachOrt As String = ""
Dim sqlgroup_nachOrt = ""
Dim sqlselect_nachOrt = ""
If Gruppierung_nach_Ort Then
sqljoin_nachOrt = "INNER JOIN tbl_IDS_Stationen ON tblIDSTransactionsNew.OutletCountryCode = tbl_IDS_Stationen.OutletCountryCode and tblIDSTransactionsNew.OutletCode = tbl_IDS_Stationen.OutletCode and tbl_IDS_Stationen.[OutletCountryCode]=740543"
sqlgroup_nachOrt = ",tbl_IDS_Stationen.OutletOrt"
sqlselect_nachOrt = "tbl_IDS_Stationen.OutletOrt,"
End If
Select Case art
Case "IDS" 'Offert17
sqlWhere = " AND tblIDSTransactionsNew.[OutletCountryCode]<>740543"
sqlSelect = " tblIDSTransactionsNew.[OutletCountry]"
sqlGroup = " tblIDSTransactionsNew.[OutletCountry]"
sqlstr = "SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], tblIDSTransactionsNew.[OutletCountry], tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
Sum(tblIDSTransactionsNew.Rabattbetrag) As [SummevonRabattbetrag],
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
FROM((tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode) INNER JOIN tbl_IDS_Produkte On tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode ) INNER JOIN Adressen On tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
Where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.[OutletCountryCode]<>740543 AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & "
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], tblIDSTransactionsNew.[OutletCountry], tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz"
Case "IDS_AT" 'Offert21
sqlWhere = " AND tblIDSTransactionsNew.[OutletCountryCode]=740543"
sqlSelect = " CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 AND 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END AS OutletCountry"
sqlGroup = " CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 AND 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END"
sqlstr = " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 And 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END AS OutletCountry, tbl_IDS_Produkte.ProductDescription," & sqlselect_nachOrt & " tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
Sum(tblIDSTransactionsNew.Rabattbetrag) As [SummevonRabattbetrag],
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
FROM tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode INNER JOIN tbl_IDS_Produkte On tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode " & sqljoin_nachOrt & " INNER JOIN Adressen On tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
Where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' And tblIDSTransactionsNew.[OutletCountryCode]=740543 AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & "
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 AND 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz" & sqlgroup_nachOrt
End Select
sqlstr &= " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], " & sqlSelect & ", tbl_IDS_Produkte.ProductDescription,tbl_IDS_Stationen.OutletName, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
Sum(tblIDSTransactionsNew.Rabattbetrag) AS [SummevonRabattbetrag],
case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
FROM ((tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode) INNER JOIN tbl_IDS_Produkte ON tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode INNER JOIN tbl_IDS_Stationen ON tblIDSTransactionsNew.OutletCountryCode = tbl_IDS_Stationen.OutletCountryCode and tblIDSTransactionsNew.OutletCode = tbl_IDS_Stationen.OutletCode) INNER JOIN Adressen ON tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
WHERE cast(tblIDSTransactionsNew.YearMonthDay as Date) = '" & DateTimePicker2.Text & "' AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & sqlWhere & "
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], " & sqlGroup & ", tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz,tbl_IDS_Stationen.OutletName;
"
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
If dt Is DBNull.Value Then Return ""
@@ -3210,11 +3223,15 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land
rpt.txtKunde.Text = SQL.isDbnullEmpty(rpt.Fields.Item("AdressenNr").Value, "")
rpt.txtKunde.Text &= " " & SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
Dim Station As String = SQL.isDbnullEmpty(rpt.Fields.Item("OutletName").Value, "")
If Station <> "" Then
Station = " (" & Station & ")"
Dim Station As String = ""
If Gruppierung_nach_Ort Then
Station = SQL.isDbnullEmpty(rpt.Fields.Item("OutletOrt").Value, "")
If Station <> "" Then
Station = " (" & Station & ")"
End If
End If
rpt.txtProduktBeschreibung.Text = SQL.isDbnullEmpty(rpt.Fields.Item("ProductDescription").Value, "") & Station
rpt.txtLiter.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Liter").Value, "")
@@ -4720,6 +4737,27 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land
Dim IDSfehlendeStationen_AUSTRIA As Integer = 0
IDSfehlendeStationen_AUSTRIA = CInt((New SQL).getValueTxtBySql("select COUNT(*) from (
select tblIDSTransactionsNew.OutletCode, tblIDSTransactionsNew.OutletCountry, tblIDSTransactionsNew.OutletName
from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' and OutletCountry = 'Austria' and tblIDSTransactionsNew.OutletCode not in (select tbl_IDS_Stationen.OutletCode from tbl_IDS_Stationen)
group by tblIDSTransactionsNew.OutletCode, tblIDSTransactionsNew.OutletCountry, tblIDSTransactionsNew.OutletName ) as temp", "FMZOLL"))
If IDSfehlendeStationen_AUSTRIA >= 1 Then
pruefData_IDS = False
Dim hint As String = ""
' If IDSfehlendeStationen_AUSTRIA <= 10 Then
' hint &= SQL.getValueTxtBySql("select tblIDSTransactionsNew.OutletCode, tblIDSTransactionsNew.OutletCountry
'from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & DateTimePicker2.Text & "' and OutletCountry = 'Austria' and tblIDSTransactionsNew.OutletCode not in (select tbl_IDS_Stationen.OutletCode from tbl_IDS_Stationen)
'group by tblIDSTransactionsNew.OutletCode, tblIDSTransactionsNew.OutletCountry ", "FMZOLL")
' End If
MsgBox("Es befinden sich unter den Transaktionen " & IDSfehlendeStationen_AUSTRIA & " österrreichische Stationen, die nicht in der Tabelle IDS_STATIONEN angelegt wurden " & vbNewLine & "Diese STATIONEN müssen nachgetragen werden, um den AT Mautbericht korrekt zu erstellen (bitte an Administrator wenden)." & IIf(hint <> "", vbNewLine & hint, ""))
End If
Dim fehlendeRechnungen As Integer = 0
fehlendeRechnungen = CInt((New SQL).getValueTxtBySql("select count(*) from tblIDSInvoicesNew where DocumentName is null and cast(YearMonthDay as Date) = '" & DateTimePicker2.Text & "'", "FMZOLL"))
@@ -4846,7 +4884,7 @@ LEFT JOIN VERAG.dbo.tbl_IDS_Länder land
If Not vbYes = MsgBox("Aktuell ist der Testlauf aktiviert, wirklich fortfahren?", vbYesNoCancel) Then Exit Sub
End If
If vbYes = MsgBox("Möchten Sie den Vorgang wirklich manuell ausgeführen (wird bei Rechnungserstellung automatisch ausgeführt)", vbYesNoCancel) Then
If vbYes = MsgBox("Möchten Sie den Vorgang wirklich manuell ausführen (wird bei Rechnungserstellung automatisch ausgeführt)", vbYesNoCancel) Then
If Not checkAbrechnungsdatum(datPloseAnhang.Value) Then Exit Sub

View File

@@ -1,9 +1,9 @@
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _
<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()>
Partial Class usrCntlMDMDatenverarbeitungAuswertungen_divers
Inherits System.Windows.Forms.UserControl
'UserControl überschreibt den Löschvorgang, um die Komponentenliste zu bereinigen.
<System.Diagnostics.DebuggerNonUserCode()> _
<System.Diagnostics.DebuggerNonUserCode()>
Protected Overrides Sub Dispose(ByVal disposing As Boolean)
Try
If disposing AndAlso components IsNot Nothing Then
@@ -20,9 +20,9 @@ Partial Class usrCntlMDMDatenverarbeitungAuswertungen_divers
'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.
<System.Diagnostics.DebuggerStepThrough()> _
<System.Diagnostics.DebuggerStepThrough()>
Private Sub InitializeComponent()
Me.Button6 = New System.Windows.Forms.Button()
Me.Button4 = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.cbxNurEULander = New System.Windows.Forms.CheckBox()
Me.Button2 = New System.Windows.Forms.Button()
@@ -30,19 +30,19 @@ Partial Class usrCntlMDMDatenverarbeitungAuswertungen_divers
Me.Button3 = New System.Windows.Forms.Button()
Me.SuspendLayout()
'
'Button6
'Button4
'
Me.Button6.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button6.Image = Global.SDL.My.Resources.Resources.statistik_small
Me.Button6.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button6.Location = New System.Drawing.Point(6, 3)
Me.Button6.Name = "Button6"
Me.Button6.Padding = New System.Windows.Forms.Padding(0, 0, 2, 0)
Me.Button6.Size = New System.Drawing.Size(149, 41)
Me.Button6.TabIndex = 48
Me.Button6.Text = "Auswertung IT Maut " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "(Konsortium)"
Me.Button6.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button6.UseVisualStyleBackColor = True
Me.Button4.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button4.Image = Global.SDL.My.Resources.Resources.statistik_small
Me.Button4.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button4.Location = New System.Drawing.Point(6, 3)
Me.Button4.Name = "Button4"
Me.Button4.Padding = New System.Windows.Forms.Padding(0, 0, 2, 0)
Me.Button4.Size = New System.Drawing.Size(149, 41)
Me.Button4.TabIndex = 48
Me.Button4.Text = "Auswertung IT Maut " & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10) & "(Konsortium)"
Me.Button4.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button4.UseVisualStyleBackColor = True
'
'Button1
'
@@ -120,15 +120,15 @@ Partial Class usrCntlMDMDatenverarbeitungAuswertungen_divers
Me.Controls.Add(Me.Button2)
Me.Controls.Add(Me.cbxNurEULander)
Me.Controls.Add(Me.Button1)
Me.Controls.Add(Me.Button6)
Me.Controls.Add(Me.Button4)
Me.Name = "usrCntlMDMDatenverarbeitungAuswertungen_divers"
Me.Size = New System.Drawing.Size(295, 104)
Me.Size = New System.Drawing.Size(295, 114)
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Button6 As Button
Friend WithEvents Button4 As Button
Friend WithEvents Button1 As Button
Friend WithEvents cbxNurEULander As CheckBox
Friend WithEvents Button2 As Button

View File

@@ -27,41 +27,81 @@ Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers
Sub init()
Button1.Visible = True
Button2.Visible = True
Button3.Visible = True
Button4.Visible = True
Select Case Lieferant
Case "PLOSE"
Button6.Text = "Auswertung IT Maut (Konsortium)"
Button2.Text = "Auswert. Kunden (Konsortium)"
Button1.Text = "Auswertung nach Länder EU Kunden"
Button1.Text = "nach Länder EU Kunden"
Button1.Image = My.Resources.statistik_small
Button1.Visible = False
Button2.Text = "Kunden (Konsortium)"
Button2.Image = My.Resources.statistik_small
Button3.Visible = False
Button4.Text = "IT Maut (Konsortium)"
Button4.Image = My.Resources.statistik_small
cbxConsFakt.Visible = True
cbxNurEULander.Visible = True
Case "UTA"
Case "UTA" 'alles excel
Button4.Text = "fehl. KdNr"
Button4.Image = My.Resources.Excel_logo
Button2.Text = "fehl. Fakt-warenart"
Button2.Image = My.Resources.Excel_logo
Button1.Text = "fehl Offertenpos."
Button1.Image = My.Resources.Excel_logo
Button6.Text = "fehlende KdNr"
Button2.Text = "fehlende Fakt.warenart"
Button1.Text = "fehlende Offertenpos."
Button3.Text = "Vergleich Bericht"
Button3.Visible = True
Button3.Image = My.Resources.Excel_logo
Case "MSE"
Button6.Text = "Nach Spezifikation"
Button2.Text = "Leistungsnummern"
Case "MSE" 'alles excel
Button1.Text = "Kunden"
Button3.Text = "fehlende Transakt."
Button3.Visible = True
Button1.Image = My.Resources.Excel_logo
Button2.Text = "Leistung-Nr."
Button2.Image = My.Resources.Excel_logo
Button3.Text = "fehl. Transakt."
Button3.Image = My.Resources.Excel_logo
Button4.Text = "Nach Spezifikation"
Button4.Image = My.Resources.Excel_logo
Case "IDS" 'alles excel
Case "IDS"
Button2.Visible = False
Button6.Visible = True
Button2.Text = "Nach Spezifikation"
Button6.Text = "fehl. Offerten"
Button1.Text = "Kunden"
Button1.Image = My.Resources.Excel_logo
Button2.Text = "fehl. Stationen AT"
Button2.Image = My.Resources.Excel_logo
Button3.Text = "Ländercodes"
Button3.Visible = True
Button3.Image = My.Resources.Excel_logo
Button4.Text = "fehl. Offerten"
Button4.Image = My.Resources.Excel_logo
Case Else
@@ -87,7 +127,7 @@ Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers
End Function
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button4.Click
Select Case Lieferant
@@ -154,6 +194,9 @@ Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers
Case "MSE"
genMSEBericht("LENR")
Case "IDS"
genIDSBericht("STATIONEN_AT")
End Select
@@ -608,6 +651,14 @@ Public Class usrCntlMDMDatenverarbeitungAuswertungen_divers
ORDER BY
tblIDSTransactionsNew.[CustomerCode];"
Case "STATIONEN_AT"
sqlstr = "select tblIDSTransactionsNew.OutletCode, tblIDSTransactionsNew.OutletCountry, tblIDSTransactionsNew.OutletName
from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & MAIN.DateTimePicker2.Text & "' and OutletCountry = 'Austria' and tblIDSTransactionsNew.OutletCode not in (select tbl_IDS_Stationen.OutletCode from tbl_IDS_Stationen)
group by tblIDSTransactionsNew.OutletCode, tblIDSTransactionsNew.OutletCountry, tblIDSTransactionsNew.OutletName "
Case "OFFERTEN"
Dim dtKunden = SQL.loadDgvBySql("Select distinct(tblIDSTransactionsNew.KdNrVERAG) from tblIDSTransactionsNew where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & MAIN.DateTimePicker2.Text & "'", "FMZOLL")

View File

@@ -1128,7 +1128,15 @@ Public Class usrcntlFakturierung
Return False
End If
Dim dtSammelRechnugen_EZB = dtSammelRechnugen.Select("FilialenNr = 8001 and OffertenNr = 95").CopyToDataTable()
Dim dtSammelRechnugen_EZB As DataTable
Dim rows = dtSammelRechnugen.Select("FilialenNr = 8001 AND OffertenNr = 95")
If rows.Length > 0 Then
dtSammelRechnugen_EZB = rows.CopyToDataTable()
Else
dtSammelRechnugen_EZB = dtSammelRechnugen.Clone()
End If
If dtSammelRechnugen_EZB.Rows.Count = 0 Then
MsgBox("Keine Rechnungen der Filiale 8001 für die Anlage der ZNB-Berichte gefunden!" & vbNewLine & "Vorgang wird abgebrochen.")

View File

@@ -271,6 +271,10 @@ Partial Class usrCntlZOLLAuswertungen
Me.Label96 = New System.Windows.Forms.Label()
Me.von_CBAM = New System.Windows.Forms.DateTimePicker()
Me.pnl = New System.Windows.Forms.Panel()
Me.Label101 = New System.Windows.Forms.Label()
Me.Button2 = New System.Windows.Forms.Button()
Me.Label102 = New System.Windows.Forms.Label()
Me.Label103 = New System.Windows.Forms.Label()
Me.GroupBox1.SuspendLayout()
Me.grpDurmaz.SuspendLayout()
CType(Me.picDurmaz, System.ComponentModel.ISupportInitialize).BeginInit()
@@ -1314,7 +1318,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.tbcntr.Location = New System.Drawing.Point(0, 57)
Me.tbcntr.Name = "tbcntr"
Me.tbcntr.SelectedIndex = 0
Me.tbcntr.Size = New System.Drawing.Size(1109, 1829)
Me.tbcntr.Size = New System.Drawing.Size(1092, 1829)
Me.tbcntr.TabIndex = 22
'
'TabPage1
@@ -1357,7 +1361,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage1.Location = New System.Drawing.Point(4, 22)
Me.TabPage1.Name = "TabPage1"
Me.TabPage1.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage1.Size = New System.Drawing.Size(1101, 1803)
Me.TabPage1.Size = New System.Drawing.Size(1084, 1803)
Me.TabPage1.TabIndex = 0
Me.TabPage1.Text = "Bürgschaften"
Me.TabPage1.UseVisualStyleBackColor = True
@@ -2584,7 +2588,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage3.Location = New System.Drawing.Point(4, 22)
Me.TabPage3.Name = "TabPage3"
Me.TabPage3.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage3.Size = New System.Drawing.Size(1118, 1803)
Me.TabPage3.Size = New System.Drawing.Size(1101, 1803)
Me.TabPage3.TabIndex = 2
Me.TabPage3.Text = "Fiskalvertretung / EV-Veranlagung"
Me.TabPage3.UseVisualStyleBackColor = True
@@ -2619,7 +2623,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage4.Controls.Add(Me.UsrCntlAuswertungenAufschub_Abgabenliste1)
Me.TabPage4.Location = New System.Drawing.Point(4, 22)
Me.TabPage4.Name = "TabPage4"
Me.TabPage4.Size = New System.Drawing.Size(1118, 1803)
Me.TabPage4.Size = New System.Drawing.Size(1101, 1803)
Me.TabPage4.TabIndex = 3
Me.TabPage4.Text = "Aufschubdaten"
Me.TabPage4.UseVisualStyleBackColor = True
@@ -2648,7 +2652,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage5.Location = New System.Drawing.Point(4, 22)
Me.TabPage5.Name = "TabPage5"
Me.TabPage5.Padding = New System.Windows.Forms.Padding(3)
Me.TabPage5.Size = New System.Drawing.Size(1118, 1803)
Me.TabPage5.Size = New System.Drawing.Size(1084, 1803)
Me.TabPage5.TabIndex = 4
Me.TabPage5.Text = "UNISPED"
Me.TabPage5.UseVisualStyleBackColor = True
@@ -2852,6 +2856,10 @@ Partial Class usrCntlZOLLAuswertungen
'
'TabPage6
'
Me.TabPage6.Controls.Add(Me.Label103)
Me.TabPage6.Controls.Add(Me.Label102)
Me.TabPage6.Controls.Add(Me.Button2)
Me.TabPage6.Controls.Add(Me.Label101)
Me.TabPage6.Controls.Add(Me.cbxCBAM_Detaildaten)
Me.TabPage6.Controls.Add(Me.Label100)
Me.TabPage6.Controls.Add(Me.cbxcbamQuelle)
@@ -2863,7 +2871,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.TabPage6.Controls.Add(Me.von_CBAM)
Me.TabPage6.Location = New System.Drawing.Point(4, 22)
Me.TabPage6.Name = "TabPage6"
Me.TabPage6.Size = New System.Drawing.Size(1118, 1803)
Me.TabPage6.Size = New System.Drawing.Size(1084, 1803)
Me.TabPage6.TabIndex = 5
Me.TabPage6.Text = "CBAM"
Me.TabPage6.UseVisualStyleBackColor = True
@@ -2871,7 +2879,7 @@ Partial Class usrCntlZOLLAuswertungen
'cbxCBAM_Detaildaten
'
Me.cbxCBAM_Detaildaten.AutoSize = True
Me.cbxCBAM_Detaildaten.Location = New System.Drawing.Point(13, 80)
Me.cbxCBAM_Detaildaten.Location = New System.Drawing.Point(13, 102)
Me.cbxCBAM_Detaildaten.Name = "cbxCBAM_Detaildaten"
Me.cbxCBAM_Detaildaten.Size = New System.Drawing.Size(126, 17)
Me.cbxCBAM_Detaildaten.TabIndex = 29
@@ -2881,7 +2889,7 @@ Partial Class usrCntlZOLLAuswertungen
'Label100
'
Me.Label100.AutoSize = True
Me.Label100.Location = New System.Drawing.Point(10, 37)
Me.Label100.Location = New System.Drawing.Point(10, 59)
Me.Label100.Name = "Label100"
Me.Label100.Size = New System.Drawing.Size(37, 13)
Me.Label100.TabIndex = 28
@@ -2897,7 +2905,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.cbxcbamQuelle.DropDownWidth = 100
Me.cbxcbamQuelle.FormattingEnabled = True
Me.cbxcbamQuelle.IntegralHeight = False
Me.cbxcbamQuelle.Location = New System.Drawing.Point(13, 53)
Me.cbxcbamQuelle.Location = New System.Drawing.Point(13, 75)
Me.cbxcbamQuelle.Name = "cbxcbamQuelle"
Me.cbxcbamQuelle.Size = New System.Drawing.Size(85, 21)
Me.cbxcbamQuelle.TabIndex = 27
@@ -2905,7 +2913,7 @@ Partial Class usrCntlZOLLAuswertungen
'Label99
'
Me.Label99.AutoSize = True
Me.Label99.Location = New System.Drawing.Point(224, 56)
Me.Label99.Location = New System.Drawing.Point(224, 78)
Me.Label99.Name = "Label99"
Me.Label99.Size = New System.Drawing.Size(23, 13)
Me.Label99.TabIndex = 26
@@ -2914,7 +2922,7 @@ Partial Class usrCntlZOLLAuswertungen
'bis_CBAM
'
Me.bis_CBAM.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
Me.bis_CBAM.Location = New System.Drawing.Point(253, 53)
Me.bis_CBAM.Location = New System.Drawing.Point(253, 75)
Me.bis_CBAM.Name = "bis_CBAM"
Me.bis_CBAM.Size = New System.Drawing.Size(93, 20)
Me.bis_CBAM.TabIndex = 25
@@ -2936,7 +2944,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.excelCbam.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.excelCbam.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.excelCbam.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.excelCbam.Location = New System.Drawing.Point(13, 103)
Me.excelCbam.Location = New System.Drawing.Point(13, 125)
Me.excelCbam.Name = "excelCbam"
Me.excelCbam.Padding = New System.Windows.Forms.Padding(0, 0, 25, 0)
Me.excelCbam.Size = New System.Drawing.Size(121, 38)
@@ -2948,7 +2956,7 @@ Partial Class usrCntlZOLLAuswertungen
'Label96
'
Me.Label96.AutoSize = True
Me.Label96.Location = New System.Drawing.Point(114, 37)
Me.Label96.Location = New System.Drawing.Point(114, 59)
Me.Label96.Name = "Label96"
Me.Label96.Size = New System.Drawing.Size(38, 13)
Me.Label96.TabIndex = 21
@@ -2957,7 +2965,7 @@ Partial Class usrCntlZOLLAuswertungen
'von_CBAM
'
Me.von_CBAM.Format = System.Windows.Forms.DateTimePickerFormat.[Short]
Me.von_CBAM.Location = New System.Drawing.Point(117, 53)
Me.von_CBAM.Location = New System.Drawing.Point(117, 75)
Me.von_CBAM.Name = "von_CBAM"
Me.von_CBAM.Size = New System.Drawing.Size(93, 20)
Me.von_CBAM.TabIndex = 20
@@ -2968,9 +2976,53 @@ Partial Class usrCntlZOLLAuswertungen
Me.pnl.Dock = System.Windows.Forms.DockStyle.Top
Me.pnl.Location = New System.Drawing.Point(0, 0)
Me.pnl.Name = "pnl"
Me.pnl.Size = New System.Drawing.Size(1109, 57)
Me.pnl.Size = New System.Drawing.Size(1092, 57)
Me.pnl.TabIndex = 23
'
'Label101
'
Me.Label101.AutoSize = True
Me.Label101.Font = New System.Drawing.Font("Microsoft Sans Serif", 10.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte))
Me.Label101.ForeColor = System.Drawing.SystemColors.ControlDarkDark
Me.Label101.Location = New System.Drawing.Point(10, 176)
Me.Label101.Name = "Label101"
Me.Label101.Size = New System.Drawing.Size(154, 17)
Me.Label101.TabIndex = 30
Me.Label101.Text = "CBAM Kundenstatus"
'
'Button2
'
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0, Byte), Integer), CType(CType(54, Byte), Integer), CType(CType(128, Byte), Integer))
Me.Button2.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button2.Location = New System.Drawing.Point(13, 229)
Me.Button2.Name = "Button2"
Me.Button2.Padding = New System.Windows.Forms.Padding(0, 0, 25, 0)
Me.Button2.Size = New System.Drawing.Size(121, 38)
Me.Button2.TabIndex = 31
Me.Button2.Text = "Excel"
Me.Button2.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button2.UseVisualStyleBackColor = True
'
'Label102
'
Me.Label102.AutoSize = True
Me.Label102.Location = New System.Drawing.Point(10, 200)
Me.Label102.Name = "Label102"
Me.Label102.Size = New System.Drawing.Size(192, 13)
Me.Label102.TabIndex = 32
Me.Label102.Text = "Kundenliste mit aktuellem CBAM-Status"
'
'Label103
'
Me.Label103.AutoSize = True
Me.Label103.Location = New System.Drawing.Point(10, 35)
Me.Label103.Name = "Label103"
Me.Label103.Size = New System.Drawing.Size(225, 13)
Me.Label103.TabIndex = 33
Me.Label103.Text = "Liste der Kunden mit CBAM-pflichtigen Waren "
'
'usrCntlZOLLAuswertungen
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!)
@@ -2980,7 +3032,7 @@ Partial Class usrCntlZOLLAuswertungen
Me.Controls.Add(Me.tbcntr)
Me.Controls.Add(Me.pnl)
Me.Name = "usrCntlZOLLAuswertungen"
Me.Size = New System.Drawing.Size(1109, 1174)
Me.Size = New System.Drawing.Size(1092, 1174)
Me.GroupBox1.ResumeLayout(False)
Me.GroupBox1.PerformLayout()
Me.grpDurmaz.ResumeLayout(False)
@@ -3295,4 +3347,8 @@ Partial Class usrCntlZOLLAuswertungen
Friend WithEvents Label96 As Label
Friend WithEvents von_CBAM As DateTimePicker
Friend WithEvents cbxCBAM_Detaildaten As CheckBox
Friend WithEvents Button2 As Button
Friend WithEvents Label101 As Label
Friend WithEvents Label102 As Label
Friend WithEvents Label103 As Label
End Class

View File

@@ -1,4 +1,5 @@
Imports System.IO
Imports System.Data.SqlTypes
Imports System.IO
Imports GrapeCity.DataVisualization.Chart
Public Class usrCntlZOLLAuswertungen
@@ -1218,6 +1219,22 @@ and
End Function
Private Sub Button2_Click_2(sender As Object, e As EventArgs) Handles Button2.Click
Dim sqlString =
"select Adressen.Auswahl as Aktiv,KundenNr, [Name 1] as Name, isnull(Adressen.[E-Mail],'') as Mail, isnull(Adressen.[E-Mail2],'') as Mail2 ,isnull(Anrede,'') as Anrede ,isnull(Ansprechpartner,'') as Ansprechpartner, isnull(Adressen.Telefon,'') as Telefon, kde_CBAM_Status as CBAM_Status from Adressen
inner join Kunden on Kunden.KundenNr = Adressen.AdressenNr
inner join tblKundenErweitert on kde_KundenNr = Adressen.AdressenNr
where isnull(kde_CBAM_Status,'') <> ''"
Dim dt As DataTable = SQL.loadDgvBySql(SqlString, "FMZOLL", 700)
If dt IsNot Nothing Then
cProgramFunctions.genExcelFromDT_NEW(dt)
End If
End Sub

View File

@@ -45,8 +45,8 @@ Public Class cAdressen
'Property SSMA_TimeStamp As Object = Nothing
Property MWSTVorauszahlung As Object = Nothing
Property PLOSEKundenNr As Object = Nothing
Property weitereWölflKundenNr As Object = Nothing
Property IDSMautbericht_nachOrt As Object = Nothing
Public hasEntry = False
@@ -143,6 +143,7 @@ Public Class cAdressen
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("MWSTVorauszahlung", MWSTVorauszahlung))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLOSEKundenNr", PLOSEKundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("weitereWölflKundenNr", weitereWölflKundenNr))
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("IDSMautbericht_nachOrt", IDSMautbericht_nachOrt))
Return list
End Function

View File

@@ -245,6 +245,107 @@ Public Class cAufschubKonten
Return brgakto_gs_aktSaldo
End Function
Public Function CalcSaldo_new(Optional dtDate As DataTable = Nothing, Optional Stichtag As Date? = Nothing, Optional showMessage As Boolean = False) As String
Dim datumBis As Date =
If(Stichtag.HasValue, Stichtag.Value.Date, Today.Date)
Dim datumBisSql As String =
datumBis.ToString("yyyy-MM-dd")
Dim standort As String =
brgakto_gs_standort.Replace("'", "''")
Dim saldoSql As String = "DECLARE @Stichtag date = '" & datumBisSql & "'; Declare @Standort varchar(100) = '" & standort & "'; " & "DECLARE @Referenzbetrag decimal(18,2);
/* Referenzbetrag vor dem Stichtag */
SELECT TOP (1)
@Referenzbetrag = r.brgarefb_refbetrag
FROM [ADMIN].[dbo].[tblBrgAufschubKonten] AS k
INNER JOIN [ADMIN].[dbo].[tblBrgAufschubReferenzberaege] AS r
ON r.brgarefb_gsid = k.brgakto_id
WHERE k.brgakto_gs_standort = @Standort
AND ISNULL(r.brgarefb_gs_aktiv, 1) = 1
AND r.brgarefb_gueltig_ab < @Stichtag
AND (
r.brgarefb_gueltig_bis IS NULL
OR r.brgarefb_gueltig_bis >= @Stichtag
)
ORDER BY
r.brgarefb_gueltig_ab DESC,
r.brgarefb_id DESC;
/* Bewegungen vor dem Stichtag */
SELECT
ISNULL(@Referenzbetrag, 0)
+ ISNULL(SUM(Betrag), 0) AS GesamtSicherheitsSaldo
FROM
(
/* Eingänge vor dem Stichtag */
SELECT
ISNULL(gs.gs_sicherheitsbetrag, 0) * -1 AS Betrag
FROM dbo.tblGesamtsicherheit AS gs
WHERE gs.gs_standort = @Standort
AND gs.gs_datum < @Stichtag
AND ISNULL(gs.gs_ReferenzAenderung, 0) = 0
UNION ALL
/* Ausgänge vor dem Stichtag */
SELECT
ISNULL(gsp.gsp_sicherheitsbetrag, 0) AS Betrag
FROM dbo.tblGesamtsicherheitsPositionen AS gsp
WHERE gsp.gsp_datum < @Stichtag
AND EXISTS
(
SELECT 1
FROM dbo.tblGesamtsicherheit AS gs
WHERE gs.gs_gsId = gsp.gsp_gsId
AND gs.gs_standort = @Standort
AND gs.gs_datum < @Stichtag
AND ISNULL(gs.gs_ReferenzAenderung, 0) = 0
)
) AS Bewegungen;"
Dim dt As DataTable =
SQL.loadDgvBySql(saldoSql, "AVISO", 100, True)
Dim saldo As Decimal = 0D
If dt IsNot Nothing AndAlso
dt.Rows.Count > 0 AndAlso
Not IsDBNull(dt.Rows(0).Item("GesamtSicherheitsSaldo")) Then
saldo = Convert.ToDecimal(
dt.Rows(0).Item("GesamtSicherheitsSaldo")
)
End If
brgakto_gs_aktSaldo = CDbl(saldo)
If showMessage Then
MsgBox(
"Saldo zum Stichtag " &
datumBis.ToShortDateString() &
":" & vbNewLine &
brgakto_gs_aktSaldo.ToString("N2")
)
End If
If Not Stichtag.HasValue Then
updateSaldo()
End If
Return brgakto_gs_aktSaldo.ToString()
End Function
Public Function getReferenzbetrag(nowDate As Date) As Double
Try

View File

@@ -3,6 +3,7 @@ Imports System.Data.SqlClient
Imports System.IO
Imports System.Net
Imports System.Reflection
Imports System.Windows.Forms
Public Class cIDS
@@ -757,6 +758,77 @@ Public Class cIDS
End Function
Function genIDSMautberichtDatatByKdNr(KdNr As String, rechnungsdatum As Date, art As String, Gruppierung_nach_Ort As Boolean) As DataTable
Dim dt As New DataTable
Dim displayFilter = False
Dim sqlstr As String = ""
Dim sqljoin_nachOrt As String = ""
Dim sqlgroup_nachOrt = ""
Dim sqlselect_nachOrt = ""
If Gruppierung_nach_Ort Then
sqljoin_nachOrt = "INNER JOIN tbl_IDS_Stationen ON tblIDSTransactionsNew.OutletCountryCode = tbl_IDS_Stationen.OutletCountryCode and tblIDSTransactionsNew.OutletCode = tbl_IDS_Stationen.OutletCode and tbl_IDS_Stationen.[OutletCountryCode]=740543"
sqlgroup_nachOrt = ",tbl_IDS_Stationen.OutletOrt"
sqlselect_nachOrt = "tbl_IDS_Stationen.OutletOrt,"
End If
Select Case art
Case "IDS" 'Offert17
sqlstr = "SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], tblIDSTransactionsNew.[OutletCountry], tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
Sum(tblIDSTransactionsNew.Rabattbetrag) As [SummevonRabattbetrag],
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
FROM((tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode) INNER JOIN tbl_IDS_Produkte On tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode ) INNER JOIN Adressen On tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
Where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & rechnungsdatum.ToShortDateString & "' AND tblIDSTransactionsNew.[OutletCountryCode]<>740543 AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & "
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], tblIDSTransactionsNew.[OutletCountry], tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz"
Case "IDS_AT" 'Offert21
sqlstr = " SELECT Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 And 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END AS OutletCountry, tbl_IDS_Produkte.ProductDescription," & sqlselect_nachOrt & " tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz, Sum(tblIDSTransactionsNew.[TransactionVolume]) AS Liter, Sum(tblIDSTransactionsNew.[TotalNetAmount]) AS Nettobetrag, Sum(tblIDSTransactionsNew.[VATAmount]) AS Steuerbetrag,
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([TotalNetAmount])/Sum([TransactionVolume]) END AS NettopreisProLiter,
Sum(tblIDSTransactionsNew.Rabattbetrag) As [SummevonRabattbetrag],
Case when Sum([TransactionVolume]) =0 THEN 0 ELSE Sum([Rabattbetrag])/Sum([TransactionVolume]) END AS RabattbetragProLiter
FROM tblIDSTransactionsNew INNER JOIN tbl_IDS_Länder ON tblIDSTransactionsNew.[OutletCountryCode] = tbl_IDS_Länder.OutletCountryCode INNER JOIN tbl_IDS_Produkte On tblIDSTransactionsNew.[ProductTypeCode] = tbl_IDS_Produkte.ProductTypeCode " & sqljoin_nachOrt & " INNER JOIN Adressen On tblIDSTransactionsNew.KdNrVERAG = Adressen.AdressenNr
Where cast(tblIDSTransactionsNew.YearMonthDay As Date) = '" & rechnungsdatum.ToShortDateString & "' And tblIDSTransactionsNew.[OutletCountryCode]=740543 AND tblIDSTransactionsNew.KdNrVERAG = " & KdNr & "
GROUP BY Adressen.AdressenNr, Adressen.[Name 1], Adressen.[Name 2], Adressen.Straße, Adressen.LandKz, Adressen.PLZ, Adressen.Ort, Adressen.UstIdKz, Adressen.UstIdNr, tblIDSTransactionsNew.[CustomerCode], CASE WHEN tblIDSTransactionsNew.OutletCode BETWEEN 4473 AND 4474 THEN 'Austria Suben' ELSE tblIDSTransactionsNew.OutletCountry END, tbl_IDS_Produkte.ProductDescription, tbl_IDS_Länder.Steuersatz, tblIDSTransactionsNew.Rechenwert, tblIDSTransactionsNew.Kz" & sqlgroup_nachOrt
End Select
dt = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
Return dt
End Function
Public Function getCurrentInvoicedate(kdNr As String) As String
Dim datum As String = ""
If kdNr <> "" AndAlso IsNumeric(kdNr) Then
Dim rechnungsdatum As String = SQL.getValueTxtBySql(" select top(1) cast(tblIDSTransactionsNew.YearMonthDay As Date) from tblIDSTransactionsNew Where tblIDSTransactionsNew.KdNrVERAG = " & kdNr & " order by tblIDSTransactionsNew.YearMonthDay desc", "FMZOLL")
If rechnungsdatum <> "" AndAlso IsDate(rechnungsdatum) Then
datum = rechnungsdatum
End If
End If
Return datum
End Function
Public Class Paramter
Shared apiSettingsloaded As Boolean = False

View File

@@ -953,6 +953,16 @@ Public Class cUTA
Sub New()
End Sub
Sub New(RechnungsNr, KundenNr, Datum, DocumentTyp)
Me.RechnungsNr = RechnungsNr
Me.KundenNr = KundenNr
Me.Datum = Datum
Me.DocumentTyp = DocumentTyp
LOAD(RechnungsNr, KundenNr, Datum, DocumentTyp)
End Sub
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("Id", Id,, True))
@@ -978,6 +988,38 @@ Public Class cUTA
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
End Function
Public Sub LOAD(RechnungsNr As String, KundenNr As Integer, Datum As Date, DocumentTyp As String)
Try
hasEntry = False
Using conn As SqlConnection = SQL.GetNewOpenConnectionFMZOLL()
Using cmd As New SqlCommand("Select * FROM tblUTADocuments WHERE Datum=@Datum AND KundenNr = @KundenNr AND RechnungsNr=@RechnungsNr AND DocumentTyp = @DocumentTyp ", conn)
cmd.Parameters.AddWithValue("@Datum", Datum)
cmd.Parameters.AddWithValue("@KundenNr", KundenNr)
cmd.Parameters.AddWithValue("@RechnungsNr", RechnungsNr)
cmd.Parameters.AddWithValue("@DocumentTyp", DocumentTyp)
Dim dr = cmd.ExecuteReader()
If dr.Read Then
For Each li In getParameterList()
Dim propInfo As PropertyInfo = Me.GetType.GetProperty(li.Scalarvariable)
If dr.Item(li.Text) Is DBNull.Value Then
propInfo.SetValue(Me, Nothing)
Else
propInfo.SetValue(Me, dr.Item(li.Text))
End If
Next
hasEntry = True
End If
dr.Close()
End Using
End Using
Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodBase.GetCurrentMethod.Name)
End Try
End Sub
Public Sub LOAD()
Try
hasEntry = False

View File

@@ -252,5 +252,13 @@
End Function
Public Class Paramter
Shared SQL As New VERAG_PROG_ALLGEMEIN.SQL
Shared Function GET_PARAM_ByName(tcParam_name, TESTSYSTEM) As String
Return SQL.getValueTxtBySql("SELECT TOP 1 [Param_value] FROM [tblPartnersystem_Paramter] WHERE Param_system='MIC' AND [Param_name]='" & tcParam_name & "' AND Param_testsystem = " & IIf(TESTSYSTEM, 1, 0), , , SQL.GetNewOpenConnectionFMZOLL_SYSTEM(TESTSYSTEM))
End Function
End Class
End Class

View File

@@ -6,15 +6,44 @@ Public Class cSyska_Interface
'STAMMDATEN
Shared Function getStammdaten(FiBuSchnittstelleNr) As DataTable
Dim sqlStr = " Select KundenNrZentrale As [Konto-Nr],isnull([Name 1],'') as Name,isnull([Name 2],'') as [Name2],(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],isnull(UstIdGeprüft,'') as [UID-Datum],[Strasse],Adressen.landkz ,PLZ,LTRIM([Ort]) as Ort,isnull(BLZ,'') as [BLZ],isnull(KTO,'') as [KTO], CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],/*'' as [SPz],'' as [STg],*/isnull([E-Mail],'') as [mail],'' AS Info1,'' AS Inf2, Zahlungsziel2, Zahlungsziel3,[E-Mail],[Telefon] ,Telefax "
sqlStr &= " ,Ordnungsbegriff ,Kunden.Währungscode,Anrede,Ansprechpartner,Lastschrift,Kunden.[Eingegeben am] as EingegebenAm"
sqlStr &= " FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr "
sqlStr &= " LEFT JOIN tblKundenErweitert ON KundenNr=kde_KundenNr "
sqlStr &= " LEFT JOIN [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz "
sqlStr &= " LEFT JOIN Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel "
sqlStr &= " WHERE FiBuSchnittstelle=1 AND Auswahl='A' AND FiBuSchnittstelleNr='" & FiBuSchnittstelleNr & "' "
sqlStr &= " Order by [Konto-Nr] "
Return SQL.loadDgvBySql(sqlStr, "FMZOLL")
Dim SQLString = "Select Top(100)
KundenNrZentrale As [Konto-Nr],
isnull([Name 1],'') as Name,
isnull([Name 2],'') as [Name2],
(isnull(UstIdKz,'') + isnull(UstIdNr,'')) as [UST-Id-Nummer],
isnull(UstIdGeprüft,'') as [UID-Datum],
[Strasse],
Adressen.landkz ,
PLZ,LTRIM([Ort]) as Ort,
isnull(BLZ,'') as [BLZ],
isnull(KTO,'') as [KTO],
CASE WHEN CAST(Zahlungsziel as VARCHAR(3)) ='0' THEN '' ELSE CAST(Zahlungsziel as VARCHAR(3)) END as [ZZiel],
isnull([E-Mail],'') as [mail],
'' AS Info1,
'' AS Inf2,
Zahlungsziel2,
Zahlungsziel3,
[E-Mail],
[Telefon] ,
Telefax,Ordnungsbegriff,
Kunden.Währungscode,
Anrede,
Ansprechpartner,
Lastschrift,
Kunden.[Eingegeben am] as EingegebenAm,
isnull(tblKundenErweitert.kde_BezFIBU,'') as [Kürzel],
2811 as [präf. Bank],
isnull(tblKundenErweitert.kde_Fakturierung_Sprache,'') as Sprache,
isnull(Adressen.Steuernummer,'')as [SteuerNr],
isnull(tblKundenErweitert.kde_betreuer,'') as Betreuer
FROM Adressen INNER JOIN Kunden ON Kundennr=AdressenNr
Left Join tblKundenErweitert ON KundenNr=kde_KundenNr
Left Join [Länderverzeichnis für die Außenhandelsstatistik] as St ON St.LandKz=Adressen.LandKz
Left Join Währungstabelle ON St.LandNr = Währungstabelle.Währungsschlüssel
WHERE FiBuSchnittstelle = 0 And Auswahl ='A' AND FiBuSchnittstelleNr='" & FiBuSchnittstelleNr & "' and KundenNr = 203152 Order by [Konto-Nr]"
Return SQL.loadDgvBySql(SQLString, "FMZOLL")
End Function
' Shared Function getStammdatenTEST(FiBuSchnittstelleNr) As DataTable
@@ -80,9 +109,6 @@ Public Class cSyska_Interface
Dim cleanStringName As String = Regex.Replace(row("Name"), "[^A-Za-z0-9\-/]", "").Replace(" ", "").ToUpper
Dim Lastschrift = CBool(row("Lastschrift"))
'If FormatStringSYS(row("Name2"), 50) <> "" Then
' MsgBox(FormatStringSYS(row("Name2"), 50) & vbTab)
'End If
getPersonenKto = ""
getPersonenKto &= row("Konto-Nr") & vbTab
getPersonenKto &= FormatStringSYS(cleanStringName, 2) & row("Konto-Nr") & vbTab
@@ -113,7 +139,73 @@ Public Class cSyska_Interface
getPersonenKto &= FormatStringSYS(row("Telefax")) & vbTab
getPersonenKto &= FormatStringSYS(row("E-Mail")) & vbTab
getPersonenKto &= vbTab
' getPersonenKto &= vbTab
End Function
Public Shared Function getPersonenKto_MDM(row As DataRow) As String
Dim LandKz = row("LandKz")
Dim Gegenkontonummer = ""
Dim Gegenkontonummer2 = ""
If LandKz Is DBNull.Value Or LandKz.trim = "" Or LandKz = "A" Then
Gegenkontonummer = "4000" ' Erl. 20%
Gegenkontonummer2 = "4000" ' Erl. 20%
Else
If CBool(SQL.DLookup("[MitgliedslandEU]", "[Währungstabelle]", "[LandKz]='" & LandKz & "'", "FMZOLL", False)) Then
Gegenkontonummer = "4020" ' Erl. 0% EU
Gegenkontonummer2 = "4020" ' Erl. 0% EU
Else
Gegenkontonummer = "4021" ' Erl. 0% 3.Land
Gegenkontonummer2 = "4021" ' Erl. 0% 3.Land
End If
End If
Dim cleanStringName As String = Regex.Replace(row("Name"), "[^A-Za-z0-9\-/]", "").Replace(" ", "").ToUpper
Dim SteuerNr As String = ""
If Not IsDBNull(row("SteuerNr")) Then
SteuerNr = Regex.Replace(row("SteuerNr").ToString(), "[^0-9]", "")
End If
Dim Lastschrift = CBool(row("Lastschrift"))
getPersonenKto_MDM = ""
getPersonenKto_MDM &= row("Konto-Nr") & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Kürzel"), 24) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Name"), 50) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Name2"), 50) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Strasse"), 50) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("PLZ"), 20) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Ort"), 50) & vbTab
getPersonenKto_MDM &= cProgramFunctions.getISO2Land(FormatStringSYS(LandKz, 5)) & vbTab
getPersonenKto_MDM &= CDate(row("EingegebenAm")).ToShortDateString & vbTab 'Eröffnungsdatum
'getPersonenKto_MDM &= Gegenkontonummer & vbTab
getPersonenKto_MDM &= vbTab 'Bankname
getPersonenKto_MDM &= If(Lastschrift, row("BLZ"), "") & vbTab
getPersonenKto_MDM &= If(Lastschrift, row("KTO"), "") & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Name"), 50) & vbTab 'Inhaber
getPersonenKto_MDM &= "00" & vbTab 'Skontotage
getPersonenKto_MDM &= If(row("ZZiel") IsNot DBNull.Value AndAlso row("ZZiel") <> String.Empty, CDbl(row("ZZiel")).ToString("00"), "") & vbTab
getPersonenKto_MDM &= "00,00" & vbTab 'Skonto
getPersonenKto_MDM &= "01" & vbTab 'Mahnkennung
getPersonenKto_MDM &= FormatStringSYS(row("UST-Id-Nummer"), 50) & vbTab
'getPersonenKto_MDM &= vbTab
getPersonenKto_MDM &= row("Währungscode") & vbTab
'getPersonenKto_MDM &= vbTab 'Forderungsonto
'getPersonenKto_MDM &= vbTab
'getPersonenKto_MDM &= Gegenkontonummer2 & vbTab 'Platzhalter??
getPersonenKto_MDM &= FormatStringSYS(row("Anrede") & " " & row("Ansprechpartner"), 100) & vbTab
'getPersonenKto_MDM &= vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Telefon")) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Telefax")) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("E-Mail")) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("präf. Bank")) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Sprache")) & vbTab
getPersonenKto_MDM &= FormatStringSYS(SteuerNr) & vbTab
getPersonenKto_MDM &= FormatStringSYS(row("Betreuer")) & vbTab
getPersonenKto_MDM &= vbTab
End Function
@@ -146,43 +238,50 @@ Public Class cSyska_Interface
If True Then 'boolKunden Then
'----------------- STAMMDATEN -----------------
Dim dt_Stamm As DataTable = getStammdaten(FiBuSchnittstelleNr)
Dim postfix As String = ""
If dt_Stamm IsNot Nothing AndAlso dt_Stamm.Rows.Count > 0 Then
If FiBuSchnittstelleNr = 19 Then postfix = "MDM_"
Dim fileKD As System.IO.StreamWriter
Dim DateinameKD = "AVISO_DEBI_" & Now.ToString("ddMMyyyy_HHmm") & ".txt"
Dim DateinameKD = "AVISO_DEBI_" & Now.ToString("ddMMyyyy_HHmm") & postfix & ".txt"
fileKD = My.Computer.FileSystem.OpenTextFileWriter(pathKD & DateinameKD, True, System.Text.Encoding.GetEncoding("iso-8859-15"))
'fileKD.WriteLine(genStammdatenBeginn())
'fileKD.WriteLine(genStammdatenBeginn())
initKDNr(dt_Stamm)
initKDNr(dt_Stamm)
For Each r In dt_Stamm.Rows
fileKD.WriteLine(getPersonenKto(r))
If FiBuSchnittstelleNr = 19 Then
fileKD.WriteLine(getPersonenKto_MDM(r))
Else
fileKD.WriteLine(getPersonenKto(r))
End If
Next
bool_DatenVorhanden = True
fileKD.Close()
fileKD.Close()
'In Archiv sichern
If pathArchivKD <> "" Then
If Not System.IO.Directory.Exists(pathArchivKD) Then System.IO.Directory.CreateDirectory(pathArchivKD)
If pathKD <> pathArchivKD Then System.IO.File.Copy(pathKD & DateinameKD, pathArchivKD & DateinameKD)
End If
If bool_DatenVorhanden Then
If OpenFile Then Process.Start(pathKD & DateinameKD)
Else
System.IO.File.Delete(pathKD & DateinameKD)
End If
'NOCH NICHT!!!
updateFibu(FiBuSchnittstelleNr) ' UPDATE FiBuSchnittstelle --> 0
'In Archiv sichern
If pathArchivKD <> "" Then
If Not System.IO.Directory.Exists(pathArchivKD) Then System.IO.Directory.CreateDirectory(pathArchivKD)
If pathKD <> pathArchivKD Then System.IO.File.Copy(pathKD & DateinameKD, pathArchivKD & DateinameKD)
End If
If bool_DatenVorhanden Then
If OpenFile Then Process.Start(pathKD & DateinameKD)
Else
System.IO.File.Delete(pathKD & DateinameKD)
End If
'NOCH NICHT!!!
updateFibu(FiBuSchnittstelleNr) ' UPDATE FiBuSchnittstelle --> 0
End If
End If

View File

@@ -71,7 +71,10 @@ Public Class frmDatumsabfrage
End Sub
Private Sub frmDatumsabfrage(sender As Object, e As EventArgs) Handles Me.Load
dtp_date.Value = Now.ToShortDateString
'dtp_date.Value = Now.ToShortDateString
pnlKunde.Visible = panelKunde
MyPanel2.Visible = panelLaender