2619 lines
136 KiB
VB.net
2619 lines
136 KiB
VB.net
Imports System.Data.SqlClient
|
||
Imports System.IO
|
||
Imports Microsoft.Office.Interop.Outlook
|
||
Imports Microsoft.VisualBasic.FileIO
|
||
Imports VERAG_PROG_ALLGEMEIN
|
||
|
||
|
||
Public Class usrCntlMDMAuswertungen
|
||
|
||
Dim PathMautberichte = ""
|
||
|
||
Private Sub btnWord_Click(sender As Object, e As EventArgs) Handles btnWord.Click
|
||
If cbxDetails.Checked Then
|
||
Dim frmPrintLayout As New frmPrintLayout("AuswertungMWSTOffeneAntraegeMitVorauszahlungDetails")
|
||
frmPrintLayout.datvon = datAuswertungAb.Value
|
||
frmPrintLayout.Show()
|
||
Else
|
||
Dim frmPrintLayout As New frmPrintLayout("AuswertungMWSTOffeneAntraegeMitVorauszahlung")
|
||
frmPrintLayout.datvon = datAuswertungAb.Value
|
||
frmPrintLayout.Show()
|
||
End If
|
||
|
||
End Sub
|
||
|
||
|
||
Private Sub usrCntlMDMAuswertungen_Load(sender As Object, e As EventArgs) Handles Me.Load
|
||
datAuswertungAb.Value = CDate("01.01." & Now.Year - 1)
|
||
|
||
|
||
Dim dLastSaturday As Date = Now.AddDays(-(Now.DayOfWeek + 1))
|
||
'GET LAST SUNDAY
|
||
|
||
|
||
datWoelflVon.Value = Now.AddDays(-(Now.DayOfWeek + 6))
|
||
datWoelflBis.Value = Now.AddDays(-(Now.DayOfWeek))
|
||
|
||
cboUeberfaelligeBestLeistung.fillWithSQL("SELECT [SDLNr],cast([SDLNr] as varchar(3)) + ' ' + [SDLBez] FROM [Speditionsdienstleistungen] WHERE SDLTypNr<=2 ORDER BY SDLBez", False, "SDL", True)
|
||
datUeberfaelligeBestVon.Value = CDate("01." & Now.AddMonths(-2).Month & "." & Now.AddMonths(-2).Year)
|
||
datUeberfaelligeBestBis.Value = Now
|
||
kdUeberfaelligeBest.initKdBox(Me.FindForm)
|
||
|
||
|
||
KdSearchBox1.initKdBox(Me.FindForm)
|
||
MyComboBox1.fillWithSQL("SELECT [SDLNr],cast([SDLNr] as varchar(3)) + ' ' + [SDLBez] FROM [Speditionsdienstleistungen] WHERE SDLTypNr<=2 ORDER BY SDLBez", False, "SDL", True)
|
||
MyComboBox2.fillWithSQL("SELECT [SDLNr],cast([SDLNr] as varchar(3)) + ' ' + [SDLBez] FROM [Speditionsdienstleistungen] WHERE SDLTypNr<=2 ORDER BY SDLBez", False, "SDL", True)
|
||
|
||
KdSearchBox2.initKdBox(Me.FindForm)
|
||
datBenachrichtigungVon.Value = Now
|
||
datBenachrichtigungBis.Value = Now
|
||
|
||
datIDSVon.Value = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
|
||
datIDSBis.Value = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
|
||
|
||
datPLOSEVon.Value = CDate("01." & Now.AddMonths(-1).Month & "." & Now.AddMonths(-1).Year)
|
||
datPLOSEBis.Value = CDate("01." & Now.Month & "." & Now.Year).AddDays(-1)
|
||
|
||
cbxMautbericht.Items.Clear()
|
||
cbxMautbericht.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mautsummenbericht", "Gesamtbericht_EXCEL"))
|
||
cbxMautbericht.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mautbericht AT DE MSE UTA", "Lieferantenbericht_PDF"))
|
||
cbxMautbericht.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Mautsummenbericht als CSV-Datei", "Gesamtbericht_CSV"))
|
||
|
||
cbxDateMautbericht.Items.Clear()
|
||
cbxDateMautbericht.fillWithSQL("select distinct(cast(BillingDate as Date)) From tblMautbericht order by cast(BillingDate as Date) desc", False, "FMZOLL")
|
||
|
||
cboIDSDateType.Items.Clear()
|
||
cboIDSDateType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Rechnungsdatum", "RGDat"))
|
||
cboIDSDateType.Items.Add(New VERAG_PROG_ALLGEMEIN.MyListItem("Leistungsdatum", "LDat"))
|
||
cboIDSDateType.changeItem("RGDat")
|
||
|
||
cboSachbearbeiter.fillWithSQL("select distinct(UPPER(sachbearbeiter)) from Rechnungsausgang where Sammelrechnung=6 and Firma_ID=19", False, "FMZOLL", True)
|
||
|
||
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("MDM_Auswertungen_IDS", Me.FindForm) Then
|
||
tbcntr.TabPages.Remove(tbIDS)
|
||
End If
|
||
|
||
' MyComboBox4.fillWithSQL("SELECT [SDLNr],cast([SDLNr] as varchar(3)) + ' ' + [SDLBez] FROM [Speditionsdienstleistungen] WHERE SDLTypNr<=2 ORDER BY SDLBez", False, "SDL", True)
|
||
datLeereOBUVon.Value = CDate("01." & Now.AddMonths(-2).Month & "." & Now.AddMonths(-2).Year)
|
||
datLeereOBUbis.Value = Now
|
||
|
||
PathMautberichte = "C:\Users\d.breimaier\Desktop\MDM\Mautgesamtberichte"
|
||
|
||
End Sub
|
||
|
||
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
|
||
genCSV_startWithExcel(RadioButtonExcelAlsEMailSchicken.Checked)
|
||
End Sub
|
||
|
||
|
||
Dim WithEvents EItem As Microsoft.Office.Interop.Outlook.MailItem
|
||
Private Sub sendPerMail(path)
|
||
|
||
Dim NSpace As Microsoft.Office.Interop.Outlook.NameSpace
|
||
Dim Folder As Microsoft.Office.Interop.Outlook.MAPIFolder
|
||
Dim outApp As Microsoft.Office.Interop.Outlook.Application
|
||
|
||
outApp = New Microsoft.Office.Interop.Outlook.Application
|
||
|
||
NSpace = outApp.GetNamespace("MAPI")
|
||
Folder = NSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderSentMail)
|
||
EItem = Folder.Items.Add(Microsoft.Office.Interop.Outlook.OlItemType.olMailItem)
|
||
|
||
EItem.To = "a.rissbacher@woelfl-trans.at"
|
||
EItem.Subject = "Wölfl Rechnungen/Gutschriften"
|
||
|
||
EItem.Attachments.Add(path, OlAttachmentType.olByValue, 1, "WOELFL.csv ")
|
||
|
||
EItem.Display(False) 'öffnet das 'neue E-Mail-Form' von Outlook
|
||
|
||
End Sub
|
||
|
||
|
||
|
||
'schreibe jetzt den Text 'Body' in der geöffneten E-Mail
|
||
|
||
' Private Sub EItem_Send(ByRef Cancel As Boolean) Handles EItem.Send
|
||
' EItem.SaveAs("C:\temp\test.msg") 'wenn ich in Outlook auf 'senden' klicke, wird die Mail inkl. meinem Body gespeichert.
|
||
' End Sub
|
||
|
||
|
||
Private WithEvents p As New Process
|
||
Public Sub genCSV_startWithExcel(email)
|
||
cleartmp()
|
||
Dim sPath As String = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\MDM\tmp\" ' My.Computer.FileSystem.GetTempFileName
|
||
If Not My.Computer.FileSystem.DirectoryExists(sPath) Then
|
||
My.Computer.FileSystem.CreateDirectory(sPath)
|
||
End If
|
||
Dim sqlstr = " SELECT CASE [BelegartenNr] WHEN 71 THEN 'GS' " &
|
||
" WHEN 70 THEN 'RG' " &
|
||
" END AS [BelegArt] " &
|
||
" ,[RechnungsNr] " &
|
||
" ,CONVERT(VARCHAR(10), [RechnungsDatum], 104) as [RechnungsDatum] " &
|
||
" ,[FilialenNr],[AbfertigungsNr],[UnterNr] " &
|
||
" ,CONVERT(VARCHAR(10), [Abfertigungsdatum], 104) as [Abfertigungsdatum] " &
|
||
" ,isnull(Adressen.WölflKundenNr,'') as WölflKundenNr " &
|
||
" ,CASE WHEN [EmpfängerStraße] IS NULL THEN [EmpfängerName 1] " &
|
||
" ELSE [EmpfängerName 1] + ' ' +[EmpfängerName 2] " &
|
||
" END AS [Empfänger] " &
|
||
" ,CASE WHEN [EmpfängerStraße] IS NULL THEN [EmpfängerName 2] " &
|
||
" ELSE [EmpfängerStraße] " &
|
||
" END AS [EmpfängerAdresse 1] " &
|
||
" ,[EmpfängerOrt] as [EmpfängerAdresse 2] " &
|
||
" ,[Packstücke und Warenbezeichnung] as Beschreibung,[LeistungsNr],[LeistungsBez],[Steuersatz %] ,[SteuerpflichtigerGesamtbetrag] as [SteuerpflichtigerGesamtbetrag Netto] " &
|
||
" ,[SteuerfreierGesamtbetrag],[SteuerpflichtigerBetrag] as [SteuerpflichtigerBetrag Netto] ,[SteuerfreierBetrag] " &
|
||
" ,isNull([Anlage 1],'') Info " &
|
||
" FROM [Rechnungsausgang] inner join [RechnungsausgangPositionen] on Rechnungsausgang.[RK_ID]=RechnungsausgangPositionen.[RK_ID] " &
|
||
" inner join Adressen on Rechnungsausgang.EmpfängerKundenNr=Adressen.AdressenNr " &
|
||
" WHERE RechnungsKundenNr = 150000 " &
|
||
" and RechnungsDatum between '" & datWoelflVon.Value.ToShortDateString & "' and '" & datWoelflBis.Value.ToShortDateString & "'" &
|
||
" order by [RechnungsNr] "
|
||
' MsgBox(sqlstr)
|
||
Dim SQL As New SQL
|
||
Dim dt As DataTable = SQL.loadDgvBySql(sqlstr, "FMZOLL")
|
||
|
||
|
||
Dim fn As String = sPath & "WOELFL.csv" '" & Now.ToString("ddMMyyyyHHmmss") & ".csv"
|
||
Dim outFile As System.IO.StreamWriter = Nothing
|
||
Try
|
||
outFile = My.Computer.FileSystem.OpenTextFileWriter(fn, False)
|
||
Catch ex As System.Exception
|
||
MsgBox(ex.Message)
|
||
Exit Sub
|
||
End Try
|
||
Dim clmns As String = ""
|
||
|
||
|
||
For i = 0 To dt.Columns.Count - 1
|
||
clmns &= dt.Columns(i).ColumnName.ToString().Replace(";", ",") & ";"
|
||
Next
|
||
|
||
outFile.WriteLine(clmns)
|
||
For i = 0 To dt.Rows.Count - 1
|
||
clmns = ""
|
||
For j = 0 To dt.Columns.Count - 1
|
||
Dim o As Object = dt.Rows(i).Item(j).ToString
|
||
clmns &= dt.Rows(i).Item(j).ToString().Replace(vbNewLine, "").Replace(vbCr, "").Replace(vbLf, "").Replace("\n", "").Replace("\r", "").Replace(vbCrLf, "") & ";"
|
||
' If Not o Is Nothing AndAlso Not o.value Is Nothing Then
|
||
'clmns &= o.Value.ToString().Replace(";", ",") & ";"
|
||
' Else
|
||
' clmns &= ";"
|
||
'End If
|
||
Next
|
||
outFile.WriteLine(clmns)
|
||
Next
|
||
outFile.Close()
|
||
|
||
If email Then
|
||
sendPerMail(fn)
|
||
Else
|
||
Try
|
||
|
||
p.StartInfo.FileName = "Excel.exe"
|
||
p.StartInfo.Arguments = fn
|
||
p.EnableRaisingEvents = True
|
||
p.Start()
|
||
AddHandler p.Exited, AddressOf cleartmp 'Löscht die Temp-Dateien
|
||
|
||
Catch ex As System.Exception
|
||
MsgBox("Excel konnte nicht gestartet werden!" & vbNewLine & vbNewLine & ex.Message)
|
||
End Try
|
||
End If
|
||
|
||
End Sub
|
||
Sub cleartmp()
|
||
Dim dir = Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\MDM\tmp\"
|
||
If System.IO.Directory.Exists(dir) Then
|
||
For Each file As String In System.IO.Directory.GetFiles(dir) ' Ermittelt alle Dateien des Ordners
|
||
Try
|
||
My.Computer.FileSystem.DeleteFile(file)
|
||
Catch ex As System.Exception : MsgBox(ex.Message) : End Try
|
||
Next
|
||
End If
|
||
End Sub
|
||
|
||
|
||
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
|
||
Dim kdnr As Integer = -1
|
||
If rbtUeberfaelligeBestKd.Checked Then
|
||
If kdUeberfaelligeBest.KdNr > 0 Then
|
||
kdnr = kdUeberfaelligeBest.KdNr
|
||
Else
|
||
MsgBox("Kunde auswählen!")
|
||
Exit Sub
|
||
End If
|
||
End If
|
||
|
||
cMDMAuswertung.genUeberfaelligeBestellungen(Me.FindForm, datUeberfaelligeBestVon.Value, datUeberfaelligeBestBis.Value, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, kdnr, cboUeberfaelligeBestLeistung._value)
|
||
End Sub
|
||
|
||
Private Sub kdUeberfaelligeBest_TextChanged(sender As Object, e As EventArgs) Handles kdUeberfaelligeBest.TextChanged
|
||
rbtUeberfaelligeBestKd.Checked = True
|
||
End Sub
|
||
|
||
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
|
||
cMDMAuswertung.genSDLrief(Me.FindForm, KdSearchBox1.KdNr, MyComboBox1._value, VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME, cbxArchiv.Checked)
|
||
End Sub
|
||
|
||
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
|
||
If KdSearchBox2.KdNr <= 0 Then MsgBox("Kunde auswählen!") : Exit Sub
|
||
|
||
Dim f As New frmSDLAbholungEintrag(KdSearchBox2.KdNr, -1)
|
||
|
||
If f.ShowDialog(Me) = DialogResult.OK Then
|
||
|
||
End If
|
||
|
||
'Dim f As New frmBenachrichtignunNeueKartenBoxen(datBenachrichtigungVon.Value, datBenachrichtigungBis.Value, KdSearchBox2.KdNr)
|
||
'f.Show()
|
||
End Sub
|
||
|
||
Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
|
||
If cbxOBU.Checked Then
|
||
cMDMAuswertung.genLeereObu(Me.FindForm, datLeereOBUVon.Value, datLeereOBUbis.Value)
|
||
Else
|
||
cMDMAuswertung.genLeereObu(Me.FindForm)
|
||
End If
|
||
End Sub
|
||
|
||
Private Sub cbx_CheckedChanged(sender As Object, e As EventArgs) Handles cbxOBU.CheckedChanged
|
||
datLeereOBUVon.Enabled = sender.checked
|
||
datLeereOBUbis.Enabled = sender.checked
|
||
End Sub
|
||
|
||
Private Sub GroupBox6_Enter(sender As Object, e As EventArgs) Handles GroupBox6.Enter
|
||
|
||
End Sub
|
||
|
||
|
||
Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
|
||
Me.Cursor = Cursors.WaitCursor
|
||
Try
|
||
Dim dialog As New OpenFileDialog()
|
||
dialog.Filter = "CSV Files (*.csv)|*.csv"
|
||
If (dialog.ShowDialog() = DialogResult.OK) Then
|
||
Dim table As DataTable = convertToDT(dialog.FileName)
|
||
Dim cnt = 1
|
||
|
||
For Each r As DataRow In table.Rows
|
||
Dim IDS_Transaktionen As New IDS_Transaktionen
|
||
IDS_Transaktionen.BC_ID = cProgramFunctions.isLeerNothing(r("BC_ID"))
|
||
IDS_Transaktionen.BC_DESCR = cProgramFunctions.isLeerNothing(r("BC_DESCR"))
|
||
IDS_Transaktionen.CLUB_ID = cProgramFunctions.isLeerNothing(r("CLUB_ID"))
|
||
IDS_Transaktionen.COU_ISO_COD = cProgramFunctions.isLeerNothing(r("COU_ISO_COD"))
|
||
IDS_Transaktionen.COU_DESCR = cProgramFunctions.isLeerNothing(r("COU_DESCR"))
|
||
IDS_Transaktionen.CUST_COD = cProgramFunctions.isLeerNothing(r("CUST_COD"))
|
||
IDS_Transaktionen.CUST_LEVEL = cProgramFunctions.isLeerNothing(r("CUST_LEVEL"))
|
||
IDS_Transaktionen.CUST_NAME1 = cProgramFunctions.isLeerNothing(r("CUST_NAME1"))
|
||
IDS_Transaktionen.CARD_SER_NUM = cProgramFunctions.isLeerNothing(r("CARD_SER_NUM"))
|
||
IDS_Transaktionen.SOU_ISO_COD = cProgramFunctions.isLeerNothing(r("SOU_ISO_COD"))
|
||
IDS_Transaktionen.SOU_DESCR = cProgramFunctions.isLeerNothing(r("SOU_DESCR"))
|
||
IDS_Transaktionen.TRS_NUM = cProgramFunctions.isLeerNothing(r("TRS_NUM"))
|
||
IDS_Transaktionen.TRS_VERS_NUM = cProgramFunctions.isLeerNothing(r("TRS_VERS_NUM"))
|
||
IDS_Transaktionen.OUT_COD = cProgramFunctions.isLeerNothing(r("OUT_COD"))
|
||
IDS_Transaktionen.OUT_DESCR = cProgramFunctions.isLeerNothing(r("OUT_DESCR"))
|
||
IDS_Transaktionen.OUT_GRP_COD = cProgramFunctions.isLeerNothing(r("OUT_GRP_COD"))
|
||
IDS_Transaktionen.TRS_DATE = cProgramFunctions.isLeerNothing(r("TRS_DATE"))
|
||
IDS_Transaktionen.TOT_QTY = cProgramFunctions.isLeerNothingDblPKT(r("TOT_QTY"))
|
||
IDS_Transaktionen.PROD_NUM = cProgramFunctions.isLeerNothing(r("PROD_NUM"))
|
||
IDS_Transaktionen.PROD_DESCR = cProgramFunctions.isLeerNothing(r("PROD_DESCR"))
|
||
IDS_Transaktionen.SERVICE_PROD_NUM = cProgramFunctions.isLeerNothing(r("SERVICE_PROD_NUM"))
|
||
IDS_Transaktionen.SERVICE_PROD_DESCR = cProgramFunctions.isLeerNothing(r("SERVICE_PROD_DESCR"))
|
||
IDS_Transaktionen.SOU_CURR = cProgramFunctions.isLeerNothing(r("SOU_CURR"))
|
||
IDS_Transaktionen.ORIG_LIST_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_LIST_PRICE"))
|
||
IDS_Transaktionen.ORIG_REBATE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_REBATE"))
|
||
IDS_Transaktionen.ORIG_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_PRICE"))
|
||
IDS_Transaktionen.PLATTS_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("PLATTS_PRICE"))
|
||
IDS_Transaktionen.SC_BC_RATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_BC_RATE"))
|
||
IDS_Transaktionen.SC_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("SC_IV_BC_AMNT"))
|
||
IDS_Transaktionen.COU_BENEFICIARY_CURR = cProgramFunctions.isLeerNothing(r("COU_BENEFICIARY_CURR"))
|
||
IDS_Transaktionen.CO_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("CO_IV_BC_AMNT"))
|
||
IDS_Transaktionen.EUR_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("EUR_IV_BC_AMNT"))
|
||
IDS_Transaktionen.SC_CO_EXCHRATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_CO_EXCHRATE"))
|
||
IDS_Transaktionen.SC_EUR_EXCHRATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_EUR_EXCHRATE"))
|
||
IDS_Transaktionen.BC_INVO_DATE = cProgramFunctions.isLeerNothing(r("BC_INVO_DATE"))
|
||
IDS_Transaktionen.INVO_NUM = cProgramFunctions.isLeerNothing(r("INVO_NUM"))
|
||
IDS_Transaktionen.FIXED_OR_TOTAL = cProgramFunctions.isLeerNothing(r("FIXED_OR_TOTAL"))
|
||
IDS_Transaktionen.BC_TYPE = cProgramFunctions.isLeerNothing(r("BC_TYPE"))
|
||
IDS_Transaktionen.COU_BENEFICIARY = cProgramFunctions.isLeerNothing(r("COU_BENEFICIARY"))
|
||
IDS_Transaktionen.CUST_BENEFICIARY = cProgramFunctions.isLeerNothingDblPKT(r("CUST_BENEFICIARY"))
|
||
IDS_Transaktionen.LEVEL_BENEFICIARY = cProgramFunctions.isLeerNothingDblPKT(r("LEVEL_BENEFICIARY"))
|
||
IDS_Transaktionen.CUST_GRP_BENEFICIARY = cProgramFunctions.isLeerNothing(r("CUST_GRP_BENEFICIARY"))
|
||
'IDS_Transaktionen.Importiert = cProgramFunctions.isLeerNothing(r("Importiert"))
|
||
IDS_Transaktionen.SAVE()
|
||
'MsgBox(table.Rows.Count)
|
||
|
||
If cnt Mod 10 = 0 Then
|
||
txtIDSEinarbeitung.Text = cnt & " / " & table.Rows.Count
|
||
Dim proz As Double = (cnt / table.Rows.Count) * 100
|
||
ProgressBar.Value = proz
|
||
lblProz.Text = proz.ToString("N2") & " %"
|
||
GroupBox7.Refresh()
|
||
My.Application.DoEvents()
|
||
End If
|
||
cnt += 1
|
||
Next
|
||
ProgressBar.Value = 100
|
||
txtIDSEinarbeitung.Text = table.Rows.Count & " / " & table.Rows.Count
|
||
lblProz.Text = "100.00 %"
|
||
End If
|
||
|
||
Catch ex As System.Exception
|
||
MsgBox(ex.Message & ex.StackTrace)
|
||
End Try
|
||
Me.Cursor = Cursors.Default
|
||
End Sub
|
||
|
||
|
||
|
||
Private Shared Function convertToDT(filePath As String) As DataTable
|
||
Dim detailDataTable As New DataTable()
|
||
|
||
Dim enc As System.Text.Encoding = System.Text.Encoding.GetEncoding(1252) '1252 = ANSI
|
||
|
||
' Dim sw As New StreamWriter("textdatei.txt", True, enc)
|
||
Using csvReader As New TextFieldParser(filePath, enc)
|
||
csvReader.SetDelimiters(New String() {";"})
|
||
csvReader.HasFieldsEnclosedInQuotes = True
|
||
Dim colFields As String() = csvReader.ReadFields()
|
||
|
||
For Each column As String In colFields
|
||
Dim datecolumn As New DataColumn(column.ToLowerInvariant)
|
||
datecolumn.AllowDBNull = True
|
||
detailDataTable.Columns.Add(datecolumn)
|
||
Next
|
||
|
||
While Not csvReader.EndOfData
|
||
Dim rowData As String() = csvReader.ReadFields '//sometimes rowData convert invalid name
|
||
For i As Integer = 0 To rowData.Length - 1
|
||
'//perform operation
|
||
Next
|
||
If rowData IsNot Nothing AndAlso rowData(0) IsNot Nothing Then
|
||
If Not (rowData(0).StartsWith("#") Or String.IsNullOrEmpty(rowData(0))) Then
|
||
detailDataTable.Rows.Add(rowData)
|
||
End If
|
||
End If
|
||
End While
|
||
End Using
|
||
Return detailDataTable
|
||
End Function
|
||
|
||
Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
|
||
Dim displayFilter = False
|
||
Dim sqlstr As String = ""
|
||
sqlstr &= " SELECT COUNT(*) as COUNT,prod_descr,sou_descr, out_descr ,SUM(TOT_QTY) as TOT_QTY, MAX(SOU_CURR) as SOU_CURR,"
|
||
sqlstr &= " SUM(ORIG_LIST_PRICE) as ORIG_LIST_PRICE_SUM, COUNT(ORIG_LIST_PRICE) as ORIG_LIST_PRICE_COUNT,AVG(ORIG_LIST_PRICE) as ORIG_LIST_PRICE_AVG, "
|
||
sqlstr &= " SUM(SC_BC_RATE) as SC_BC_RATE_SUM, COUNT(SC_BC_RATE) as SC_BC_RATE_COUNT,AVG(SC_BC_RATE) as SC_BC_RATE_AVG, "
|
||
sqlstr &= " SUM(PLATTS_PRICE) as PLATTS_PRICE_SUM, COUNT(PLATTS_PRICE) as PLATTS_PRICE_COUNT,AVG(PLATTS_PRICE) as PLATTS_PRICE_AVG, "
|
||
sqlstr &= " SUM(EUR_IV_BC_AMNT) as EUR_IV_BC_AMNT"
|
||
sqlstr &= " FROM [tblIDS_Transaktionen] "
|
||
sqlstr &= " WHERE 1=1 "
|
||
Select Case cboIDSDateType._value
|
||
Case "LDat" : sqlstr &= " AND [TRS_DATE] between '" & datIDSVon.Value & "' and '" & datIDSBis.Value & "' "
|
||
Case "RGDat" : sqlstr &= " AND BC_INVO_DATE between '" & datIDSVon.Value & "' and '" & datIDSBis.Value & "' "
|
||
End Select
|
||
If txtOrt.Text <> "" Then
|
||
sqlstr &= " AND [OUT_DESCR] like '" & txtOrt.Text.Replace("*", "%") & "' "
|
||
End If
|
||
|
||
''Wenn eines nciht gesetzt ist...
|
||
'If Not cbxPlatts.Checked Or Not cbxDiesel.Checked Or Not cbxAdblue.Checked Then
|
||
' 'aber ein anderes schon...
|
||
' If cbxPlatts.Checked Or cbxDiesel.Checked Or cbxAdblue.Checked Then
|
||
' Dim orStr = ""
|
||
|
||
' sqlstr &= " AND [BC_ID] IN ("
|
||
|
||
' If cbxPlatts.Checked Then sqlstr &= orStr & "'3455'" : orStr = ","
|
||
' If cbxDiesel.Checked Then sqlstr &= orStr & "'3450'" : orStr = ","
|
||
' If cbxAdblue.Checked Then sqlstr &= orStr & "'3453'" : orStr = ","
|
||
' sqlstr &= " ) "
|
||
|
||
' End If
|
||
'End If
|
||
|
||
sqlstr &= " group by prod_descr,sou_descr, out_descr "
|
||
If cbxProdukt.Checked Then
|
||
sqlstr &= " order by prod_descr,sou_descr, out_descr "
|
||
Else
|
||
sqlstr &= " order by sou_descr, out_descr "
|
||
End If
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
||
'DataGridView.DataSource = dt
|
||
|
||
|
||
Dim print As New frmPrintLayout
|
||
print.Text = "Speditionsbericht"
|
||
|
||
Dim rpt As New rptIDS_TransaktionenSumary
|
||
|
||
rpt.DataSource = dt
|
||
|
||
|
||
If cbxProdukt.Checked Then
|
||
rpt.GroupHeader2.DataField = "prod_descr"
|
||
Else
|
||
rpt.GroupHeader2.Visible = False
|
||
rpt.GroupFooter2.Visible = False
|
||
End If
|
||
|
||
If cbxLand.Checked Then
|
||
rpt.GroupHeader1.DataField = "sou_descr"
|
||
Else
|
||
rpt.GroupHeader1.Visible = False
|
||
rpt.GroupFooter1.Visible = False
|
||
End If
|
||
|
||
'Gruppierung
|
||
'Filter anzeigen
|
||
' rpt.lblFilterTxt.Visible = displayFilter
|
||
' rpt.txtFilter.Visible = displayFilter
|
||
|
||
|
||
' If CheckBox1.Checked Then
|
||
'rpt.GroupHeader1.DataField = "FilialenNr" 'Gruppierung
|
||
' End If
|
||
' If rpt.DataSource.rows.count = 0 Then
|
||
'rpt.Dispose() : print.Dispose()
|
||
' MsgBox("Keine Daten vorhanden!")
|
||
' Exit Sub
|
||
' End If
|
||
|
||
Dim sum = 0
|
||
rpt.lblUeberschrift.Text = "IDS Transaktionen Summenbericht " & datIDSVon.Text & " bis " & datIDSBis.Text
|
||
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
|
||
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
|
||
|
||
'Dim cnt As Integer = 0
|
||
rpt.lblDat.Text = Now.ToLongDateString
|
||
|
||
|
||
Dim anzahl As Integer = 0
|
||
Dim anzahlALL As Integer = 0
|
||
Dim anzahlListenpreis As Integer = 0
|
||
Dim anzahlRate As Integer = 0
|
||
Dim anzahlPlattspreis As Integer = 0
|
||
Dim sumVolumen As Double = 0
|
||
Dim sumListenpreis As Double = 0
|
||
Dim sumPlattspreis As Double = 0
|
||
Dim sumRate As Double = 0
|
||
Dim sumBetrag As Double = 0
|
||
|
||
|
||
Dim anzahlprod As Integer = 0
|
||
Dim anzahlALLprod As Integer = 0
|
||
Dim anzahlListenpreisprod As Integer = 0
|
||
Dim anzahlRateprod As Integer = 0
|
||
Dim anzahlPlattspreisprod As Integer = 0
|
||
Dim sumVolumenprod As Double = 0
|
||
Dim sumListenpreisprod As Double = 0
|
||
Dim sumPlattspreisprod As Double = 0
|
||
Dim sumRateprod As Double = 0
|
||
Dim sumBetragprod As Double = 0
|
||
|
||
Dim anzahlLand As Integer = 0
|
||
Dim anzahlALLLand As Integer = 0
|
||
Dim anzahlListenpreisLand As Integer = 0
|
||
Dim anzahlRateLand As Integer = 0
|
||
Dim anzahlPlattspreisLand As Integer = 0
|
||
Dim sumVolumenLand As Double = 0
|
||
Dim sumListenpreisLand As Double = 0
|
||
Dim sumPlattspreisLand As Double = 0
|
||
Dim sumRateLand As Double = 0
|
||
Dim sumBetragLand As Double = 0
|
||
|
||
|
||
' rpt.lblFiliale.Text = "Alle Filialen"
|
||
|
||
AddHandler rpt.Detail.Format, Sub()
|
||
' rpt.lblProduktBeschreibung.Text = isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
|
||
rpt.lblProdukt.Text = isDbnullEmpty(rpt.Fields.Item("PROD_DESCR").Value, "")
|
||
rpt.lblLand.Text = isDbnullEmpty(rpt.Fields.Item("SOU_DESCR").Value, "")
|
||
' rpt.lblStationCode.Text = isDbnullEmpty(rpt.Fields.Item("OUT_COD").Value, "")
|
||
rpt.lblStation.Text = isDbnullEmpty(rpt.Fields.Item("OUT_DESCR").Value, "")
|
||
' rpt.lblStationGrpCod.Text = isDbnullEmpty(rpt.Fields.Item("OUT_GRP_COD").Value, "")
|
||
rpt.lblVolumen.Text = isDbnullEmptyDbl(rpt.Fields.Item("TOT_QTY").Value, 3, "")
|
||
rpt.lblWaehrung.Text = isDbnullEmpty(rpt.Fields.Item("SOU_CURR").Value, "")
|
||
rpt.lblListenpreis.Text = isDbnullEmptyDbl(rpt.Fields.Item("ORIG_LIST_PRICE_AVG").Value, 4, "")
|
||
rpt.lblPlattspreis.Text = isDbnullEmptyDbl(rpt.Fields.Item("PLATTS_PRICE_AVG").Value, 4, "")
|
||
rpt.lblRate.Text = isDbnullEmptyDbl(rpt.Fields.Item("SC_BC_RATE_AVG").Value, 4, "")
|
||
rpt.lblBetrag.Text = isDbnullEmptyDbl(rpt.Fields.Item("EUR_IV_BC_AMNT").Value, 4, "")
|
||
|
||
|
||
anzahlLand += 1
|
||
anzahlALLLand += CInt(rpt.Fields.Item("COUNT").Value)
|
||
|
||
If rpt.Fields.Item("TOT_QTY").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("TOT_QTY").Value) Then
|
||
sumVolumenLand += CDbl(rpt.Fields.Item("TOT_QTY").Value)
|
||
' anzahlVolumen += 1
|
||
End If
|
||
|
||
If rpt.Fields.Item("ORIG_LIST_PRICE_SUM").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("ORIG_LIST_PRICE_SUM").Value) Then
|
||
sumListenpreisLand += CDbl(rpt.Fields.Item("ORIG_LIST_PRICE_SUM").Value)
|
||
anzahlListenpreisLand += CInt(rpt.Fields.Item("ORIG_LIST_PRICE_COUNT").Value)
|
||
End If
|
||
|
||
If rpt.Fields.Item("SC_BC_RATE_SUM").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("SC_BC_RATE_SUM").Value) Then
|
||
sumRateLand += CDbl(rpt.Fields.Item("SC_BC_RATE_SUM").Value)
|
||
anzahlRateLand += CInt(rpt.Fields.Item("SC_BC_RATE_COUNT").Value)
|
||
End If
|
||
If rpt.Fields.Item("PLATTS_PRICE_SUM").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("PLATTS_PRICE_SUM").Value) Then
|
||
sumPlattspreisLand += CDbl(rpt.Fields.Item("PLATTS_PRICE_SUM").Value)
|
||
anzahlPlattspreisLand += CInt(rpt.Fields.Item("PLATTS_PRICE_COUNT").Value)
|
||
End If
|
||
If rpt.Fields.Item("EUR_IV_BC_AMNT").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("EUR_IV_BC_AMNT").Value) Then
|
||
sumBetragLand += CDbl(rpt.Fields.Item("EUR_IV_BC_AMNT").Value)
|
||
' anzahlVolumen += 1
|
||
End If
|
||
|
||
' sumBar += CDbl(rpt.Fields.Item("Barzahlungsbetrag").Value)
|
||
' sumAnz += CDbl(rpt.Fields.Item("Anzahl").Value)
|
||
End Sub
|
||
|
||
AddHandler rpt.GroupHeader2.Format, Sub()
|
||
rpt.lblProduktUeberschrift.Text = isDbnullEmpty(rpt.Fields.Item("prod_descr").Value, "")
|
||
rpt.lblSumProdukt.Text = "Summe " & isDbnullEmpty(rpt.Fields.Item("prod_descr").Value, "")
|
||
|
||
anzahlprod = 0
|
||
anzahlALLprod = 0
|
||
anzahlListenpreisprod = 0
|
||
anzahlRateprod = 0
|
||
anzahlPlattspreisprod = 0
|
||
sumVolumenprod = 0
|
||
sumListenpreisprod = 0
|
||
sumPlattspreisprod = 0
|
||
sumRateprod = 0
|
||
sumBetragprod = 0
|
||
|
||
End Sub
|
||
|
||
AddHandler rpt.GroupHeader1.Format, Sub()
|
||
' If CheckBox1.Checked Then rpt.lblFiliale.Text = SQL.getValueTxtBySql("SELECT CAST(FilialenNr as varchar (4)) + ' ' + Grenzstelle FROM filialen WHERE FilialenNr='" & rpt.Fields.Item("FilialenNr").Value & "'", "FMZOLL")
|
||
rpt.lblLandUeberschrift.Text = isDbnullEmpty(rpt.Fields.Item("SOU_DESCR").Value, "")
|
||
rpt.lblLandFooterLand.Text = "Summe " & isDbnullEmpty(rpt.Fields.Item("SOU_DESCR").Value, "")
|
||
|
||
|
||
|
||
anzahlLand = 0
|
||
anzahlALLLand = 0
|
||
anzahlListenpreisLand = 0
|
||
anzahlRateLand = 0
|
||
anzahlPlattspreisLand = 0
|
||
sumVolumenLand = 0
|
||
sumListenpreisLand = 0
|
||
sumPlattspreisLand = 0
|
||
sumRateLand = 0
|
||
sumBetragLand = 0
|
||
End Sub
|
||
AddHandler rpt.GroupFooter1.Format, Sub()
|
||
' rpt.lblSummeAnzahl.Text = sumAnz
|
||
' rpt.lblSummeBar.Text = sumBar.ToString("C")
|
||
|
||
anzahl += anzahlLand
|
||
anzahlALL += anzahlALLLand
|
||
sumVolumen += sumVolumenLand
|
||
sumListenpreis += sumListenpreisLand
|
||
anzahlListenpreis += anzahlListenpreisLand
|
||
sumRate += sumRateLand
|
||
anzahlRate += anzahlRateLand
|
||
sumPlattspreis += sumPlattspreisLand
|
||
anzahlPlattspreis += anzahlPlattspreisLand
|
||
sumBetrag += sumBetragLand
|
||
|
||
anzahlprod += anzahlLand
|
||
anzahlALLprod += anzahlALLLand
|
||
sumVolumenprod += sumVolumenLand
|
||
sumListenpreisprod += sumListenpreisLand
|
||
anzahlListenpreisprod += anzahlListenpreisLand
|
||
sumRateprod += sumRateLand
|
||
anzahlRateprod += anzahlRateLand
|
||
sumPlattspreisprod += sumPlattspreisLand
|
||
anzahlPlattspreisprod += anzahlPlattspreisLand
|
||
sumBetragprod += sumBetragLand
|
||
|
||
|
||
rpt.lblVolumenSumLand.Text = sumVolumenLand.ToString("N3")
|
||
rpt.lblListenpreisAvgLand.Text = If(anzahlListenpreisLand > 0, (sumListenpreisLand / anzahlListenpreisLand).ToString("N4"), "")
|
||
rpt.lblRateAVGLand.Text = If(anzahlRateLand > 0, (sumRateLand / anzahlRateLand).ToString("N4"), "")
|
||
rpt.lblPlattspreisAVGLand.Text = If(anzahlPlattspreisLand > 0, (sumPlattspreisLand / anzahlPlattspreisLand).ToString("N4"), "")
|
||
rpt.lblBetragSUMLand.Text = sumBetragLand.ToString("N4")
|
||
rpt.lblAnzahlGesLand.Text = anzahlLand & " Einträge"
|
||
rpt.lblAnzahlGesLand2.Text = anzahlALLLand & " Transaktionen"
|
||
End Sub
|
||
|
||
AddHandler rpt.GroupFooter2.Format, Sub()
|
||
' rpt.lblSummeAnzahl.Text = sumAnz
|
||
' rpt.lblSummeBar.Text = sumBar.ToString("C")
|
||
|
||
rpt.lblVolumenSumProd.Text = sumVolumenprod.ToString("N3")
|
||
rpt.lblListenpreisAvgProd.Text = If(anzahlListenpreisprod > 0, (sumListenpreisprod / anzahlListenpreisprod).ToString("N4"), "")
|
||
rpt.lblRateAVGProd.Text = If(anzahlRateprod > 0, (sumRateprod / anzahlRateprod).ToString("N4"), "")
|
||
rpt.lblPlattspreisAVGProd.Text = If(anzahlPlattspreisprod > 0, (sumPlattspreisprod / anzahlPlattspreisprod).ToString("N4"), "")
|
||
rpt.lblBetragSUMProd.Text = sumBetragprod.ToString("N4")
|
||
rpt.lblAnzahlGesProd.Text = anzahlprod & " Einträge"
|
||
rpt.lblAnzahlGesProd2.Text = anzahlALLprod & " Transaktionen"
|
||
End Sub
|
||
AddHandler rpt.ReportFooter1.Format, Sub()
|
||
' rpt.lblSummeAnzahl.Text = sumAnz
|
||
' rpt.lblSummeBar.Text = sumBar.ToString("C")
|
||
rpt.lblVolumenSum.Text = sumVolumen.ToString("N3")
|
||
rpt.lblListenpreisAvg.Text = If(anzahlListenpreis > 0, (sumListenpreis / anzahlListenpreis).ToString("N4"), "")
|
||
rpt.lblRateAVG.Text = If(anzahlRate > 0, (sumRate / anzahlRate).ToString("N4"), "")
|
||
rpt.lblPlattspreisAVG.Text = If(anzahlPlattspreis > 0, (sumPlattspreis / anzahlPlattspreis).ToString("N4"), "")
|
||
rpt.lblBetragSUM.Text = sumBetrag.ToString("N4")
|
||
rpt.lblAnzahlGes.Text = anzahl & " Einträge"
|
||
rpt.lblAnzahlGes2.Text = anzahlALL & " Transaktionen"
|
||
End Sub
|
||
|
||
print.Viewer.LoadDocument(rpt)
|
||
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
||
print.Show()
|
||
End Sub
|
||
Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
|
||
Dim displayFilter = False
|
||
Dim sqlstr As String = ""
|
||
sqlstr &= " SELECT * FROM [tblIDS_Transaktionen] "
|
||
sqlstr &= " WHERE 1=1 "
|
||
Select Case cboIDSDateType._value
|
||
Case "LDat" : sqlstr &= " AND [TRS_DATE] between '" & datIDSVon.Value & "' and '" & datIDSBis.Value & "' "
|
||
Case "RGDat" : sqlstr &= " AND BC_INVO_DATE between '" & datIDSVon.Value & "' and '" & datIDSBis.Value & "' "
|
||
End Select
|
||
If txtOrt.Text <> "" Then
|
||
sqlstr &= " AND [OUT_DESCR] like '" & txtOrt.Text.Replace("*", "%") & "' "
|
||
End If
|
||
|
||
''Wenn eines nciht gesetzt ist...
|
||
'If Not cbxPlatts.Checked Or Not cbxDiesel.Checked Or Not cbxAdblue.Checked Then
|
||
' 'aber ein anderes schon...
|
||
' If cbxPlatts.Checked Or cbxDiesel.Checked Or cbxAdblue.Checked Then
|
||
' Dim orStr = ""
|
||
|
||
' sqlstr &= " AND [BC_ID] IN ("
|
||
|
||
' If cbxPlatts.Checked Then sqlstr &= orStr & "'3455'" : orStr = ","
|
||
' If cbxDiesel.Checked Then sqlstr &= orStr & "'3450'" : orStr = ","
|
||
' If cbxAdblue.Checked Then sqlstr &= orStr & "'3453'" : orStr = ","
|
||
' sqlstr &= " ) "
|
||
|
||
' End If
|
||
'End If
|
||
|
||
sqlstr &= " order by prod_descr,COU_descr, out_descr "
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
||
'DataGridView.DataSource = dt
|
||
|
||
|
||
Dim print As New frmPrintLayout
|
||
print.Text = "Speditionsbericht"
|
||
|
||
Dim rpt As New rptIDS_Transaktionen
|
||
|
||
rpt.DataSource = dt
|
||
|
||
'Filter anzeigen
|
||
' rpt.lblFilterTxt.Visible = displayFilter
|
||
' rpt.txtFilter.Visible = displayFilter
|
||
|
||
|
||
' If CheckBox1.Checked Then
|
||
'rpt.GroupHeader1.DataField = "FilialenNr" 'Gruppierung
|
||
' End If
|
||
' If rpt.DataSource.rows.count = 0 Then
|
||
'rpt.Dispose() : print.Dispose()
|
||
' MsgBox("Keine Daten vorhanden!")
|
||
' Exit Sub
|
||
' End If
|
||
|
||
Dim sum = 0
|
||
rpt.lblUeberschrift.Text = "IDS Transaktionen " & datIDSVon.Text & " bis " & datIDSBis.Text
|
||
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
|
||
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
|
||
|
||
'Dim cnt As Integer = 0
|
||
rpt.lblDat.Text = Now.ToLongDateString
|
||
Dim sumAnz As Double = 0
|
||
Dim sumBar As Double = 0
|
||
|
||
|
||
Dim anzahl As Integer = 0
|
||
'Dim anzahlVolumen As Integer = 0
|
||
Dim anzahlListenpreis As Integer = 0
|
||
Dim anzahlRate As Integer = 0
|
||
Dim anzahlPlattspreis As Integer = 0
|
||
' Dim anzahlBetrag As Integer = 0
|
||
Dim sumVolumen As Double = 0
|
||
Dim sumListenpreis As Double = 0
|
||
Dim sumPlattspreis As Double = 0
|
||
Dim sumRate As Double = 0
|
||
Dim sumBetrag As Double = 0
|
||
|
||
' rpt.lblFiliale.Text = "Alle Filialen"
|
||
|
||
AddHandler rpt.Detail.Format, Sub()
|
||
' rpt.lblProduktBeschreibung.Text = isDbnullEmpty(rpt.Fields.Item("BC_DESCR").Value, "")
|
||
rpt.lblLand.Text = isDbnullEmpty(rpt.Fields.Item("SOU_DESCR").Value, "")
|
||
rpt.lblStationCode.Text = isDbnullEmpty(rpt.Fields.Item("OUT_COD").Value, "")
|
||
rpt.lblStation.Text = isDbnullEmpty(rpt.Fields.Item("OUT_DESCR").Value, "")
|
||
rpt.lblStationGrpCod.Text = isDbnullEmpty(rpt.Fields.Item("OUT_GRP_COD").Value, "")
|
||
rpt.lblVolumen.Text = isDbnullEmptyDbl(rpt.Fields.Item("TOT_QTY").Value, 2, "")
|
||
rpt.lblProdukt.Text = isDbnullEmpty(rpt.Fields.Item("PROD_DESCR").Value, "")
|
||
rpt.lblWaehrung.Text = isDbnullEmpty(rpt.Fields.Item("SOU_CURR").Value, "")
|
||
rpt.lblListenpreis.Text = isDbnullEmptyDbl(rpt.Fields.Item("ORIG_LIST_PRICE").Value, 4, "")
|
||
rpt.lblPlattspreis.Text = isDbnullEmptyDbl(rpt.Fields.Item("PLATTS_PRICE").Value, 4, "")
|
||
rpt.lblRate.Text = isDbnullEmptyDbl(rpt.Fields.Item("SC_BC_RATE").Value, 4, "")
|
||
rpt.lblBetrag.Text = isDbnullEmptyDbl(rpt.Fields.Item("EUR_IV_BC_AMNT").Value, 4, "")
|
||
|
||
|
||
anzahl += 1
|
||
|
||
If rpt.Fields.Item("TOT_QTY").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("TOT_QTY").Value) Then
|
||
sumVolumen += CDbl(rpt.Fields.Item("TOT_QTY").Value)
|
||
' anzahlVolumen += 1
|
||
End If
|
||
|
||
If rpt.Fields.Item("ORIG_LIST_PRICE").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("ORIG_LIST_PRICE").Value) Then
|
||
sumListenpreis += CDbl(rpt.Fields.Item("ORIG_LIST_PRICE").Value)
|
||
anzahlListenpreis += 1
|
||
End If
|
||
|
||
If rpt.Fields.Item("SC_BC_RATE").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("SC_BC_RATE").Value) Then
|
||
sumRate += CDbl(rpt.Fields.Item("SC_BC_RATE").Value)
|
||
anzahlRate += 1
|
||
End If
|
||
If rpt.Fields.Item("PLATTS_PRICE").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("PLATTS_PRICE").Value) Then
|
||
sumPlattspreis += CDbl(rpt.Fields.Item("PLATTS_PRICE").Value)
|
||
anzahlPlattspreis += 1
|
||
End If
|
||
If rpt.Fields.Item("EUR_IV_BC_AMNT").Value IsNot Nothing AndAlso IsNumeric(rpt.Fields.Item("EUR_IV_BC_AMNT").Value) Then
|
||
sumBetrag += CDbl(rpt.Fields.Item("EUR_IV_BC_AMNT").Value)
|
||
' anzahlVolumen += 1
|
||
End If
|
||
|
||
End Sub
|
||
AddHandler rpt.GroupHeader1.Format, Sub()
|
||
' If CheckBox1.Checked Then rpt.lblFiliale.Text = SQL.getValueTxtBySql("SELECT CAST(FilialenNr as varchar (4)) + ' ' + Grenzstelle FROM filialen WHERE FilialenNr='" & rpt.Fields.Item("FilialenNr").Value & "'", "FMZOLL")
|
||
' sumAnz = 0
|
||
' sumBar = 0
|
||
End Sub
|
||
AddHandler rpt.GroupFooter1.Format, Sub()
|
||
rpt.lblVolumenSum.Text = sumVolumen.ToString("N3")
|
||
rpt.lblListenpreisAvg.Text = If(anzahlListenpreis > 0, (sumListenpreis / anzahlListenpreis).ToString("N4"), "")
|
||
rpt.lblRateAVG.Text = If(anzahlRate > 0, (sumRate / anzahlRate).ToString("N4"), "")
|
||
rpt.lblPlattspreisAVG.Text = If(anzahlPlattspreis > 0, (sumPlattspreis / anzahlPlattspreis).ToString("N4"), "")
|
||
rpt.lblBetragSUM.Text = sumBetrag.ToString("N4")
|
||
rpt.lblAnzahlGes.Text = anzahl & " Transaktionen"
|
||
|
||
End Sub
|
||
|
||
print.Viewer.LoadDocument(rpt)
|
||
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
||
print.Show()
|
||
End Sub
|
||
|
||
Function isDbnullEmpty(o As Object, return_value As Object) As String
|
||
If IsDBNull(o) Then : isDbnullEmpty = return_value
|
||
ElseIf IsNothing(o) Then : isDbnullEmpty = return_value
|
||
Else : isDbnullEmpty = o.ToString
|
||
End If
|
||
End Function
|
||
Function isDbnullEmptyCurr(o As Object, return_value As Object) As String
|
||
If IsDBNull(o) Then : isDbnullEmptyCurr = return_value
|
||
ElseIf IsNothing(o) Then : isDbnullEmptyCurr = return_value
|
||
Else : isDbnullEmptyCurr = CDbl(o).ToString("C")
|
||
End If
|
||
End Function
|
||
Function isDbnullEmptyDbl(o As Object, kommastellen As Integer, return_value As Object) As String
|
||
If IsDBNull(o) Then : isDbnullEmptyDbl = return_value
|
||
ElseIf IsNothing(o) Then : isDbnullEmptyDbl = return_value
|
||
Else : isDbnullEmptyDbl = CDbl(o).ToString("N" & If(kommastellen > 0, kommastellen, ""))
|
||
End If
|
||
End Function
|
||
|
||
Private Sub Button11_Click(sender As Object, e As EventArgs) Handles Button11.Click
|
||
Me.Cursor = Cursors.WaitCursor
|
||
If MyComboBox2._value = "" Then Me.Cursor = Cursors.Default : Exit Sub
|
||
|
||
Dim SQLstr = "SELECT sdl.[KundenNr], (SELECT isnull(ordnungsbegriff,'') FROM [VERAG].dbo.adressen where [VERAG].dbo.adressen.AdressenNr=sdl.KundenNr ) as Firma,count(*) [Anzahl Leistung]"
|
||
SQLstr &= " FROM [SDL].[dbo].[SDL] inner join [KundenSDL] on [KundenSDL].SDLnr=sdl.SDLNr and [KundenSDL].KundenNr=sdl.KundenNr"
|
||
SQLstr &= " where SDL.SDLNr = '" & MyComboBox2._value & "' And Sperre = 0 And Archiviert = 0 AND isnull([Gesperrt],'')=0 AND isnull([Defekt],'')=0 AND isnull([Verloren],'')=0 AND isnull([Gestohlen],'')=0 AND isnull([Retourniert],'')=0 "
|
||
SQLstr &= " group by sdl.KundenNr"
|
||
|
||
Dim VSQL = New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim dt = VSQL.loadDgvBySql(SQLstr, "SDL")
|
||
' dt.Columns.Add("VersicherungsBetrag", Type.GetType("System.Double"))
|
||
' For Each r In dt.Rows
|
||
'r("VersicherungsBetrag") = getVersBetrag(r("Risiko"), r("Versicherungssumme"))
|
||
' Next
|
||
' dt.Columns("VersicherungsBetrag").ColumnName = "V-Betrag"
|
||
|
||
'If cbxFormatNumbers.Checked Then
|
||
' cProgramFunctions.genExcelFromDT_NEW(dt, {"E1:E" & (dt.Rows.Count + 1), "H1:M" & (dt.Rows.Count + 1), "O1:P" & (dt.Rows.Count + 1)})
|
||
' Else
|
||
cProgramFunctions.genExcelFromDT_NEW(dt)
|
||
' End If
|
||
|
||
'cProgramFunctions.genExcelFromDT_NEW(dt)
|
||
'cProgramFunctions.genExcelFromDT_NEW(dt, , False)
|
||
Me.Cursor = Cursors.Default
|
||
End Sub
|
||
|
||
Private Sub Button9_Click(sender As Object, e As EventArgs) Handles Button9.Click
|
||
Me.Cursor = Cursors.WaitCursor
|
||
If MyComboBox2._value = "" Then Me.Cursor = Cursors.Default : Exit Sub
|
||
|
||
Dim SQLstr = "SELECT sdl.SDLNr, sdl.[KundenNr], (SELECT isnull(ordnungsbegriff,'') FROM [VERAG].dbo.adressen where [VERAG].dbo.adressen.AdressenNr=sdl.KundenNr ) as Firma,kfzkennzeichen, "
|
||
SQLstr &= " cast(CASE sdl.[SDLNr] "
|
||
SQLstr &= " WHEN '207' THEN cast([FREJUS-CARD-Nr] as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '100' THEN cast(KartenNr as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '101' THEN cast(KartenNr as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '202' THEN cast([TELEPASS-Nr] as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '208' THEN cast(KartenNr as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '211' THEN cast([PAN-Nr] as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '210' THEN cast([SERIE-Nr] as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '212' THEN cast(KartenNr as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '213' THEN cast(OBUID as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '214' THEN cast(OBUID as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '215' THEN cast([TELEPASS-Nr] as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '216' THEN cast(OBUID as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '203' THEN cast(KartenNr as VARCHAR(200)) "
|
||
SQLstr &= " WHEN '209' THEN cast([MSE-Kd-Nr] as VARCHAR(200)) "
|
||
SQLstr &= " Else '-' "
|
||
SQLstr &= " END as VARCHAR(200)) AS KarteBoxNr,"
|
||
SQLstr &= " isnull(sdl.vermerk,'') as Vermerk,isnull(Gesperrt,0) as Gesperrt, isnull(Defekt,0) as Defekt,isnull(Verloren,0) as Verloren,isnull(Gestohlen,0) as Gestohlen,isnull(Ersatzkarte,0) as Ersatzkarte "
|
||
SQLstr &= " FROM [SDL] inner join [KundenSDL] on [KundenSDL].SDLnr=sdl.SDLNr and [KundenSDL].KundenNr=sdl.KundenNr"
|
||
SQLstr &= " where SDL.SDLNr = '" & MyComboBox2._value & "' And Sperre = 0 And Archiviert = 0 AND isnull([Gesperrt],'')=0 AND isnull([Defekt],'')=0 AND isnull([Verloren],'')=0 AND isnull([Gestohlen],'')=0 AND isnull([Retourniert],'')=0 "
|
||
SQLstr &= " order by Firma"
|
||
|
||
Dim VSQL = New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim dt = VSQL.loadDgvBySql(SQLstr, "SDL")
|
||
' dt.Columns.Add("VersicherungsBetrag", Type.GetType("System.Double"))
|
||
' For Each r In dt.Rows
|
||
'r("VersicherungsBetrag") = getVersBetrag(r("Risiko"), r("Versicherungssumme"))
|
||
' Next
|
||
' dt.Columns("VersicherungsBetrag").ColumnName = "V-Betrag"
|
||
|
||
'If cbxFormatNumbers.Checked Then
|
||
' cProgramFunctions.genExcelFromDT_NEW(dt, {"E1:E" & (dt.Rows.Count + 1), "H1:M" & (dt.Rows.Count + 1), "O1:P" & (dt.Rows.Count + 1)})
|
||
' Else
|
||
cProgramFunctions.genExcelFromDT_NEW(dt)
|
||
' End If
|
||
|
||
'cProgramFunctions.genExcelFromDT_NEW(dt)
|
||
'cProgramFunctions.genExcelFromDT_NEW(dt, , False)
|
||
Me.Cursor = Cursors.Default
|
||
|
||
End Sub
|
||
|
||
|
||
Private Sub Button10_Click(sender As Object, e As EventArgs) Handles Button10.Click
|
||
VERAG_PROG_ALLGEMEIN.SDL_Functions.SDL_GueltigBis_UTA_IDS()
|
||
End Sub
|
||
|
||
Private Sub ProgressBar1_Click(sender As Object, e As EventArgs) Handles ProgressBar1.Click
|
||
|
||
End Sub
|
||
|
||
Private Sub Button12_Click(sender As Object, e As EventArgs) Handles Button12.Click
|
||
Me.Cursor = Cursors.WaitCursor
|
||
|
||
Try
|
||
Dim dialog As New OpenFileDialog()
|
||
dialog.Filter = "CSV Files (*.csv)|*.csv"
|
||
If (dialog.ShowDialog() = DialogResult.OK) Then
|
||
Dim table As DataTable = convertToDT(dialog.FileName)
|
||
Dim cnt = 1
|
||
|
||
For Each r As DataRow In table.Rows
|
||
Dim IDS_Transaktionen As New IDS_Transaktionen
|
||
IDS_Transaktionen.BC_ID = cProgramFunctions.isLeerNothing(r("BC_ID"))
|
||
IDS_Transaktionen.BC_DESCR = cProgramFunctions.isLeerNothing(r("BC_DESCR"))
|
||
IDS_Transaktionen.CLUB_ID = cProgramFunctions.isLeerNothing(r("CLUB_ID"))
|
||
IDS_Transaktionen.COU_ISO_COD = cProgramFunctions.isLeerNothing(r("COU_ISO_COD"))
|
||
IDS_Transaktionen.COU_DESCR = cProgramFunctions.isLeerNothing(r("COU_DESCR"))
|
||
IDS_Transaktionen.CUST_COD = cProgramFunctions.isLeerNothing(r("CUST_COD"))
|
||
IDS_Transaktionen.CUST_LEVEL = cProgramFunctions.isLeerNothing(r("CUST_LEVEL"))
|
||
IDS_Transaktionen.CUST_NAME1 = cProgramFunctions.isLeerNothing(r("CUST_NAME1"))
|
||
IDS_Transaktionen.CARD_SER_NUM = cProgramFunctions.isLeerNothing(r("CARD_SER_NUM"))
|
||
IDS_Transaktionen.SOU_ISO_COD = cProgramFunctions.isLeerNothing(r("SOU_ISO_COD"))
|
||
IDS_Transaktionen.SOU_DESCR = cProgramFunctions.isLeerNothing(r("SOU_DESCR"))
|
||
IDS_Transaktionen.TRS_NUM = cProgramFunctions.isLeerNothing(r("TRS_NUM"))
|
||
IDS_Transaktionen.TRS_VERS_NUM = cProgramFunctions.isLeerNothing(r("TRS_VERS_NUM"))
|
||
IDS_Transaktionen.OUT_COD = cProgramFunctions.isLeerNothing(r("OUT_COD"))
|
||
IDS_Transaktionen.OUT_DESCR = cProgramFunctions.isLeerNothing(r("OUT_DESCR"))
|
||
IDS_Transaktionen.OUT_GRP_COD = cProgramFunctions.isLeerNothing(r("OUT_GRP_COD"))
|
||
IDS_Transaktionen.TRS_DATE = cProgramFunctions.isLeerNothing(r("TRS_DATE"))
|
||
IDS_Transaktionen.TOT_QTY = cProgramFunctions.isLeerNothingDblPKT(r("TOT_QTY"))
|
||
IDS_Transaktionen.PROD_NUM = cProgramFunctions.isLeerNothing(r("PROD_NUM"))
|
||
IDS_Transaktionen.PROD_DESCR = cProgramFunctions.isLeerNothing(r("PROD_DESCR"))
|
||
IDS_Transaktionen.SERVICE_PROD_NUM = cProgramFunctions.isLeerNothing(r("SERVICE_PROD_NUM"))
|
||
IDS_Transaktionen.SERVICE_PROD_DESCR = cProgramFunctions.isLeerNothing(r("SERVICE_PROD_DESCR"))
|
||
IDS_Transaktionen.SOU_CURR = cProgramFunctions.isLeerNothing(r("SOU_CURR"))
|
||
IDS_Transaktionen.ORIG_LIST_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_LIST_PRICE"))
|
||
IDS_Transaktionen.ORIG_REBATE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_REBATE"))
|
||
IDS_Transaktionen.ORIG_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("ORIG_PRICE"))
|
||
IDS_Transaktionen.PLATTS_PRICE = cProgramFunctions.isLeerNothingDblPKT(r("PLATTS_PRICE"))
|
||
IDS_Transaktionen.SC_BC_RATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_BC_RATE"))
|
||
IDS_Transaktionen.SC_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("SC_IV_BC_AMNT"))
|
||
IDS_Transaktionen.COU_BENEFICIARY_CURR = cProgramFunctions.isLeerNothing(r("COU_BENEFICIARY_CURR"))
|
||
IDS_Transaktionen.CO_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("CO_IV_BC_AMNT"))
|
||
IDS_Transaktionen.EUR_IV_BC_AMNT = cProgramFunctions.isLeerNothingDblPKT(r("EUR_IV_BC_AMNT"))
|
||
IDS_Transaktionen.SC_CO_EXCHRATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_CO_EXCHRATE"))
|
||
IDS_Transaktionen.SC_EUR_EXCHRATE = cProgramFunctions.isLeerNothingDblPKT(r("SC_EUR_EXCHRATE"))
|
||
IDS_Transaktionen.BC_INVO_DATE = cProgramFunctions.isLeerNothing(r("BC_INVO_DATE"))
|
||
IDS_Transaktionen.INVO_NUM = cProgramFunctions.isLeerNothing(r("INVO_NUM"))
|
||
IDS_Transaktionen.FIXED_OR_TOTAL = cProgramFunctions.isLeerNothing(r("FIXED_OR_TOTAL"))
|
||
IDS_Transaktionen.BC_TYPE = cProgramFunctions.isLeerNothing(r("BC_TYPE"))
|
||
IDS_Transaktionen.COU_BENEFICIARY = cProgramFunctions.isLeerNothing(r("COU_BENEFICIARY"))
|
||
IDS_Transaktionen.CUST_BENEFICIARY = cProgramFunctions.isLeerNothingDblPKT(r("CUST_BENEFICIARY"))
|
||
IDS_Transaktionen.LEVEL_BENEFICIARY = cProgramFunctions.isLeerNothingDblPKT(r("LEVEL_BENEFICIARY"))
|
||
IDS_Transaktionen.CUST_GRP_BENEFICIARY = cProgramFunctions.isLeerNothing(r("CUST_GRP_BENEFICIARY"))
|
||
'IDS_Transaktionen.Importiert = cProgramFunctions.isLeerNothing(r("Importiert"))
|
||
IDS_Transaktionen.SAVE()
|
||
'MsgBox(table.Rows.Count)
|
||
|
||
If cnt Mod 10 = 0 Then
|
||
txtIDSEinarbeitung.Text = cnt & " / " & table.Rows.Count
|
||
Dim proz As Double = (cnt / table.Rows.Count) * 100
|
||
ProgressBar.Value = proz
|
||
lblProz.Text = proz.ToString("N2") & " %"
|
||
GroupBox7.Refresh()
|
||
My.Application.DoEvents()
|
||
End If
|
||
cnt += 1
|
||
Next
|
||
ProgressBar.Value = 100
|
||
txtIDSEinarbeitung.Text = table.Rows.Count & " / " & table.Rows.Count
|
||
lblProz.Text = "100.00 %"
|
||
End If
|
||
|
||
Catch ex As System.Exception
|
||
MsgBox(ex.Message & ex.StackTrace)
|
||
End Try
|
||
Me.Cursor = Cursors.Default
|
||
End Sub
|
||
|
||
|
||
|
||
Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click
|
||
Dim f As New frmMDMDatenverarbetiung
|
||
f.Show()
|
||
End Sub
|
||
|
||
Private Sub Button14_Click(sender As Object, e As EventArgs) Handles Button14.Click
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
|
||
Dim ok As Boolean = True
|
||
Dim Sachbearbeiter = cboSachbearbeiter._value
|
||
Dim rechnungsdatum As Date = CDate(dtRechnungsdatum.Text)
|
||
|
||
If rechnungsdatum > Today() Then
|
||
MsgBox("Rechnungsdatum liegt in der Zukunft, nicht möglich")
|
||
Exit Sub
|
||
|
||
End If
|
||
|
||
If Sachbearbeiter = "" Then
|
||
MsgBox("Sachbearbeiter auswählen!")
|
||
Exit Sub
|
||
End If
|
||
|
||
If PathMautberichte = "" OrElse Not Directory.Exists(PathMautberichte) Then
|
||
MsgBox("Pfad zu den Mautberichten nicht vorhanden!" & vbNewLine & "Vorang wird abgebrochen!")
|
||
Exit Sub
|
||
ElseIf Directory.Exists(PathMautberichte) Then
|
||
|
||
If Directory.GetFiles(PathMautberichte) Is Nothing Then
|
||
MsgBox("Pfad " & PathMautberichte & " enthält keine Daten!" & vbNewLine & "Vorang wird abgebrochen!")
|
||
Exit Sub
|
||
End If
|
||
|
||
|
||
End If
|
||
|
||
|
||
|
||
'---------------DONE
|
||
' ' Sachbearbeiter im RK eintragen.
|
||
'140 Call SysCmd(acSysCmdSetStatus, "Sachbearbeiter im RK eintragen...")
|
||
'150 Call ReDruSchnSachbearbeiter
|
||
'Update [Rechnungsausgang] SET [Sachbearbeiter] = @Sachbearbeiter WHERE([Firma_ID] = 1 Or [Firma_ID] = 15) And [Status] = 0 And [Sammelrechnung] = 6 And [Sachbearbeiter] <> @Sachbearbeiter And (SteuerpflichtigerGesamtbetrag <> 0 Or SteuerfreierGesamtbetrag <> 0);
|
||
|
||
|
||
'---------------DONE
|
||
' ' Firma_ID im RK eintragen.
|
||
'180 Call SysCmd(acSysCmdSetStatus, "Firma_ID im RK eintragen...")
|
||
'190 Call ReDruSchnFirma_ID
|
||
'Update [Rechnungsausgang] SET [Firma_ID] = @Firma_ID WHERE [Firma_ID] <> @Firma_ID And [Status] = 0 And [Sammelrechnung] = 6 And [Sachbearbeiter] = @Sachbearbeiter And (SteuerpflichtigerGesamtbetrag <> 0 Or SteuerfreierGesamtbetrag <> 0);
|
||
|
||
|
||
' ' Rechnung oder Gutschrift im RK eintragen.
|
||
'220 Call SysCmd(acSysCmdSetStatus, "Re/Gu im RK eintragen...")
|
||
'230 Call ReDruSumReGu
|
||
|
||
'---------------DONE
|
||
' ' Rechnungstext im RK eintragen.
|
||
'260 Call SysCmd(acSysCmdSetStatus, "Text im RK eintragen...")
|
||
'270 Call Rechnungstext
|
||
|
||
'---------------DONE
|
||
' ' Porto/Papiere berechnen.
|
||
'300 Call SysCmd(acSysCmdSetStatus, "Porto/Papiere berechnen...")
|
||
'310 Call ReDruSchnPP
|
||
|
||
'---------------DONE
|
||
' ' Banküberweisung/Bankspesen berechnen
|
||
'340 Call SysCmd(acSysCmdSetStatus, "Banküberweisung/Bankspesen berechnen...")
|
||
'350 Call ReDruSchnBB
|
||
|
||
|
||
' ' Druckinformationen im RK eintragen----- ALTER..........
|
||
'380 Call SysCmd(acSysCmdSetStatus, "Druckinformationen im RK eintragen...")
|
||
'390 varDatumZeit = Now 'Druckdatum/Uhrzeit merken.
|
||
' ' Parameter übergeben: Firma_ID, Status, Sammelrechnung, Sachbearbeiter, Buchungsjahr, Rechnungsdatum, DruckDatumZeit.
|
||
'400 strParameter = ParameterBereitstellen(Me![Firma_ID], 0, 6, Me![fldSachbearbeiter], Year(Me!fldRechnungsDatum), Me![fldRechnungsDatum], varDatumZeit)
|
||
'410 Set qdf = dbs.CreateQueryDef("")
|
||
|
||
|
||
ok = SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='" & Sachbearbeiter & "' where Sammelrechnung=6 and Firma_ID=19 and UPPER([Sachbearbeiter])<>'" & Sachbearbeiter & "' and Abfertigungsdatum = '" & dtRechnungsdatum.Value & "'", "FMZOLL")
|
||
|
||
If Not VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then Exit Sub
|
||
|
||
|
||
If Not ok Then MsgBox("Fehler") : Exit Sub
|
||
|
||
Dim dtREGU As DataTable = SQL.loadDgvBySql("SELECT [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], isnull([Steuersatz %],0) as [Steuersatz %], cast([Lastschrift] as bit) as Lastschrift, Sum([SteuerpflichtigerGesamtbetrag]+[SteuerfreierGesamtbetrag]) AS Sammelrechnungsbetrag
|
||
FROM Rechnungsausgang
|
||
WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
|
||
GROUP BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], [Steuersatz %], [Lastschrift]", "FMZOLL")
|
||
|
||
|
||
'RECHNUNG ODER GUTSCHRIFT
|
||
'Rechnung oder Gutschrift im RK eintragen, abhängig vom Sammelrechnungsbetrag (+/-)
|
||
|
||
If dtREGU.Rows.Count > 0 Then
|
||
|
||
For Each r In dtREGU.Rows
|
||
|
||
Dim BelegartenNr As Integer
|
||
Dim BelegartenKz As String
|
||
Dim BelegartenBez As String
|
||
Dim Vorzeichen As String
|
||
|
||
If r("Sammelrechnungsbetrag") >= 0 Then
|
||
|
||
BelegartenNr = 70
|
||
BelegartenKz = "AR"
|
||
BelegartenBez = "Rechnung"
|
||
Vorzeichen = "+"
|
||
|
||
Else
|
||
BelegartenNr = 71
|
||
BelegartenKz = "AG"
|
||
BelegartenBez = "Gutschrift"
|
||
Vorzeichen = "-"
|
||
|
||
End If
|
||
|
||
Dim steuersatz As Double = Math.floor(r("Steuersatz %"))
|
||
|
||
ok = SQL.doSQL("UPDATE [Rechnungsausgang] SET [BelegartenNr] = " & BelegartenNr & ", [BelegartenKz] = '" & BelegartenKz & "' , [BelegartenBez] = '" & BelegartenBez & "' , [Vorzeichen] = '" & Vorzeichen & "'
|
||
WHERE [Firma_ID] = 19 AND [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter])= '" & Sachbearbeiter & "' AND [RechnungsKundenNr] = " & r("RechnungsKundenNr") & " AND [Währungscode] = '" & r("Währungscode") & "' AND [Steuersatz %] = " & steuersatz & " AND [Lastschrift] = " & IIf(r("Lastschrift"), 1, 0) & "AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'", "FMZOLL")
|
||
|
||
|
||
If Not ok Then MsgBox("Rechnungsdruck wird abgebrochen." & vbCrLf & "Rechnungen/Gutschriften nicht gefunden.") : Exit Sub
|
||
|
||
Next
|
||
|
||
End If
|
||
|
||
Dim dtSammelrechnungen As New DataTable
|
||
|
||
'Rechnungstext im RK eintragen
|
||
setRechnungstext(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen)
|
||
|
||
' Porto/Papiere berechnen.
|
||
PortoPapiere(Sachbearbeiter, rechnungsdatum)
|
||
|
||
'Berechnet Banküberweisung/Bankspesen.
|
||
Bankspesen(Sachbearbeiter, rechnungsdatum)
|
||
|
||
'Gesamtmautberichte an Sammelrechnung anhängen
|
||
'If Not setMautgesamtberichtInRechnung(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen) Then
|
||
'Exit Sub
|
||
'End If
|
||
|
||
'Druckinformationen
|
||
If Not setStatus4(Sachbearbeiter, rechnungsdatum, dtSammelrechnungen) Then
|
||
MsgBox("Fehler beim Setzen des Status")
|
||
Else
|
||
MsgBox("Erledigt.")
|
||
End If
|
||
|
||
|
||
End Sub
|
||
|
||
Private Function PortoPapiere(Sachbearbeiter As String, rechnungsdatum As Date) As Boolean
|
||
|
||
|
||
' Die Abfrage ermittelt aus den Rechnungspositonen,
|
||
' das Vorkommen (Anzahl Porto/Papiere) pro RechnungsKundenNr
|
||
' Status=0, Sammelrechnung=6, LeistungsNr=440.
|
||
|
||
|
||
Dim sqlString = "SELECT
|
||
Rechnungsausgang.Firma_ID,
|
||
Rechnungsausgang.Status,
|
||
Rechnungsausgang.Sammelrechnung,
|
||
Rechnungsausgang.Sachbearbeiter,
|
||
Rechnungsausgang.RechnungsKundenNr,
|
||
Rechnungsausgang.BelegartenNr,
|
||
Rechnungsausgang.Währungscode,
|
||
isnull(Rechnungsausgang.[Steuersatz %],0) as [Steuersatz %],
|
||
cast(Rechnungsausgang.Lastschrift as bit) as Lastschrift,
|
||
SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) AS AnzahlPP,
|
||
SUM(CASE WHEN LeistungsNr = 440 THEN 0 ELSE SteuerpflichtigerBetrag + SteuerfreierBetrag END) AS BetragExclusivPP
|
||
FROM
|
||
Rechnungsausgang
|
||
INNER JOIN
|
||
RechnungsausgangPositionen ON Rechnungsausgang.RK_ID = RechnungsausgangPositionen.RK_ID
|
||
WHERE
|
||
Rechnungsausgang.Status = 0
|
||
AND Rechnungsausgang.Sammelrechnung = 6
|
||
AND UPPER(Rechnungsausgang.Sachbearbeiter) = '" & Sachbearbeiter & "'
|
||
AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
|
||
|
||
GROUP BY
|
||
Rechnungsausgang.Firma_ID,
|
||
Rechnungsausgang.Status,
|
||
Rechnungsausgang.Sammelrechnung,
|
||
Rechnungsausgang.Sachbearbeiter,
|
||
Rechnungsausgang.RechnungsKundenNr,
|
||
Rechnungsausgang.BelegartenNr,
|
||
Rechnungsausgang.Währungscode,
|
||
Rechnungsausgang.[Steuersatz %],
|
||
Rechnungsausgang.Lastschrift
|
||
HAVING
|
||
SUM(CASE WHEN LeistungsNr = 440 THEN Anzahl ELSE 0 END) > 0
|
||
ORDER BY
|
||
Rechnungsausgang.Firma_ID,
|
||
Rechnungsausgang.Status,
|
||
Rechnungsausgang.Sammelrechnung,
|
||
Rechnungsausgang.Sachbearbeiter,
|
||
Rechnungsausgang.RechnungsKundenNr,
|
||
Rechnungsausgang.BelegartenNr,
|
||
Rechnungsausgang.Währungscode,
|
||
Rechnungsausgang.[Steuersatz %],
|
||
Rechnungsausgang.Lastschrift"
|
||
|
||
Dim dtPP As DataTable = (New SQL).loadDgvBySql(sqlString, "FMZOLL")
|
||
|
||
If dtPP.Rows.Count > 0 Then
|
||
|
||
For Each r In dtPP.Rows
|
||
|
||
Dim intZlr As Integer = 0
|
||
|
||
' Bei BetragExclusivPP kleiner als 150€ wird 1x P.P. verrechnet, bei grösser/gleich 150€ wird kein P.P. verrechnet.
|
||
' Zähler auf die Anzahl der P.P. Löschungen einstellen.
|
||
|
||
If Not IsDBNull(r("BetragExclusivPP")) AndAlso r("BetragExclusivPP") > 0 Then
|
||
|
||
If r("BetragExclusivPP") < 150 Then
|
||
intZlr = r("AnzahlPP") - 1
|
||
Else
|
||
intZlr = r("AnzahlPP")
|
||
End If
|
||
Else
|
||
If (0 - r("BetragExclusivPP")) < 150 Then
|
||
intZlr = r("AnzahlPP") - 1
|
||
Else
|
||
intZlr = r("AnzahlPP") - 1
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
If intZlr > 0 Then
|
||
|
||
Dim steuersatz As Double = Math.round(r("Steuersatz %"), 2)
|
||
Dim SteuersatzString As String = steuersatz.ToString.Replace(",", ".")
|
||
|
||
' Die Abfrage liest in der Tabelle Rechnungsausgang,
|
||
' passend zu den durch die vorherige Abfrage bereitgestellten Parametern.
|
||
|
||
Dim sqlStringRechnungen As String = "Select DISTINCT
|
||
Rechnungsausgang.OffertenNr,
|
||
Rechnungsausgang.RK_ID,
|
||
Rechnungsausgang.SteuerpflichtigerGesamtbetrag,
|
||
Rechnungsausgang.SteuerfreierGesamtbetrag,
|
||
Rechnungsausgang.upsize_ts
|
||
FROM Rechnungsausgang
|
||
WHERE
|
||
Rechnungsausgang.Firma_ID = " & r("Firma_ID") & "
|
||
And Rechnungsausgang.Status = " & r("Status") & "
|
||
And Rechnungsausgang.Sammelrechnung = " & r("Sammelrechnung") & "
|
||
And Rechnungsausgang.UPPER(Sachbearbeiter) = '" & Sachbearbeiter & "'
|
||
And Rechnungsausgang.RechnungsKundenNr = " & r("RechnungsKundenNr") & "
|
||
And Rechnungsausgang.BelegartenNr = " & r("BelegartenNr") & "
|
||
And Rechnungsausgang.Währungscode = '" & r("Währungscode") & "'
|
||
And Rechnungsausgang.[Steuersatz %] = " & SteuersatzString & "
|
||
And Rechnungsausgang.Lastschrift = " & IIf(r("Lastschrift"), 1, 0) & "
|
||
AND cast(Rechnungsausgang.Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
|
||
ORDER by
|
||
Rechnungsausgang.OffertenNr"
|
||
|
||
|
||
|
||
|
||
Dim dtRechnungen As DataTable = (New SQL).loadDgvBySql(sqlStringRechnungen, "FMZOLL")
|
||
|
||
If dtRechnungen.Rows.Count > 0 Then
|
||
|
||
For Each re In dtRechnungen.Rows
|
||
|
||
|
||
|
||
Dim dtREPOSANZ As DataTable = (New SQL).loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing], Anzahl, SteuerpflichtigerBetrag, SteuerfreierBetrag,upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 440", "FMZOLL")
|
||
|
||
If dtREPOSANZ.Rows.Count > 0 Then
|
||
|
||
Dim stgesBetr = re("SteuerpflichtigerGesamtbetrag")
|
||
Dim stfregesBetr = re("SteuerfreierGesamtbetrag")
|
||
|
||
Dim RECHNUNG As New cRechnungsausgang(re("RK_ID"))
|
||
|
||
For Each row In dtREPOSANZ.Rows
|
||
|
||
intZlr = intZlr - row("Anzahl")
|
||
|
||
If Not IsDBNull(row("SteuerpflichtigerBetrag")) AndAlso IsNumeric(row("SteuerpflichtigerBetrag")) Then stgesBetr = stgesBetr - CDbl(row("SteuerpflichtigerBetrag"))
|
||
If Not IsDBNull(row("SteuerfreierBetrag")) AndAlso IsNumeric(row("SteuerfreierBetrag")) Then stfregesBetr = stfregesBetr - CDbl(row("SteuerfreierBetrag"))
|
||
|
||
If RECHNUNG.DELETE_POSITIONEN(RECHNUNG.RK_ID, row("LeistungsNr"), row("Steuerpflichtig"), row("LeistungsBez"), row("IndexZkteing")) Then
|
||
RECHNUNG.SteuerfreierGesamtbetrag = stfregesBetr
|
||
RECHNUNG.SteuerpflichtigerGesamtbetrag = stgesBetr
|
||
RECHNUNG.SAVE(False)
|
||
End If
|
||
|
||
If intZlr = 0 Then Exit For
|
||
|
||
Next
|
||
End If
|
||
|
||
|
||
|
||
Next
|
||
|
||
End If
|
||
End If
|
||
|
||
|
||
|
||
|
||
|
||
|
||
Next
|
||
|
||
End If
|
||
|
||
End Function
|
||
|
||
Private Function setRechnungstext(Sachbearbeiter As String, rechnungsdatum As Date, ByRef sammelRechnungen As DataTable)
|
||
|
||
Dim varText As String = ""
|
||
Dim varNettozahlungsziel As Integer = 0
|
||
Dim strFälligkeitsdatum As String
|
||
Dim strZahlbar As String
|
||
|
||
Dim ok As Boolean = False
|
||
|
||
Dim dtSelectedSammelrechnungen As DataTable = (New SQL).loadDgvBySql("SELECT [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], isnull([Steuersatz %],0) as [Steuersatz %], cast([Lastschrift] as bit) as Lastschrift, [RK_ID], [BelegartenNr],cast([Vorkasse] as bit) as Vorkasse, [Nettozahlungsziel], [OffertenNr], [RechnungsLandKz], [Text]
|
||
FROM Rechnungsausgang
|
||
WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
|
||
ORDER BY [Firma_ID], [Status], [Sammelrechnung], [Sachbearbeiter], [RechnungsKundenNr], [Währungscode], [Steuersatz %], [Lastschrift], [RK_ID]", "FMZOLL")
|
||
|
||
If dtSelectedSammelrechnungen.Rows.Count > 0 Then
|
||
sammelRechnungen = dtSelectedSammelrechnungen
|
||
For Each rowRE In dtSelectedSammelrechnungen.Rows
|
||
|
||
Select Case rowRE("BelegartenNr")
|
||
|
||
Case 70 'RECHNUNG
|
||
If Not rowRE("Vorkasse") Then
|
||
If rowRE("Lastschrift") Then
|
||
varText = varText & "Der Rechnungsbetrag wurde durch erteilten Abbuchungsauftrag eingezogen." & vbCrLf
|
||
Else
|
||
If Not IsDBNull(rowRE("RechnungsKundenNr")) Then
|
||
'Zahlungsziel aus Kundenstamm.
|
||
Dim ZZ = (New SQL).getValueTxtBySql("SELECT Kunden.Zahlungsziel from Kunden WHERE Kunden.KundenNr=" & rowRE("RechnungsKundenNr") & " AND Kunden.Zahlungsziel Is Not Null", "FMZOLL")
|
||
If ZZ <> "" AndAlso IsNumeric(ZZ) Then
|
||
varNettozahlungsziel = ZZ
|
||
strFälligkeitsdatum = DateAdd("d", varNettozahlungsziel, dtRechnungsdatum.Value).ToString("dd.MM.yyyy")
|
||
End If
|
||
End If
|
||
|
||
'Zahlungsziel aus Offertenstamm.
|
||
If strFälligkeitsdatum = "" Then
|
||
If Not IsDBNull(rowRE("OffertenNr")) Then
|
||
Dim ZZOffert = (New SQL).getValueTxtBySql("SELECT Offertenstamm.Zahlungsziel FROM Offertenstamm WHERE Offertenstamm.OffertenNr = " & rowRE("OffertenNr") & " AND Offertenstamm.Zahlungsziel IS NOT NULL", "FMZOLL")
|
||
If ZZOffert <> "" AndAlso IsNumeric(ZZOffert) Then
|
||
varNettozahlungsziel = ZZOffert
|
||
strFälligkeitsdatum = DateAdd("d", varNettozahlungsziel, dtRechnungsdatum.Value).ToString("dd.MM.yyyy")
|
||
End If
|
||
End If
|
||
|
||
End If
|
||
|
||
'Zahlungsziel ermitteln.
|
||
If strFälligkeitsdatum = "" Then
|
||
If Not IsDBNull(rowRE("RK_ID")) Then
|
||
'Zahlungsziel bei Kreditaufwendungen.
|
||
Dim ZZRKID = (New SQL).getValueTxtBySql("Select Case [Preis], [Anzahl] From [RechnungsausgangPositionen] Where [RK_ID] = " & rowRE("RK_ID") & " And [LeistungsNr] = 750 And [BerechnungsartNr] = 9", "FMZOLL")
|
||
If ZZRKID <> "" Then
|
||
strZahlbar = "Zahlbar innerhalb 10 Tagen abzüglich Pos. 750; ab 10 Tagen netto fällig."
|
||
Else
|
||
varNettozahlungsziel = 25
|
||
strFälligkeitsdatum = DateAdd("d", varNettozahlungsziel, dtRechnungsdatum.Value).ToString("dd.MM.yyyy")
|
||
End If
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
'Fälligkeitstext in Landessprache
|
||
If strFälligkeitsdatum <> "" Then strZahlbar = "Rechnung zahlbar spätestens bis " & strFälligkeitsdatum & "!"
|
||
|
||
If Not IsDBNull(rowRE("RechnungsLandKz")) Then
|
||
|
||
Dim ZZRLandKZ = (New SQL).getValueTxtBySql("SELECT tblZahlungszieltexte.Text FROM tblZahlungszieltexte WHERE tblZahlungszieltexte.LandKz='" & rowRE("RechnungsLandKz") & "' AND tblZahlungszieltexte.Text Is Not Null", "FMZOLL")
|
||
If ZZRLandKZ <> "" Then
|
||
strZahlbar = ZZRLandKZ & " " & strFälligkeitsdatum & "!"
|
||
End If
|
||
|
||
End If
|
||
|
||
varText &= strZahlbar & vbCrLf
|
||
|
||
End If
|
||
End If
|
||
|
||
' Text bei Zoll oder EUSt drucken
|
||
Dim Zoll = (New SQL).getValueTxtBySql("Select LeistungsNr From dbo.RechnungsausgangPositionen Where RK_ID = " & rowRE("RK_ID") & " And LeistungsNr In (10, 60, 70)", "FMZOLL")
|
||
If Not IsDBNull(Zoll) AndAlso Zoll <> "" Then
|
||
varText = varText & "Alle Zollbelege bitte sofort auf Richtigkeit prüfen da Einspruch gemäß § 355 AO nur 1 Monat nach Datum des Zollbescheides möglich." & vbCrLf
|
||
End If
|
||
|
||
Case 71 'GUTSCHRIFT
|
||
If rowRE("Lastschrift") Then
|
||
varText = varText & "Der Gutschriftsbetrag wurde mit erteilten Abbuchungsauftrag verrechnet." & vbCrLf
|
||
End If
|
||
End Select
|
||
|
||
ok = (New SQL).doSQL("Update [Rechnungsausgang] Set [Text] = '" & varText & "', [Nettozahlungsziel] = " & varNettozahlungsziel & " WHERE [RK_ID] = " & rowRE("RK_ID"), "FMZOLL")
|
||
If Not ok Then MsgBox("Fehler") : Return False
|
||
|
||
varText = ""
|
||
varNettozahlungsziel = 0
|
||
strFälligkeitsdatum = ""
|
||
|
||
Next
|
||
End If
|
||
|
||
Return ok
|
||
|
||
End Function
|
||
|
||
|
||
Private Function Bankspesen(Sachbearbeiter As String, rechnungsdatum As Date)
|
||
|
||
Dim sqlBB = " Select Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift
|
||
From dbo.Rechnungsausgang
|
||
Where Status = 0
|
||
And Sammelrechnung = 6
|
||
And UPPER([Sachbearbeiter]) ='" & Sachbearbeiter & "'
|
||
AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'
|
||
Group By Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift
|
||
Order By Firma_ID, Status, Sammelrechnung, Sachbearbeiter, RechnungsKundenNr, BelegartenNr, Währungscode, [Steuersatz %], Lastschrift"
|
||
|
||
|
||
Dim dtBB As DataTable = (New SQL).loadDgvBySql(sqlBB, "FMZOLL")
|
||
|
||
If dtBB.Rows.Count > 0 Then
|
||
|
||
For Each r In dtBB.Rows
|
||
'spSelectReDruSchnSumBS415
|
||
Dim steuersatz As Double = Math.round(r("Steuersatz %"), 2)
|
||
Dim SteuersatzString As String = steuersatz.ToString.Replace(",", ".")
|
||
|
||
Dim sum As DataTable = (New SQL).loadDgvBySql("SELECT ISNULL(SUM(dbo.RechnungsausgangPositionen.Preis * dbo.RechnungsausgangPositionen.Anzahl),0) AS [Summe von Preis]
|
||
FROM dbo.Rechnungsausgang INNER JOIN
|
||
dbo.RechnungsausgangPositionen ON dbo.Rechnungsausgang.RK_ID = dbo.RechnungsausgangPositionen.RK_ID INNER JOIN
|
||
dbo.Leistungen ON dbo.RechnungsausgangPositionen.LeistungsNr = dbo.Leistungen.LeistungsNr
|
||
WHERE (dbo.Rechnungsausgang.Firma_ID = " & r("Firma_ID") & ")
|
||
AND (dbo.Rechnungsausgang.Status = " & r("Status") & ")
|
||
AND (dbo.Rechnungsausgang.Sammelrechnung = " & r("Sammelrechnung") & ")
|
||
AND (UPPER(dbo.Rechnungsausgang.[Sachbearbeiter]) = '" & r("Sachbearbeiter") & "')
|
||
AND (dbo.Rechnungsausgang.RechnungsKundenNr = " & r("RechnungsKundenNr") & ")
|
||
AND (dbo.Rechnungsausgang.BelegartenNr =" & r("BelegartenNr") & ")
|
||
AND (dbo.Rechnungsausgang.Währungscode = '" & r("Währungscode") & "')
|
||
AND (dbo.Rechnungsausgang.[Steuersatz %] =" & SteuersatzString & ")
|
||
AND (dbo.Rechnungsausgang.Lastschrift =" & IIf(r("Lastschrift"), 1, 0) & ")
|
||
AND (dbo.Leistungen.BS415 = 1)", "FMZOLL",)
|
||
If sum.Rows.Count > 0 Then
|
||
|
||
For Each rowsum In sum.Rows
|
||
|
||
Dim sumCurrenRow As Double = rowsum("Summe von Preis")
|
||
|
||
If sumCurrenRow <> 0 Then
|
||
|
||
Dim dtBankspesen As DataTable = (New SQL).loadDgvBySql("SELECT KundenNr, [Bankspesen %], [Bankspesen Mindestbetrag] FROM dbo.Kunden where KundenNr = " & r("RechnungsKundenNr"), "FMZOLL")
|
||
|
||
If dtBankspesen.Rows.Count > 0 Then
|
||
|
||
For Each rowBS In dtBankspesen.Rows
|
||
|
||
If rowBS("Bankspesen %") = 0 And rowBS("Bankspesen Mindestbetrag") = 0 Then
|
||
|
||
Else
|
||
|
||
Dim query As String = "SELECT DISTINCT OffertenNr, RK_ID, SteuerpflichtigerGesamtbetrag, SteuerfreierGesamtbetrag, upsize_ts FROM Rechnungsausgang
|
||
WHERE (dbo.Rechnungsausgang.Firma_ID = " & r("Firma_ID") & ")
|
||
AND (Status = " & r("Status") & ")
|
||
AND (Sammelrechnung = " & r("Sammelrechnung") & ")
|
||
AND (UPPER([Sachbearbeiter]) = '" & r("Sachbearbeiter") & "')
|
||
AND (RechnungsKundenNr = " & r("RechnungsKundenNr") & ")
|
||
AND (BelegartenNr =" & r("BelegartenNr") & ")
|
||
AND (Währungscode = '" & r("Währungscode") & "')
|
||
AND ([Steuersatz %] =" & SteuersatzString & ")
|
||
AND (Lastschrift =" & IIf(r("Lastschrift"), 1, 0) & ")
|
||
ORDER BY OffertenNr"
|
||
|
||
Dim dtRechnung As DataTable = (New SQL).loadDgvBySql(query, "FMZOLL")
|
||
|
||
If dtRechnung.Rows.Count > 0 Then
|
||
|
||
For Each re In dtRechnung.Rows
|
||
|
||
Dim steuerpflichtigerGesamtbetrag As Double = CDbl(re("SteuerpflichtigerGesamtbetrag"))
|
||
Dim steuerfreiegerGesamtbetrag As Double = CDbl(re("SteuerfreierGesamtbetrag"))
|
||
|
||
Dim dt415 As DataTable = (New SQL).loadDgvBySql("Select [RK_ID], [LeistungsNr], cast([Steuerpflichtig] as bit) as Steuerpflichtig, [LeistungsBez],[IndexZkteing],SteuerpflichtigerBetrag, SteuerfreierBetrag, upsize_ts From RechnungsausgangPositionen Where RechnungsausgangPositionen.RK_ID = " & re("RK_ID") & " And RechnungsausgangPositionen.LeistungsNr = 415", "FMZOLL")
|
||
|
||
If dt415.Rows.Count > 0 Then
|
||
|
||
For Each r415 In dt415.Rows
|
||
|
||
If Not IsDBNull(r415("SteuerpflichtigerBetrag")) AndAlso IsNumeric(r415("SteuerpflichtigerBetrag")) Then steuerpflichtigerGesamtbetrag = steuerpflichtigerGesamtbetrag - CDbl(r415("SteuerpflichtigerBetrag"))
|
||
If Not IsDBNull(r415("SteuerfreierBetrag")) AndAlso IsNumeric(r415("SteuerfreierBetrag")) Then steuerfreiegerGesamtbetrag = steuerfreiegerGesamtbetrag - CDbl(r415("SteuerfreierBetrag"))
|
||
|
||
Dim RECHNUNG As New cRechnungsausgang(re("RK_ID"))
|
||
|
||
If RECHNUNG.DELETE_POSITIONEN(RECHNUNG.RK_ID, r415("LeistungsNr"), r415("Steuerpflichtig"), r415("LeistungsBez"), r415("IndexZkteing")) Then
|
||
RECHNUNG.SteuerfreierGesamtbetrag = steuerfreiegerGesamtbetrag
|
||
RECHNUNG.SteuerpflichtigerGesamtbetrag = steuerpflichtigerGesamtbetrag
|
||
RECHNUNG.SAVE(False)
|
||
End If
|
||
|
||
|
||
|
||
Next
|
||
|
||
|
||
|
||
End If
|
||
|
||
|
||
Next
|
||
|
||
|
||
If sumCurrenRow > 0 Then
|
||
Dim RElastEntry As DataRow = dtRechnung.Rows(dtRechnung.Rows.Count - 1)
|
||
|
||
Dim NEWPOS As New cRechnungsausgangPositionen(RElastEntry("RK_ID"))
|
||
NEWPOS.Anzahl = 1
|
||
NEWPOS.LeistungsNr = 415
|
||
If steuersatz = 0 Then
|
||
NEWPOS.Steuerpflichtig = False
|
||
Else
|
||
Dim sql As New SQL
|
||
NEWPOS.Steuerpflichtig = (New VERAG_PROG_ALLGEMEIN.SQL).DLookup("Steuerpflichtig", "Leistungen", "LeistungsNr= 415", "FMZOLL")
|
||
End If
|
||
NEWPOS.LeistungsBez = "Überweisungs/Bankspesen"
|
||
|
||
Dim preis As Double = 0
|
||
If rowBS("Bankspesen %") > 0 Then
|
||
|
||
If sumCurrenRow > 0 Then
|
||
|
||
preis = Math.floor(sumCurrenRow * rowBS("Bankspesen %") + 0.5)
|
||
Else
|
||
preis = Math.floor(0 - sumCurrenRow * rowBS("Bankspesen %") + 0.5)
|
||
|
||
End If
|
||
Else
|
||
preis = 0
|
||
End If
|
||
|
||
If preis < rowBS("Bankspesen Mindestbetrag") Then
|
||
preis = rowBS("Bankspesen Mindestbetrag")
|
||
End If
|
||
|
||
If sumCurrenRow < 0 Then
|
||
preis = 0 - preis
|
||
End If
|
||
|
||
Dim RECHNUNG As New cRechnungsausgang(RElastEntry("RK_ID"))
|
||
|
||
If NEWPOS.Steuerpflichtig Then
|
||
NEWPOS.SteuerpflichtigerBetrag = preis
|
||
RECHNUNG.SteuerpflichtigerGesamtbetrag = RECHNUNG.SteuerpflichtigerGesamtbetrag + preis
|
||
|
||
Else
|
||
NEWPOS.SteuerfreierBetrag = preis
|
||
RECHNUNG.SteuerfreierGesamtbetrag = RECHNUNG.SteuerfreierGesamtbetrag + preis
|
||
|
||
End If
|
||
|
||
NEWPOS.Preis = preis
|
||
If NEWPOS.INSERT(RElastEntry("RK_ID")) Then RECHNUNG.SAVE(False)
|
||
|
||
|
||
|
||
End If
|
||
|
||
End If
|
||
|
||
End If
|
||
|
||
Next
|
||
|
||
End If
|
||
End If
|
||
|
||
Next
|
||
|
||
End If
|
||
|
||
|
||
Next
|
||
|
||
End If
|
||
|
||
End Function
|
||
|
||
Private Function setMautgesamtberichtInRechnung(Sachbearbeiter As String, rechnungsdatum As Date, dtSammelRechnugen As DataTable)
|
||
Try
|
||
|
||
|
||
If dtSammelRechnugen.Rows.Count = 0 Then
|
||
MsgBox("Keine Rechnungen für die Anlage der Mautgesamtberichte gefunden!" & vbNewLine & "Vorgang wird abgebrochen.")
|
||
Return False
|
||
|
||
End If
|
||
If Directory.Exists(PathMautberichte) Then
|
||
For Each f In Directory.GetFiles(PathMautberichte)
|
||
If f.Contains("_Maut.csv") Then
|
||
Dim FileCSV = New FileInfo(f)
|
||
If FileCSV.Name.Length > 10 Then
|
||
Dim KundenNr = FileCSV.Name.ToString.Substring(0, 6)
|
||
If IsNumeric(KundenNr) Then
|
||
Dim RK_ID As Integer = dtSammelRechnugen.AsEnumerable().Where(Function(r) r.Field(Of Integer)("RechnungsKundenNr") = KundenNr).Select(Function(r) r.Field(Of Integer)("RK_ID")).FirstOrDefault()
|
||
Dim RECHNUNG As New cRechnungsausgang(RK_ID)
|
||
AddAttachementToRE(FileCSV.FullName, KundenNr, RECHNUNG, rechnungsdatum)
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
ElseIf f.Contains("Maut.pdf") Then
|
||
Dim FilePDF = New FileInfo(f)
|
||
If FilePDF.Name.Length > 10 Then
|
||
Dim KundenNr = FilePDF.Name.ToString.Substring(0, 6)
|
||
If IsNumeric(KundenNr) Then
|
||
Dim RK_ID As Integer = dtSammelRechnugen.AsEnumerable().Where(Function(r) r.Field(Of Integer)("RechnungsKundenNr") = CInt(KundenNr)).Select(Function(r) r.Field(Of Integer)("RK_ID")).FirstOrDefault()
|
||
Dim RECHNUNG As New cRechnungsausgang(RK_ID)
|
||
AddAttachementToRE(FilePDF.FullName, KundenNr, RECHNUNG, rechnungsdatum)
|
||
End If
|
||
End If
|
||
End If
|
||
|
||
Next
|
||
|
||
End If
|
||
|
||
Catch ex As SystemException
|
||
|
||
End Try
|
||
|
||
End Function
|
||
|
||
Private Function AddAttachementToRE(pathFile As String, kdNr As Integer, RECHNUNG As cRechnungsausgang, rechnungsdatum As Date) As Boolean
|
||
|
||
If Not IO.File.Exists(pathFile) Then Return False
|
||
|
||
Dim fi As New System.IO.FileInfo(pathFile)
|
||
|
||
Dim DS As New VERAG_PROG_ALLGEMEIN.cDATENSERVER("MDM", "GESAMTBERICHT", rechnungsdatum.ToString("ddMMyyyy"), kdNr, "", fi.Name, kdNr)
|
||
If Not DS.uploadDataToDATENSERVER(pathFile, fi.Name, fi.Extension,,,, True) Then
|
||
MsgBox("Fehler beim Speichern: Datenserver! KDNR:" & kdNr)
|
||
Return False
|
||
End If
|
||
If CInt(DS.da_id) <= 0 Then
|
||
MsgBox("Keine DocId!")
|
||
Return False
|
||
End If
|
||
Dim da_id = DS.da_id
|
||
Dim destPath = DS.GET_TOP1_PATH
|
||
|
||
If RECHNUNG IsNot Nothing Then
|
||
RECHNUNG.ANHAENGE.Clear()
|
||
Dim ANH As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangAnhaenge
|
||
ANH.dsId = CInt(DS.da_id)
|
||
ANH.Bezeichnung = DS.da_name
|
||
RECHNUNG.ANHAENGE.Add(ANH)
|
||
Return RECHNUNG.SAVE_ANHAENGE(RECHNUNG.RK_ID, False)
|
||
Else
|
||
Return False
|
||
End If
|
||
|
||
End Function
|
||
|
||
Private Function setStatus4(Sachbearbeiter As String, rechnungsdatum As Date, dtSammelRechnugen As DataTable) As Boolean
|
||
|
||
'strParameter = ParameterBereitstellen(Me![Firma_ID], 0, 6, Me![fldSachbearbeiter], Year(Me!fldRechnungsDatum), Me![fldRechnungsDatum], varDatumZeit)
|
||
|
||
'Return (New SQL).doSQL("UPDATE [Rechnungsausgang] SET [Status] = 4 WHERE [Status] = 0 AND [Sammelrechnung] = 6 AND UPPER([Sachbearbeiter]) = '" & Sachbearbeiter & "' AND ([SteuerpflichtigerGesamtbetrag] <> 0 OR [SteuerfreierGesamtbetrag] <> 0) AND cast(Abfertigungsdatum as Date) = '" & rechnungsdatum & "'", "FMZOLL")
|
||
Dim reIsSet As Boolean = False
|
||
If dtSammelRechnugen.Rows.Count > 0 Then
|
||
For Each re In dtSammelRechnugen.Rows
|
||
|
||
reIsSet = cFakturierung.doSAMMELRechnungsDruck(19, 6, rechnungsdatum, rechnungsdatum, "", False, False, re("RechnungsKundenNr"), 7, , , , Nothing, , ,,, ,, )
|
||
|
||
If Not reIsSet Then Return reIsSet
|
||
|
||
Next
|
||
|
||
End If
|
||
|
||
|
||
Return reIsSet
|
||
|
||
|
||
End Function
|
||
Private Sub Button16_Click(sender As Object, e As EventArgs) Handles btnContractdaten.Click
|
||
|
||
Try
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim frm As New Form
|
||
Dim dgv As New DataGridView()
|
||
Dim dt As DataTable = SQL.loadDgvBySql("Select dbo.CLFBody.PKHistory,
|
||
dbo.CLFBody.PKFileName,
|
||
dbo.CLFBody.PKLine,
|
||
dbo.CLFBody.RecordType,
|
||
dbo.CLFBody.fileNumber,
|
||
dbo.CLFBody.cardNumber,
|
||
dbo.CLFBody.validTo,
|
||
dbo.CLFBody.OBUID,
|
||
dbo.CLFBody.vehicleLicensePlate,
|
||
dbo.CLFBody.nationality,
|
||
dbo.CLFBody.vehicleCategory,
|
||
dbo.CLFBody.emissionCategory,
|
||
dbo.CLFBody.status,
|
||
dbo.CLFBody.contractDate,
|
||
dbo.CLFBody.fileVersion,
|
||
dbo.CLFBody.engineCharacteristics,
|
||
dbo.CLFBody.CO2EmissionsClass,
|
||
dbo.CLFBody.contractType FROM dbo.CLF INNER JOIN dbo.CLFBody ON dbo.CLF.PKHistory = dbo.CLFBody.PKHistory AND dbo.CLF.PKFileName = dbo.CLFBody.PKFileName
|
||
", "ASFINAG")
|
||
|
||
dgv.DataSource = dt
|
||
If dgv IsNot Nothing Then
|
||
frm.Size = New Size(1400, 1000)
|
||
dgv.Size = New Size(frm.Size.Width - 50, frm.Size.Height - 50)
|
||
dgv.Dock = DockStyle.Fill
|
||
dgv.Anchor = AnchorStyles.Left
|
||
dgv.Anchor = AnchorStyles.Top
|
||
dgv.ReadOnly = True
|
||
frm.Controls.Add(dgv)
|
||
frm.StartPosition = FormStartPosition.CenterScreen
|
||
frm.ShowDialog()
|
||
End If
|
||
|
||
|
||
Catch ex As System.Exception
|
||
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
|
||
|
||
End Sub
|
||
|
||
Private Sub Button19_Click(sender As Object, e As EventArgs) Handles bntGesamtsummen.Click
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim displayFilter = False
|
||
Dim sqlstr As String = ""
|
||
|
||
|
||
sqlstr &= " SELECT [cardnumber] as CardNumber
|
||
,[licenceplate]
|
||
,[turnoverdate]
|
||
,[contractPartner] as ProductCode
|
||
,[netAmount]
|
||
,[VATamount]
|
||
,[additionalData]
|
||
,[totalAmount],
|
||
Adressen.AdressenNr as KundenNr,
|
||
Adressen.[Name 1]
|
||
FROM tblAsfinagMaut
|
||
INNER JOIN [dbo].Kreditkarten ON cardnumber = Kreditkarten.KartenNr
|
||
INNER JOIN [dbo].Adressen ON Adressen.AdressenNr = Kreditkarten.AdressenNr"
|
||
|
||
|
||
Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL")
|
||
'DataGridView.DataSource = dt
|
||
|
||
If dt.Rows.Count = 0 Then
|
||
MsgBox("keine Daten vorhanden!")
|
||
Exit Sub
|
||
End If
|
||
|
||
Dim print As New frmPrintLayout
|
||
print.Text = "ASFINAG"
|
||
|
||
Dim rpt As New rptASFINAG_TransaktionenSumary
|
||
|
||
rpt.DataSource = dt
|
||
|
||
|
||
'If cbxProdukt.Checked Then
|
||
' rpt.GroupHeader2.DataField = "prod_descr"
|
||
'Else
|
||
' rpt.GroupHeader2.Visible = False
|
||
' rpt.GroupFooter2.Visible = False
|
||
'End If
|
||
|
||
|
||
|
||
Dim sum = 0
|
||
rpt.lblUeberschrift.Text = "ASFINAG Summenbericht " & CDate(dat_Sum_Bis.Value.ToShortDateString)
|
||
rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
|
||
'rpt.lblMandantNiederlassung.Text = PERSONAL.Mandant & " / " & PERSONAL.Niederlassung
|
||
|
||
'Dim cnt As Integer = 0
|
||
rpt.lblDat.Text = Now.ToLongDateString
|
||
|
||
|
||
|
||
|
||
|
||
Dim sumNetto As Double = 0
|
||
Dim sumMWST As Double = 0
|
||
Dim sumBrutto As Double = 0
|
||
|
||
Dim sumperKdNrNetto As Double = 0
|
||
Dim sumperKdNrMWST As Double = 0
|
||
Dim sumperKdNrBrutto As Double = 0
|
||
|
||
|
||
AddHandler rpt.Detail.Format, Sub()
|
||
|
||
|
||
rpt.lblKundennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("KundenNr").Value, "")
|
||
rpt.lblName1.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Name 1").Value, "")
|
||
rpt.lblKartennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("CardNumber").Value, "") & " - " & SQL.isDbnullEmpty(rpt.Fields.Item("ProductCode").Value, "")
|
||
|
||
rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("netAmount").Value, 2, "")
|
||
rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATamount").Value, 2, "")
|
||
rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("totalAmount").Value, 2, "")
|
||
|
||
|
||
rpt.lblSumNet.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("netAmount").Value, 2, "")
|
||
rpt.lblSumVat.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATamount").Value, 2, "")
|
||
rpt.lblSumBrt.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("totalAmount").Value, 2, "")
|
||
|
||
sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("netAmount").Value, 4, 0)
|
||
sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("VATamount").Value, 4, 0)
|
||
sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("totalAmount").Value, 4, 0)
|
||
|
||
|
||
End Sub
|
||
|
||
|
||
AddHandler rpt.ReportFooter1.Format, Sub()
|
||
|
||
rpt.lblSumNetto.Text = sumNetto.ToString("N2")
|
||
rpt.lblSumMwst.Text = sumMWST.ToString("N2")
|
||
rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
|
||
|
||
End Sub
|
||
|
||
print.Viewer.LoadDocument(rpt)
|
||
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
||
print.Show()
|
||
End Sub
|
||
|
||
Private Function checkifTestfiles() As String
|
||
|
||
If cbxTestdaten.Checked Then
|
||
|
||
Return "TEPVGTTR"
|
||
Else
|
||
Return "LEPVGTTR"
|
||
|
||
End If
|
||
|
||
End Function
|
||
|
||
Private Sub TabPage5_Paint(sender As Object, e As PaintEventArgs) Handles TabPage5.Paint
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim letzteMaut = SQL.getValueTxtBySql("SELECT Abrechnungsdatum FROM Abrechnungsdatum", "ASFINAG")
|
||
If letzteMaut IsNot Nothing AndAlso IsDate(letzteMaut) Then
|
||
lblDatletzteMaut.Text = letzteMaut
|
||
Else
|
||
lblDatletzteMaut.Text = "-"
|
||
End If
|
||
End Sub
|
||
|
||
Private Sub Button17_Click(sender As Object, e As EventArgs) Handles btnKartenpruefung.Click
|
||
|
||
Try
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim dtAsfinagKartenpruef As DataTable = SQL.loadDgvBySql("
|
||
SELECT cardnumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr, (SELECT Offerten.OffertenNr FROM [VERAG].[dbo].[Offerten] WHERE (((Offerten.KundenNr)=isnull([Kreditkarten].[AdressenNr],0)) AND ((Offerten.OffertenNr)=11))) AS Offerte_11
|
||
FROM dbo.tblAsfinagMaut
|
||
LEFT JOIN [dbo].[Kreditkarten] on cardnumber= Kreditkarten.KartenNr
|
||
GROUP BY cardnumber, Kreditkarten.KartenNr, Kreditkarten.AdressenNr
|
||
HAVING cardnumber is null or (cardnumber is not null AND ((Kreditkarten.AdressenNr) Is Not Null) AND (((SELECT Offerten.OffertenNr FROM [VERAG].[dbo].[Offerten] WHERE (((Offerten.KundenNr)=isnull([Kreditkarten].[AdressenNr],0)) AND ((Offerten.OffertenNr)=11)))) Is Null))
|
||
ORDER BY cardnumber", "FMZOLL")
|
||
|
||
If dtAsfinagKartenpruef.Rows.Count = 0 Then
|
||
MsgBox("Prüfung abgeschlossen" & vbNewLine & "Daten in Ordnung!")
|
||
Else
|
||
Dim frm As New Form
|
||
Dim dgv As New DataGridView()
|
||
dgv.DataSource = dtAsfinagKartenpruef
|
||
If dgv IsNot Nothing Then
|
||
frm.Size = New Size(1400, 1000)
|
||
dgv.Size = New Size(frm.Size.Width - 50, frm.Size.Height - 50)
|
||
dgv.Dock = DockStyle.Fill
|
||
dgv.Anchor = AnchorStyles.Left
|
||
dgv.Anchor = AnchorStyles.Top
|
||
dgv.ReadOnly = True
|
||
frm.Controls.Add(dgv)
|
||
frm.StartPosition = FormStartPosition.CenterScreen
|
||
frm.ShowDialog()
|
||
End If
|
||
End If
|
||
|
||
|
||
Catch ex As System.Exception
|
||
|
||
End Try
|
||
|
||
End Sub
|
||
|
||
Private Sub Button20_Click(sender As Object, e As EventArgs) Handles btnMautbericht.Click
|
||
MsgBox("Funktion noch nicht implementiert!")
|
||
|
||
'Try
|
||
|
||
' Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
' Dim frm As New Form
|
||
' Dim dgv As New DataGridView()
|
||
' Dim dt As DataTable = SQL.loadDgvBySql("SELECT dbo.CLFBody.PKHistory,
|
||
' dbo.CLFBody.PKFileName,
|
||
' dbo.CLFBody.PKLine,
|
||
' dbo.CLFBody.RecordType,
|
||
' dbo.CLFBody.fileNumber,
|
||
' dbo.CLFBody.cardNumber,
|
||
' dbo.CLFBody.validTo OBUID,
|
||
' dbo.CLFBody.vehicleLicensePlate,
|
||
' dbo.CLFBody.nationality,
|
||
' dbo.CLFBody.vehicleCategory,
|
||
' dbo.CLFBody.emissionCategory,
|
||
' dbo.CLFBody.status,
|
||
' dbo.CLFBody.contractDate,
|
||
' dbo.CLFBody.fileVersion,
|
||
' dbo.CLFBody.engineCharacteristics,
|
||
' dbo.CLFBody.CO2EmissionsClass,
|
||
' dbo.CLFBody.contractType FROM dbo.CLF INNER JOIN dbo.CLFBody ON dbo.CLF.PKHistory = dbo.CLFBody.PKHistory AND dbo.CLF.PKFileName = dbo.CLFBody.PKFileName
|
||
' ", "ASFINAG")
|
||
|
||
' dgv.DataSource = dt
|
||
' If dgv IsNot Nothing Then
|
||
' frm.Size = New Size(1400, 1000)
|
||
' dgv.Size = New Size(frm.Size.Width - 50, frm.Size.Height - 50)
|
||
' dgv.Dock = DockStyle.Fill
|
||
' dgv.Anchor = AnchorStyles.Left
|
||
' dgv.Anchor = AnchorStyles.Top
|
||
' dgv.ReadOnly = True
|
||
' frm.Controls.Add(dgv)
|
||
' frm.StartPosition = FormStartPosition.CenterScreen
|
||
' frm.ShowDialog()
|
||
' End If
|
||
|
||
|
||
'Catch ex As System.Exception
|
||
|
||
' VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
'End Try
|
||
End Sub
|
||
|
||
Private Sub Button16_Click_1(sender As Object, e As EventArgs) Handles Button16.Click
|
||
Try
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
Dim frm As New Form
|
||
Dim dgv As New DataGridView()
|
||
|
||
Dim dt As DataTable = SQL.loadDgvBySql("SELECT
|
||
PKFileName,
|
||
FileCreationDate,
|
||
Abrechnungsdatum,
|
||
round(SUM(amountInclVAT) - SUM(VATAmount),2) AS Nettobetrag,
|
||
round(SUM(VATAmount),2) AS Umsatzsteuer,
|
||
VATRate AS 'USt %',
|
||
round(SUM(amountInclVAT),2) AS Bruttobetrag
|
||
FROM TTRBody
|
||
WHERE (PKHistory = 0) AND (Abrechnungsdatum = (SELECT Abrechnungsdatum FROM Abrechnungsdatum))
|
||
GROUP BY PKFileName, FileCreationDate, Abrechnungsdatum, VATRate
|
||
ORDER BY PKFileName", "ASFINAG")
|
||
|
||
If dt.Rows.Count = 0 Then
|
||
MsgBox("keine Daten vorhanden!")
|
||
Exit Sub
|
||
End If
|
||
|
||
dgv.DataSource = dt
|
||
|
||
If dgv IsNot Nothing Then
|
||
frm.Size = New Size(1400, 1000)
|
||
dgv.Size = New Size(frm.Size.Width - 50, frm.Size.Height - 50)
|
||
dgv.Dock = DockStyle.Fill
|
||
dgv.Anchor = AnchorStyles.Left
|
||
dgv.Anchor = AnchorStyles.Top
|
||
dgv.ReadOnly = True
|
||
frm.Controls.Add(dgv)
|
||
frm.StartPosition = FormStartPosition.CenterScreen
|
||
frm.ShowDialog()
|
||
End If
|
||
|
||
|
||
|
||
'Dim print As New frmPrintLayout
|
||
'print.Text = "ASFINAG"
|
||
|
||
'Dim rpt As New rptASFINAG_TransaktionenSumary
|
||
|
||
'rpt.DataSource = dt
|
||
|
||
|
||
|
||
|
||
|
||
'Dim sum = 0
|
||
'rpt.lblUeberschrift.Text = "ASFINAG Transaktionssummen " & CDate(dat_Sum_Bis.Value.ToShortDateString)
|
||
'rpt.lblSachbearbeiter.Text = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
|
||
|
||
'rpt.Label10.Visible = False
|
||
'Label1.Text = "Dateiname"
|
||
'Label8.Text = "Erstellungsdatum"
|
||
''Dim cnt As Integer = 0
|
||
'rpt.lblDat.Text = Now.ToLongDateString
|
||
|
||
|
||
|
||
|
||
|
||
'Dim sumNetto As Double = 0
|
||
'Dim sumMWST As Double = 0
|
||
'Dim sumBrutto As Double = 0
|
||
|
||
'Dim sumperKdNrNetto As Double = 0
|
||
'Dim sumperKdNrMWST As Double = 0
|
||
'Dim sumperKdNrBrutto As Double = 0
|
||
|
||
|
||
'AddHandler rpt.Detail.Format, Sub()
|
||
|
||
|
||
' rpt.lblKundennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("PKFileName").Value, "")
|
||
' rpt.lblName1.Text = SQL.isDbnullEmpty(rpt.Fields.Item("FileCreationDate").Value, "")
|
||
' rpt.lblKartennr.Text = SQL.isDbnullEmpty(rpt.Fields.Item("Abrechnungsdatum").Value, "")
|
||
|
||
' rpt.lblNetto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Nettobetrag").Value, 2, "")
|
||
' rpt.lblMWST.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Umsatzsteuer").Value, 2, "")
|
||
' rpt.lblBrutto.Text = SQL.isDbnullEmptyDbl(rpt.Fields.Item("Bruttobetrag").Value, 2, "")
|
||
|
||
|
||
' rpt.lblSumNet.Visible = False
|
||
' rpt.lblSumVat.Visible = False
|
||
' rpt.lblSumBrt.Visible = False
|
||
|
||
' sumNetto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Nettobetrag").Value, 4, 0)
|
||
' sumMWST += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Umsatzsteuer").Value, 4, 0)
|
||
' sumBrutto += SQL.isDbnullEmptyDbl(rpt.Fields.Item("Bruttobetrag").Value, 4, 0)
|
||
|
||
|
||
' End Sub
|
||
|
||
|
||
'AddHandler rpt.ReportFooter1.Format, Sub()
|
||
|
||
' rpt.lblSumNetto.Text = sumNetto.ToString("N2")
|
||
' rpt.lblSumMwst.Text = sumMWST.ToString("N2")
|
||
' rpt.lblSumBrutto.Text = sumBrutto.ToString("N2")
|
||
|
||
' End Sub
|
||
|
||
'print.Viewer.LoadDocument(rpt)
|
||
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
||
'print.Show()
|
||
|
||
|
||
Catch ex As System.Exception
|
||
|
||
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
|
||
End Try
|
||
|
||
End Sub
|
||
|
||
Private Sub Button17_Click_1(sender As Object, e As EventArgs) Handles Button17.Click
|
||
Me.Cursor = Cursors.WaitCursor
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
|
||
MsgBox("Funktion noch nicht umgesetzt")
|
||
Exit Sub
|
||
|
||
Try
|
||
Dim dir = "F:\FMZoll\Diesel\IDS\Import\Test" 'Environment.GetFolderPath(Environment.SpecialFolder.Personal) & "\VERAG\MDM\tmp\"
|
||
If System.IO.Directory.Exists(dir) Then
|
||
For Each file As String In System.IO.Directory.GetFiles(dir) ' Ermittelt alle Dateien des Ordners
|
||
|
||
If System.IO.File.Exists(file) Then
|
||
|
||
Dim fi As FileInfo = New FileInfo(file)
|
||
If fi.Extension.ToLower = ".xls" Then
|
||
Dim filepath = file.Replace(".xls", ".txt")
|
||
System.IO.File.Move(file, filepath)
|
||
End If
|
||
End If
|
||
|
||
Next
|
||
Dim dialog As New OpenFileDialog()
|
||
dialog.InitialDirectory = dir
|
||
dialog.Filter = "CSV Files (*.csv)|*.csv"
|
||
If (dialog.ShowDialog() = DialogResult.OK) Then
|
||
Dim table As DataTable = convertToDT(dialog.FileName)
|
||
Dim cnt = 1
|
||
|
||
|
||
For Each r As DataRow In table.Rows
|
||
If cnt Mod 10 = 0 Then
|
||
txtIDSEinarbeitung.Text = cnt & " / " & table.Rows.Count
|
||
Dim proz As Double = (cnt / table.Rows.Count) * 100
|
||
ProgressBar.Value = proz
|
||
lblProz.Text = proz.ToString("N2") & " %"
|
||
GroupBox7.Refresh()
|
||
My.Application.DoEvents()
|
||
End If
|
||
cnt += 1
|
||
Next
|
||
ProgressBar.Value = 100
|
||
txtIDSEinarbeitung.Text = table.Rows.Count & " / " & table.Rows.Count
|
||
lblProz.Text = "100.00 %"
|
||
End If
|
||
|
||
End If
|
||
|
||
|
||
Catch ex As System.Exception
|
||
MsgBox(ex.Message & ex.StackTrace)
|
||
End Try
|
||
|
||
Me.Cursor = Cursors.Default
|
||
End Sub
|
||
|
||
Private Sub UsrCntlMSE_KonvertCSV1_Load(sender As Object, e As EventArgs) Handles UsrCntlMSE_KonvertCSV1.Load
|
||
|
||
End Sub
|
||
|
||
Private Sub Button18_Click(sender As Object, e As EventArgs) Handles Button18.Click
|
||
If cbxMautbericht._value = "" Then Exit Sub
|
||
If cbxDateMautbericht._value = "" Then Exit Sub
|
||
|
||
|
||
|
||
Select Case cbxMautbericht._value
|
||
'nur intern
|
||
Case "Gesamtbericht_EXCEL"
|
||
|
||
Dim dtGesamtbericht As DataTable = (New SQL).loadDgvBySql("SELECT tblMautbericht.[Customer No], Adressen.Ordnungsbegriff AS [Customer name], tblMautbericht.[Net Amount], tblMautbericht.[VAT Amount], tblMautbericht.[Total Amount] From tblMautbericht INNER Join Adressen On tblMautbericht.[Customer No] = Adressen.AdressenNr Where cast(BillingDate as Date) = '" & cbxDateMautbericht._value & "'", "FMZOLL")
|
||
cProgramFunctions.genExcelFromDT_NEW(dtGesamtbericht, {"C1:C" & (dtGesamtbericht.Rows.Count + 1), "D1:D" & (dtGesamtbericht.Rows.Count + 1), "E1:E" & (dtGesamtbericht.Rows.Count + 1)},,,,, True)
|
||
|
||
'für Kunde an RE anhängen
|
||
Case "Gesamtbericht_CSV"
|
||
|
||
Dim dtBerichtkunden_CSV As DataTable = (New SQL).loadDgvBySql("SELECT [Customer No], [Licence Plate Number], [Transaction Country], [Transaction date], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal], tblMautbericht.[Net Amount], tblMautbericht.[VAT Amount], tblMautbericht.[Total Amount]
|
||
FROM Adressen
|
||
INNER JOIN tblMautbericht ON Adressen.AdressenNr = tblMautbericht.[Customer No]
|
||
WHERE Adressen.ExportMautberichtCSV=1 AND cast(BillingDate as Date) = '" & cbxDateMautbericht._value & "'
|
||
ORDER BY tblMautbericht.[Customer No], tblMautbericht.[Licence Plate Number], tblMautbericht.[Transaction Country], tblMautbericht.[Transaction date], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal]", "FMZOLL")
|
||
If dtBerichtkunden_CSV.Rows.Count > 0 Then
|
||
|
||
Dim displayView = New DataView(dtBerichtkunden_CSV, "", "Customer No", DataViewRowState.CurrentRows)
|
||
Dim distinctDT_CSV As DataTable = displayView.ToTable(True, "Customer No")
|
||
|
||
|
||
'wenn bereits CSV-Datei im Ordner dann löschen!
|
||
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
|
||
For Each f In Directory.GetFiles(PathMautberichte)
|
||
If f.ToString.ToLower.EndsWith(".csv") Then File.Delete(f)
|
||
Next
|
||
End If
|
||
|
||
For Each csv As DataRow In distinctDT_CSV.Rows
|
||
|
||
|
||
|
||
Dim dt_CSV_selected = dtBerichtkunden_CSV.Select("[Customer No] ='" & csv.Item(0) & "'").CopyToDataTable
|
||
|
||
Dim fn As String = PathMautberichte & "\" & csv.Item("Customer No") & "_Maut.csv"
|
||
Dim outFile As System.IO.StreamWriter = My.Computer.FileSystem.OpenTextFileWriter(fn, False)
|
||
Dim clmns As String = ""
|
||
For i = 0 To dt_CSV_selected.Columns.Count - 1
|
||
clmns &= dt_CSV_selected.Columns(i).ColumnName.ToString().Replace(";", ", ") & ";"
|
||
Next
|
||
outFile.WriteLine(clmns)
|
||
For i = 0 To dt_CSV_selected.Rows.Count - 1
|
||
clmns = ""
|
||
For j = 0 To dt_CSV_selected.Columns.Count - 1
|
||
clmns &= dt_CSV_selected.Rows(i)(j).ToString.Replace(";", ", ") & ";"
|
||
Next
|
||
outFile.WriteLine(clmns)
|
||
Next
|
||
outFile.Close()
|
||
|
||
Next
|
||
|
||
|
||
MsgBox("CSV-Berichte wurden unter " & PathMautberichte & "erzeugt.")
|
||
Else
|
||
MsgBox("Es wurden keine Daten bereitgestellt")
|
||
|
||
End If
|
||
|
||
|
||
'für Kunde an RE anhängen (Tool Report to Verag Invoice aus FMZOLL)
|
||
Case "Lieferantenbericht_PDF"
|
||
|
||
Dim dtBerichtkunden_PDF As DataTable = (New SQL).loadDgvBySql("SELECT tblMautbericht.[Customer No], Adressen.Ordnungsbegriff AS [Customer name], tblMautbericht.[Licence Plate Number], tblMautbericht.[Transaction date], tblMautbericht.[Transaction Country], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal], Sum(tblMautbericht.[Net Amount]) AS [Net Amount], Sum(tblMautbericht.[VAT Amount]) AS [VAT Amount], Sum(tblMautbericht.[Total Amount]) AS [Total Amount]
|
||
FROM tblMautbericht INNER JOIN Adressen ON tblMautbericht.[Customer No] = Adressen.AdressenNr
|
||
WHERE cast(BillingDate as Date) = '" & cbxDateMautbericht._value & "'
|
||
GROUP BY tblMautbericht.[Customer No], Adressen.Ordnungsbegriff, tblMautbericht.[Licence Plate Number], tblMautbericht.[Transaction date], tblMautbericht.[Transaction Country], tblMautbericht.[Product description], tblMautbericht.[Card number], tblMautbericht.[Entry Terminal], tblMautbericht.[Exit Terminal] ", "FMZOLL")
|
||
|
||
If dtBerichtkunden_PDF.Rows.Count = 0 Then
|
||
MsgBox("Es wurden keine Daten bereitgestellt")
|
||
Exit Sub
|
||
End If
|
||
|
||
Dim displayView = New DataView(dtBerichtkunden_PDF, "", "Customer No", DataViewRowState.CurrentRows)
|
||
Dim distinctDT_PDF As DataTable = displayView.ToTable(True, "Customer No")
|
||
|
||
'wenn bereits PDF-Datei im Ordner dann löschen!
|
||
If Directory.GetFiles(PathMautberichte) IsNot Nothing Then
|
||
For Each f In Directory.GetFiles(PathMautberichte)
|
||
If f.ToString.ToLower.EndsWith(".pdf") Then File.Delete(f)
|
||
Next
|
||
End If
|
||
|
||
If distinctDT_PDF.Rows.Count > 1 Then
|
||
For Each pdf As DataRow In distinctDT_PDF.Rows
|
||
|
||
Dim dt_PDF_selected = dtBerichtkunden_PDF.Select("[Customer No] ='" & pdf.Item(0) & "'").CopyToDataTable
|
||
|
||
createPDFMautbericht(pdf.Item(0), dt_PDF_selected, cbxDateMautbericht._value, PathMautberichte)
|
||
|
||
Next
|
||
|
||
MsgBox("PDF-Berichte wurden unter " & PathMautberichte & "erzeugt.")
|
||
|
||
Else
|
||
MsgBox("Es wurden keine Daten bereitgestellt")
|
||
|
||
End If
|
||
|
||
|
||
End Select
|
||
|
||
|
||
End Sub
|
||
|
||
|
||
|
||
Private Function createPDFMautbericht(kdnr As Integer, dt As DataTable, anhangsdatum As Date, path As String) As String
|
||
|
||
Dim rpt As New rptPLOSE_Anhang
|
||
Dim sql As New VERAG_PROG_ALLGEMEIN.SQL
|
||
|
||
rpt.DataSource = dt
|
||
|
||
rpt.txtKunde.Text = kdnr & " " & New VERAG_PROG_ALLGEMEIN.cAdressen(kdnr).FullName
|
||
rpt.lblRgDatum.Text = anhangsdatum.ToShortDateString
|
||
|
||
rpt.GroupHeaderKz.DataField = "LicencePlateNumber"
|
||
|
||
|
||
rpt.txtNettoKzSum.Visible = False
|
||
rpt.txtNettoGesSum.Visible = False
|
||
rpt.txtNetto.Visible = False
|
||
rpt.txtNettoKatSum.Visible = False
|
||
rpt.lblNetto.Visible = False
|
||
|
||
rpt.txtMWSTKzSum.Visible = False
|
||
rpt.txtMWSTGEsSum.Visible = False
|
||
rpt.txtMWST.Visible = False
|
||
rpt.txtMWSTKatSum.Visible = False
|
||
rpt.lblMWST.Visible = False
|
||
|
||
'rpt.lblBrutto.Text = "Total Amount ( EUR )"
|
||
'rpt.Label4.Text = bis.ToShortDateString
|
||
'rpt.Label2.Text = "UTA-KundenNr:"
|
||
rpt.TextBox1.Text = kdnr
|
||
' rpt.Label1.Text = " UTA Fleet Management Service"
|
||
|
||
rpt.lblSummeKennzeichen.Visible = False
|
||
rpt.lblService.Visible = False
|
||
|
||
'rpt.lblSummeKennzeichen.Location = New PointF(rpt.lblSummeKennzeichen.Location.X + 4.5, rpt.lblSummeKennzeichen.Location.Y)
|
||
'rpt.lblSumKategorie.Location = New PointF(rpt.lblSumKategorie.Location.X + 4.5, rpt.lblSumKategorie.Location.Y)
|
||
'rpt.lblGessumme.Location = New PointF(rpt.lblGessumme.Location.X + 4.5, rpt.lblGessumme.Location.Y)
|
||
|
||
Dim sumNetto As Double = 0
|
||
Dim sumMWST As Double = 0
|
||
Dim sumBrutto As Double = 0
|
||
|
||
Dim sumNettoKat As Double = 0
|
||
Dim sumMWSTKat As Double = 0
|
||
Dim sumBruttoKat As Double = 0
|
||
|
||
Dim sumNettoGes As Double = 0
|
||
Dim sumMWSTGes As Double = 0
|
||
Dim sumBruttoGes As Double = 0
|
||
|
||
Dim cntKat = 0
|
||
Dim cnt = 0
|
||
rpt.GroupFooterKat.Visible = False
|
||
|
||
AddHandler rpt.Detail.Format, Sub()
|
||
|
||
rpt.txtKunde.Text = sql.isDbnullEmpty(rpt.Fields.Item("Customer No").Value, "")
|
||
rpt.txtKunde.Text &= " " & sql.isDbnullEmpty(rpt.Fields.Item("Customer name").Value, "")
|
||
|
||
rpt.txtProdukt.Text = sql.isDbnullEmpty(rpt.Fields.Item("Product description").Value, "") 'sql.isDbnullEmpty(rpt.Fields.Item("plose_ProduktCode").Value, "") & " - " & sql.isDbnullEmpty(rpt.Fields.Item("plose_Produktbeschreibung").Value, "")
|
||
|
||
|
||
rpt.txtKartennummer.Text = sql.isDbnullEmpty(rpt.Fields.Item("Card number").Value, "")
|
||
rpt.txtEingang.Text = sql.isDbnullEmpty(rpt.Fields.Item("Entry Terminal").Value, "")
|
||
rpt.txtAusgang.Text = sql.isDbnullEmpty(rpt.Fields.Item("Exit Terminal").Value, "")
|
||
rpt.txtLand.Text = sql.isDbnullEmpty(rpt.Fields.Item("Transaction Country").Value, "")
|
||
rpt.txtDatum.Text = sql.isDbnullEmpty(rpt.Fields.Item("Transaction date").Value, "")
|
||
|
||
rpt.txtNetto.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("Net Amount").Value, 2, "")
|
||
rpt.txtMWST.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("VAT Amount").Value, 2, "")
|
||
rpt.txtBrutto.Text = sql.isDbnullEmptyDbl(rpt.Fields.Item("Total Amount").Value, 2, "")
|
||
|
||
sumNetto += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_NettobetragWaehrungAbbuchung").Value, 4, 0)
|
||
sumMWST += 0 'SQL.isDbnullEmptyDbl(rpt.Fields.Item("plose_MWSTBetragWaehrungAbbuchung").Value, 4, 0)
|
||
sumBrutto += sql.isDbnullEmptyDbl(rpt.Fields.Item("Total Amount").Value, 4, 0)
|
||
cnt += 1
|
||
End Sub
|
||
|
||
AddHandler rpt.GroupHeaderKz.Format, Sub()
|
||
rpt.txtKennzeichen.Text = sql.isDbnullEmpty(rpt.Fields.Item("Licence Plate Number").Value, "")
|
||
If rpt.txtKennzeichen.Text = "" Then rpt.lblKennzeichen.Visible = False
|
||
End Sub
|
||
AddHandler rpt.GroupHeaderKat.Format, Sub()
|
||
rpt.lblKategorie.Text = "MAUT REPORT"
|
||
End Sub
|
||
|
||
AddHandler rpt.GroupFooterKz.Format, Sub()
|
||
rpt.txtNettoKzSum.Text = sumNetto.ToString("N2")
|
||
rpt.txtMWSTKzSum.Text = sumMWST.ToString("N2")
|
||
rpt.txtBruttoKzSum.Text = sumBrutto.ToString("N2")
|
||
sumNettoGes += sumNetto
|
||
sumMWSTGes += sumMWST
|
||
sumBruttoGes += sumBrutto
|
||
|
||
sumNetto = 0
|
||
sumMWST = 0
|
||
sumBrutto = 0
|
||
|
||
rpt.lblSummeKennzeichen.Text = rpt.lblSummeKennzeichen.Text.Replace("Kennzeichen", sql.isDbnullEmpty(rpt.Fields.Item("Licence Plate Number").Value, ""))
|
||
End Sub
|
||
|
||
|
||
|
||
AddHandler rpt.GroupFooterKat.Format, Sub()
|
||
sumNettoKat += sumNetto
|
||
sumMWSTKat += sumMWST
|
||
sumBruttoKat += sumBrutto
|
||
sumNetto = 0
|
||
sumMWST = 0
|
||
sumBrutto = 0
|
||
|
||
rpt.txtNettoKatSum.Text = sumNettoKat.ToString("N2")
|
||
rpt.txtMWSTKatSum.Text = sumMWSTKat.ToString("N2")
|
||
rpt.txtBruttoKatSum.Text = sumBruttoKat.ToString("N2")
|
||
cntKat += 1
|
||
End Sub
|
||
AddHandler rpt.ReportFooter1.Format, Sub()
|
||
'sumNettoGes += sumNettoKat
|
||
'sumMWSTGes += sumMWSTKat
|
||
'sumBruttoGes += sumBruttoKat
|
||
sumNettoKat = 0
|
||
sumMWSTKat = 0
|
||
sumBruttoKat = 0
|
||
|
||
sumNetto = 0
|
||
sumMWST = 0
|
||
sumBrutto = 0
|
||
|
||
rpt.txtNettoGesSum.Text = sumNettoGes.ToString("N2")
|
||
rpt.txtMWSTGEsSum.Text = sumMWSTGes.ToString("N2")
|
||
rpt.txtBruttoGesSum.Text = sumBruttoGes.ToString("N2")
|
||
|
||
|
||
|
||
'If cntKat <= 1 Then
|
||
' rpt.GroupFooterKat.Visible = False
|
||
'End If
|
||
End Sub
|
||
|
||
'print.Viewer.LoadDocument(rpt)
|
||
'print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
||
'print.Show()
|
||
|
||
|
||
|
||
Dim tmpPath = path & "\" & kdnr & "_Maut.pdf"
|
||
Dim p As New GrapeCity.ActiveReports.Export.Pdf.Section.PdfExport
|
||
rpt.Run(False)
|
||
p.NeverEmbedFonts = ""
|
||
p.Export(rpt.Document, tmpPath)
|
||
|
||
rpt.Dispose()
|
||
|
||
Return tmpPath
|
||
|
||
End Function
|
||
End Class
|
||
|
||
|
||
Class cMDMAuswertung
|
||
|
||
|
||
Shared Sub genUeberfaelligeBestellungen(frm, von, bis, erstelltVon, Optional kdnr = -1, Optional sdlNr = -1)
|
||
frm.Cursor = Cursors.WaitCursor
|
||
Try
|
||
Dim print As New frmPrintLayout
|
||
print.Text = "Überfällige Bestellungen"
|
||
Dim rpt As New rptAuswertungUeberfaelligeBestellungen
|
||
rpt.von = von
|
||
rpt.bis = bis
|
||
rpt.kdnr = kdnr
|
||
rpt.SDLNr = sdlNr
|
||
rpt.erstelltVon = erstelltVon
|
||
|
||
rpt.PageSettings.PaperKind = GrapeCity.ActiveReports.Printing.PaperKind.A4
|
||
|
||
print.Viewer.LoadDocument(rpt)
|
||
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
||
print.Show()
|
||
Catch ex As System.Exception
|
||
MsgBox(ex.Message)
|
||
End Try
|
||
frm.Cursor = Cursors.Default
|
||
End Sub
|
||
|
||
|
||
Shared Sub genSDLrief(frm, kdnr, sdlNr, erstelltVon, archiviert)
|
||
If Not IsNumeric(sdlNr) Then
|
||
MsgBox("Bitte SDL Leistung auswählen!")
|
||
Exit Sub
|
||
End If
|
||
frm.Cursor = Cursors.WaitCursor
|
||
Dim print As New frmPrintLayout
|
||
print.Text = "SDL Brief"
|
||
Dim rpt As New rptSDLBrief
|
||
rpt.KdNr = kdnr
|
||
rpt.archiviert = archiviert
|
||
rpt.sdlNr = sdlNr
|
||
' rpt.erstelltVon = VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME
|
||
|
||
rpt.PageSettings.PaperKind = GrapeCity.ActiveReports.Printing.PaperKind.A4
|
||
|
||
print.Viewer.LoadDocument(rpt)
|
||
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
||
' print.RaisePrintEvent = True
|
||
print.Show()
|
||
|
||
frm.Cursor = Cursors.Default
|
||
End Sub
|
||
|
||
Shared Sub genLeereObu(frm As Control, Optional von As Date = Nothing, Optional bis As Date = Nothing)
|
||
frm.Cursor = Cursors.WaitCursor
|
||
Dim print As New frmPrintLayout
|
||
print.Text = "SDL Brief"
|
||
Dim rpt As New rptLeereOBU
|
||
If von = Nothing Then von = CDate("01.01.1900")
|
||
If bis = Nothing Then bis = Now
|
||
' If MyComboBox4._value <> "" Then rpt.sdlNr = MyComboBox4._value
|
||
rpt.sdlNr = 200 'nur AT
|
||
rpt.von = von
|
||
rpt.bis = bis
|
||
print.Viewer.LoadDocument(rpt)
|
||
print.Viewer.ViewType = GrapeCity.Viewer.Common.Model.ViewType.Continuous
|
||
print.Show()
|
||
frm.Cursor = Cursors.Default
|
||
|
||
End Sub
|
||
End Class
|
||
|
||
Class IDS_Transaktionen
|
||
Property BC_ID As Object = Nothing
|
||
Property BC_DESCR As Object = Nothing
|
||
Property CLUB_ID As Object = Nothing
|
||
Property COU_ISO_COD As Object = Nothing
|
||
Property COU_DESCR As Object = Nothing
|
||
Property CUST_COD As Object = Nothing
|
||
Property CUST_LEVEL As Object = Nothing
|
||
Property CUST_NAME1 As Object = Nothing
|
||
Property CARD_SER_NUM As Object = Nothing
|
||
Property SOU_ISO_COD As Object = Nothing
|
||
Property SOU_DESCR As Object = Nothing
|
||
Property TRS_NUM As Object = Nothing
|
||
Property TRS_VERS_NUM As Object = Nothing
|
||
Property OUT_COD As Object = Nothing
|
||
Property OUT_DESCR As Object = Nothing
|
||
Property OUT_GRP_COD As Object = Nothing
|
||
Property TRS_DATE As Object = Nothing
|
||
Property TOT_QTY As Object = Nothing
|
||
Property PROD_NUM As Object = Nothing
|
||
Property PROD_DESCR As Object = Nothing
|
||
Property SERVICE_PROD_NUM As Object = Nothing
|
||
Property SERVICE_PROD_DESCR As Object = Nothing
|
||
Property SOU_CURR As Object = Nothing
|
||
Property ORIG_LIST_PRICE As Object = Nothing
|
||
Property ORIG_REBATE As Object = Nothing
|
||
Property ORIG_PRICE As Object = Nothing
|
||
Property PLATTS_PRICE As Object = Nothing
|
||
Property SC_BC_RATE As Object = Nothing
|
||
Property SC_IV_BC_AMNT As Object = Nothing
|
||
Property COU_BENEFICIARY_CURR As Object = Nothing
|
||
Property CO_IV_BC_AMNT As Object = Nothing
|
||
Property EUR_IV_BC_AMNT As Object = Nothing
|
||
Property SC_CO_EXCHRATE As Object = Nothing
|
||
Property SC_EUR_EXCHRATE As Object = Nothing
|
||
Property BC_INVO_DATE As Object = Nothing
|
||
Property INVO_NUM As Object = Nothing
|
||
Property FIXED_OR_TOTAL As Object = Nothing
|
||
Property BC_TYPE As Object = Nothing
|
||
Property COU_BENEFICIARY As Object = Nothing
|
||
Property CUST_BENEFICIARY As Object = Nothing
|
||
Property LEVEL_BENEFICIARY As Object = Nothing
|
||
Property CUST_GRP_BENEFICIARY As Object = Nothing
|
||
Property Importiert As Object = Nothing
|
||
|
||
Dim SQL As New VERAG_PROG_ALLGEMEIN.SQL
|
||
|
||
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("BC_ID", BC_ID))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BC_DESCR", BC_DESCR))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CLUB_ID", CLUB_ID))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("COU_ISO_COD", COU_ISO_COD))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("COU_DESCR", COU_DESCR))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_COD", CUST_COD))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_LEVEL", CUST_LEVEL))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_NAME1", CUST_NAME1))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CARD_SER_NUM", CARD_SER_NUM))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SOU_ISO_COD", SOU_ISO_COD))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SOU_DESCR", SOU_DESCR))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TRS_NUM", TRS_NUM))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TRS_VERS_NUM", TRS_VERS_NUM))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OUT_COD", OUT_COD))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OUT_DESCR", OUT_DESCR))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("OUT_GRP_COD", OUT_GRP_COD))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TRS_DATE", TRS_DATE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("TOT_QTY", TOT_QTY))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PROD_NUM", PROD_NUM))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PROD_DESCR", PROD_DESCR))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SERVICE_PROD_NUM", SERVICE_PROD_NUM))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SERVICE_PROD_DESCR", SERVICE_PROD_DESCR))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SOU_CURR", SOU_CURR))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ORIG_LIST_PRICE", ORIG_LIST_PRICE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ORIG_REBATE", ORIG_REBATE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("ORIG_PRICE", ORIG_PRICE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("PLATTS_PRICE", PLATTS_PRICE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SC_BC_RATE", SC_BC_RATE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SC_IV_BC_AMNT", SC_IV_BC_AMNT))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("COU_BENEFICIARY_CURR", COU_BENEFICIARY_CURR))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CO_IV_BC_AMNT", CO_IV_BC_AMNT))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("EUR_IV_BC_AMNT", EUR_IV_BC_AMNT))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SC_CO_EXCHRATE", SC_CO_EXCHRATE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("SC_EUR_EXCHRATE", SC_EUR_EXCHRATE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BC_INVO_DATE", BC_INVO_DATE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("INVO_NUM", INVO_NUM))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("FIXED_OR_TOTAL", FIXED_OR_TOTAL))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("BC_TYPE", BC_TYPE))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("COU_BENEFICIARY", COU_BENEFICIARY))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_BENEFICIARY", CUST_BENEFICIARY))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("LEVEL_BENEFICIARY", LEVEL_BENEFICIARY))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("CUST_GRP_BENEFICIARY", CUST_GRP_BENEFICIARY))
|
||
list.Add(New VERAG_PROG_ALLGEMEIN.SQLVariable("Importiert", Importiert, , , True))
|
||
|
||
|
||
Return list
|
||
End Function
|
||
|
||
Public Function SAVE() As Boolean
|
||
|
||
Dim sqlstr = " BEGIN TRAN IF EXISTS(SELECT * FROM tblIDS_Transaktionen WITH(updlock,serializable) WHERE TRS_NUM=@TRS_NUM ) " &
|
||
" BEGIN " & getUpdateCmd() & " END " &
|
||
" Else " &
|
||
" BEGIN " & getInsertCmd() & " END " &
|
||
" commit tran "
|
||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||
|
||
Return SQL.doSQLVarList(sqlstr, "FMZOLL", , list)
|
||
End Function
|
||
|
||
Public Function getInsertCmd() As String
|
||
Try
|
||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||
Dim str As String = ""
|
||
Dim values As String = ""
|
||
For Each i In list
|
||
If Not i.isPrimaryParam And Not i.isonlyForLoad Then
|
||
str &= "[" & i.Text & "],"
|
||
values &= "@" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
||
End If
|
||
Next
|
||
str = str.Substring(0, str.Length - 1) 'wg. ','
|
||
values = values.Substring(0, values.Length - 1) 'wg. ','
|
||
Return (" INSERT INTO tblIDS_Transaktionen (" & str & ") VALUES(" & values & ") ")
|
||
Catch ex As SqlException
|
||
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
||
End Try
|
||
Return ""
|
||
End Function
|
||
|
||
Public Function getUpdateCmd() As String
|
||
Try
|
||
Dim list As List(Of VERAG_PROG_ALLGEMEIN.SQLVariable) = getParameterList()
|
||
|
||
Dim str As String = ""
|
||
For Each i In list
|
||
If Not i.isPrimaryParam And Not i.isonlyForLoad Then
|
||
str &= "[" & i.Text & "] = @" & i.Scalarvariable & "," '.Replace("-", "").Replace(" ", "") & ","
|
||
End If
|
||
Next
|
||
str = str.Substring(0, str.Length - 1) 'wg. ','
|
||
Return (" UPDATE [tblIDS_Transaktionen] SET " & str & " WHERE TRS_NUM=@TRS_NUM")
|
||
|
||
Catch ex As SqlException
|
||
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
|
||
End Try
|
||
Return ""
|
||
End Function
|
||
|
||
|
||
|
||
End Class |