Imports Microsoft.Office.Interop.Outlook Imports Microsoft.Office.Interop Imports Microsoft.VisualBasic.FileIO Imports System.Data.SqlClient Imports System.Reflection Public Class usrCntlMDMAuswertungen 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) 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") 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 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 If SQL.doSQL("update [Rechnungsausgang] set Sachbearbeiter='KRIEGNER' where Sammelrechnung=6 and Firma_ID=19 and Sachbearbeiter<>'KRIEGNER' and Abfertigungsdatum> DATEADD(month,-3, GETDATE())", "FMZOLL") Then MsgBox("Update erfolgreich.") End If End Sub 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 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 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