From fedbd982860dcf066d30807fb631ddb1b8d2adb9 Mon Sep 17 00:00:00 2001 From: "d.breimaier" Date: Fri, 5 Dec 2025 11:03:20 +0100 Subject: [PATCH] =?UTF-8?q?div.=20=C3=84nderungen,=20etc.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SDL/Fakturierung/cFakturierung.vb | 191 +++++++------- SDL/Fakturierung/frmFaktEmail.vb | 6 +- ...ngMDM_AnlagenDruck_Zinsennachberechnung.vb | 2 +- SDL/Fakturierung/usrCntlFaktAbrechnung.vb | 10 +- SDL/My Project/AssemblyInfo.vb | 4 +- SDL/buchhaltung/usrCntlBH.vb | 32 ++- SDL/kassenbuch/frmKassenbuch.vb | 2 +- .../frmNacherfassungLeihgeld.Designer.vb | 14 + SDL/kassenbuch/frmNacherfassungLeihgeld.vb | 248 ++++++++++++++++-- SDL/kunden/frmKundenblatt.Designer.vb | 80 +++--- SDL/kunden/frmKundenblatt.vb | 53 +++- SDL/kunden/usrcntlKundeBearbeitenFull.vb | 1 + SDL/mdm/frmMDMDatenverarbetiung.vb | 6 +- VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb | 2 +- 14 files changed, 480 insertions(+), 171 deletions(-) diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 21b57289..97503480 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -4896,7 +4896,7 @@ Public Class cFakturierung 'rpt.lblAbfertigungsDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString 'rpt.lblLKWId.Text = If(RECHNUNG.AvisoID, "") - Dim sachbearbeiterAufRechnung = getSBRgName(Row("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, Row("Sachbearbeiter")) + Dim sachbearbeiterAufRechnung = getSBRgName(Row("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, Row("Sachbearbeiter"), True) rpt.lblSachbearbeiter.Text = IIf(sachbearbeiterAufRechnung = "Herr Ordu", "Verrechnung", sachbearbeiterAufRechnung) 'könnten ja mehrerer SB die Rg-Anlagen geschreiben haben - NEU @@ -5048,102 +5048,102 @@ Public Class cFakturierung ' End Sub AddHandler rpt.Detail.Format, Sub() - ' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString - ' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString + ' rpt.lblVon.Text = CDate(rpt.Fields.Item("von").Value).ToShortDateString + ' rpt.lblLKWNr.Text = CDate(rpt.Fields.Item("bis").Value).ToShortDateString - ' rpt.lblLeistungNr.Text = checkNull(rpt.Fields.Item("LeistungsNr").Value) - ' rpt.txtLeistung.Text = checkNull(rpt.Fields.Item("LeistungsBez").Value) - Dim RECHNUNG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(rpt.Fields.Item("RK_ID").Value) - If RECHNUNG IsNot Nothing Then - rpt.lblPosNr.Text = RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr & "/" & CDbl(If(RECHNUNG.SpeditionsbuchUnterNr, 0)).ToString("000") - rpt.lblDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString + ' rpt.lblLeistungNr.Text = checkNull(rpt.Fields.Item("LeistungsNr").Value) + ' rpt.txtLeistung.Text = checkNull(rpt.Fields.Item("LeistungsBez").Value) + Dim RECHNUNG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang(rpt.Fields.Item("RK_ID").Value) + If RECHNUNG IsNot Nothing Then + rpt.lblPosNr.Text = RECHNUNG.FilialenNr & "/" & RECHNUNG.AbfertigungsNr & "/" & CDbl(If(RECHNUNG.SpeditionsbuchUnterNr, 0)).ToString("000") + rpt.lblDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString - Dim AbfertigungsBez = SQL.getValueTxtBySql("SELECT TOP 1 isnull(Abfertigungsbezeichnung,'') FROM [Speditionsbuch] inner join Abfertigungsarten ON Abfertigungsarten.Abfertigungsart=Speditionsbuch.Abfertigungsart WHERE FilialenNr='" & RECHNUNG.FilialenNr & "' AND AbfertigungsNr='" & RECHNUNG.AbfertigungsNr & "' AND UnterNr='" & RECHNUNG.SpeditionsbuchUnterNr & "'", "FMZOLL") - AbfertigungsBez = AbfertigungsBez.Replace("ZA", "Zollabfertigung") - AbfertigungsBez = AbfertigungsBez.Replace("AE", "Ausfuhrabfertigung") - AbfertigungsBez = AbfertigungsBez.Replace("T1", "T1 Versandschein") - AbfertigungsBez = AbfertigungsBez.Replace("T2", "T2 Versandschein") - rpt.txtAbfertigungsart.Text = AbfertigungsBez + Dim AbfertigungsBez = SQL.getValueTxtBySql("SELECT TOP 1 isnull(Abfertigungsbezeichnung,'') FROM [Speditionsbuch] inner join Abfertigungsarten ON Abfertigungsarten.Abfertigungsart=Speditionsbuch.Abfertigungsart WHERE FilialenNr='" & RECHNUNG.FilialenNr & "' AND AbfertigungsNr='" & RECHNUNG.AbfertigungsNr & "' AND UnterNr='" & RECHNUNG.SpeditionsbuchUnterNr & "'", "FMZOLL") + AbfertigungsBez = AbfertigungsBez.Replace("ZA", "Zollabfertigung") + AbfertigungsBez = AbfertigungsBez.Replace("AE", "Ausfuhrabfertigung") + AbfertigungsBez = AbfertigungsBez.Replace("T1", "T1 Versandschein") + AbfertigungsBez = AbfertigungsBez.Replace("T2", "T2 Versandschein") + rpt.txtAbfertigungsart.Text = AbfertigungsBez - rpt.txtPackstuecke.Text = "" - If If(RECHNUNG.Packstücke_und_Warenbezeichnung, "") <> "" Then rpt.txtPackstuecke.Text = RECHNUNG.Packstücke_und_Warenbezeichnung.replace(vbNewLine, ", ") + rpt.txtPackstuecke.Text = "" + If If(RECHNUNG.Packstücke_und_Warenbezeichnung, "") <> "" Then rpt.txtPackstuecke.Text = RECHNUNG.Packstücke_und_Warenbezeichnung.replace(vbNewLine, ", ") - rpt.txtSendungsdetails.Text = "" - If RECHNUNG.AbsenderName_1 <> "" Then rpt.txtSendungsdetails.Text &= "Absender: " & RECHNUNG.AbsenderName_1 & " " & If(RECHNUNG.AbsenderName_2, "") & " " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine - If RECHNUNG.EmpfängerName_1 <> "" Then rpt.txtSendungsdetails.Text &= "Empfänger: " & RECHNUNG.EmpfängerName_1 & " " & If(RECHNUNG.EmpfängerName_2, "") & " " & If(RECHNUNG.EmpfängerOrt, "") & vbNewLine - If RECHNUNG.LKW_Kennzeichen <> "" Then rpt.txtSendungsdetails.Text &= "LKW-Kennzeichen: " & RECHNUNG.LKW_Kennzeichen & vbNewLine - If RECHNUNG.BelegNr <> "" Then rpt.txtSendungsdetails.Text &= "Zollbeleg-Nr.: " & RECHNUNG.BelegNr & vbNewLine + rpt.txtSendungsdetails.Text = "" + If RECHNUNG.AbsenderName_1 <> "" Then rpt.txtSendungsdetails.Text &= "Absender: " & RECHNUNG.AbsenderName_1 & " " & If(RECHNUNG.AbsenderName_2, "") & " " & If(RECHNUNG.AbsenderOrt, "") & vbNewLine + If RECHNUNG.EmpfängerName_1 <> "" Then rpt.txtSendungsdetails.Text &= "Empfänger: " & RECHNUNG.EmpfängerName_1 & " " & If(RECHNUNG.EmpfängerName_2, "") & " " & If(RECHNUNG.EmpfängerOrt, "") & vbNewLine + If RECHNUNG.LKW_Kennzeichen <> "" Then rpt.txtSendungsdetails.Text &= "LKW-Kennzeichen: " & RECHNUNG.LKW_Kennzeichen & vbNewLine + If RECHNUNG.BelegNr <> "" Then rpt.txtSendungsdetails.Text &= "Zollbeleg-Nr.: " & RECHNUNG.BelegNr & vbNewLine - If If(RECHNUNG.Handling, "") <> "" Then - rpt.txtSendungsdetails.Text &= "Handling: " & RECHNUNG.Handling.ToString.Replace(vbNewLine, ", ").Replace(vbCr, ", ").Replace(vbLf, ", ") & vbNewLine - End If - If True Then 'ANLAGEN - Dim Anlagen = "" - If If(RECHNUNG.Anlage_1, "") <> "" Then Anlagen &= RECHNUNG.Anlage_1 & ", " - If If(RECHNUNG.Anlage_2, "") <> "" Then Anlagen &= RECHNUNG.Anlage_2 & ", " - If If(RECHNUNG.Anlage_3, "") <> "" Then Anlagen &= RECHNUNG.Anlage_3 & ", " - If If(RECHNUNG.Anlage_4, "") <> "" Then Anlagen &= RECHNUNG.Anlage_4 & ", " - If If(RECHNUNG.Anlage_5, "") <> "" Then Anlagen &= RECHNUNG.Anlage_5 & ", " - If If(RECHNUNG.Anlage_6, "") <> "" Then Anlagen &= RECHNUNG.Anlage_6 & ", " - If Anlagen.EndsWith(", ") Then Anlagen = Anlagen.Substring(0, Anlagen.Length - 2) - If Anlagen.Replace(" ", "").Trim <> "" Then rpt.txtSendungsdetails.Text &= "Anlagen: " & Anlagen - End If + If If(RECHNUNG.Handling, "") <> "" Then + rpt.txtSendungsdetails.Text &= "Handling: " & RECHNUNG.Handling.ToString.Replace(vbNewLine, ", ").Replace(vbCr, ", ").Replace(vbLf, ", ") & vbNewLine + End If + If True Then 'ANLAGEN + Dim Anlagen = "" + If If(RECHNUNG.Anlage_1, "") <> "" Then Anlagen &= RECHNUNG.Anlage_1 & ", " + If If(RECHNUNG.Anlage_2, "") <> "" Then Anlagen &= RECHNUNG.Anlage_2 & ", " + If If(RECHNUNG.Anlage_3, "") <> "" Then Anlagen &= RECHNUNG.Anlage_3 & ", " + If If(RECHNUNG.Anlage_4, "") <> "" Then Anlagen &= RECHNUNG.Anlage_4 & ", " + If If(RECHNUNG.Anlage_5, "") <> "" Then Anlagen &= RECHNUNG.Anlage_5 & ", " + If If(RECHNUNG.Anlage_6, "") <> "" Then Anlagen &= RECHNUNG.Anlage_6 & ", " + If Anlagen.EndsWith(", ") Then Anlagen = Anlagen.Substring(0, Anlagen.Length - 2) + If Anlagen.Replace(" ", "").Trim <> "" Then rpt.txtSendungsdetails.Text &= "Anlagen: " & Anlagen + End If - rpt.txtSendungsdetails.Text = rpt.txtSendungsdetails.Text.Trim - rpt.txtKdAuftragsnummer.Text = If(RECHNUNG.KdAuftragsNr, "") + rpt.txtSendungsdetails.Text = rpt.txtSendungsdetails.Text.Trim + rpt.txtKdAuftragsnummer.Text = If(RECHNUNG.KdAuftragsNr, "") - Dim stPfl As Double = 0 - Dim stFrei As Double = 0 + Dim stPfl As Double = 0 + Dim stFrei As Double = 0 - Dim vorzeichen = If(If(RECHNUNG.Vorzeichen, "") = "-", -1, 1) 'Bei Rechnung als Klasse ist der Betrag immer positiv! + Dim vorzeichen = If(If(RECHNUNG.Vorzeichen, "") = "-", -1, 1) 'Bei Rechnung als Klasse ist der Betrag immer positiv! - For Each p In RECHNUNG.POSITIONEN - If VorschauID = "PROVISIONSABRECHNUNG" Then - 'Bei ProvAbr _> Nur Leistungen die als Provisionsabrechnung zählen! - If CBool(SQL.DLookup("Provisionsabrechnung", "Leistungen", "LeistungsNr='" & p.LeistungsNr & "'", "FMZOLL")) Then - stPfl += CDbl(p.SteuerpflichtigerBetrag) - stFrei += CDbl(p.SteuerfreierBetrag) - End If - Else - stPfl += CDbl(p.SteuerpflichtigerBetrag) - stFrei += CDbl(p.SteuerfreierBetrag) - End If + For Each p In RECHNUNG.POSITIONEN + If VorschauID = "PROVISIONSABRECHNUNG" Then + 'Bei ProvAbr _> Nur Leistungen die als Provisionsabrechnung zählen! + If CBool(SQL.DLookup("Provisionsabrechnung", "Leistungen", "LeistungsNr='" & p.LeistungsNr & "'", "FMZOLL")) Then + stPfl += CDbl(p.SteuerpflichtigerBetrag) + stFrei += CDbl(p.SteuerfreierBetrag) + End If + Else + stPfl += CDbl(p.SteuerpflichtigerBetrag) + stFrei += CDbl(p.SteuerfreierBetrag) + End If - Next - stPfl *= vorzeichen - rpt.lblSteuerpflichtig.Text = If(stPfl <> 0, CDbl(stPfl).ToString("N2", Globalization.CultureInfo.CurrentCulture), "") + Next + stPfl *= vorzeichen + rpt.lblSteuerpflichtig.Text = If(stPfl <> 0, CDbl(stPfl).ToString("N2", Globalization.CultureInfo.CurrentCulture), "") - ' stFrei = CDbl(RECHNUNG.SteuerfreierGesamtbetrag) * vorzeichen - stFrei = stFrei * vorzeichen - rpt.lblSteuerfrei.Text = If(stFrei <> 0, CDbl(stFrei).ToString("N2", Globalization.CultureInfo.CurrentCulture), "") + ' stFrei = CDbl(RECHNUNG.SteuerfreierGesamtbetrag) * vorzeichen + stFrei = stFrei * vorzeichen + rpt.lblSteuerfrei.Text = If(stFrei <> 0, CDbl(stFrei).ToString("N2", Globalization.CultureInfo.CurrentCulture), "") - sumSteuerpflichtig += stPfl - sumSteuerfrei += stFrei + sumSteuerpflichtig += stPfl + sumSteuerfrei += stFrei - Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(RECHNUNG.RechnungsKundenNr) - If VorschauID = "PROVISIONSABRECHNUNG" Or KUNDE_ERW.kde_FakturierungSR_Details Or isMDMRechnungsdruck Then - Dim subRpt = New rptSammelRechnungAnlagenDruck_Leistungen(rpt._LAN, RECHNUNG, VorschauID) + Dim KUNDE_ERW As New VERAG_PROG_ALLGEMEIN.cKundenErweitert(RECHNUNG.RechnungsKundenNr) + If VorschauID = "PROVISIONSABRECHNUNG" Or KUNDE_ERW.kde_FakturierungSR_Details Or isMDMRechnungsdruck Then + Dim subRpt = New rptSammelRechnungAnlagenDruck_Leistungen(rpt._LAN, RECHNUNG, VorschauID) - rpt.SubReport.Report = subRpt - rpt.lblSteuerfrei.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold) - rpt.lblSteuerpflichtig.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold) + rpt.SubReport.Report = subRpt + rpt.lblSteuerfrei.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold) + rpt.lblSteuerpflichtig.Font = New Font(rpt.lblSteuerfrei.Font, FontStyle.Bold) - 'txtPackstuecke.Top += SubReport.Height - 'txtKdAuftragsnummer.Top += SubReport.Height - 'txtSendungsdetails.Top += SubReport.Height - Else - rpt.SubReport.Report = Nothing - End If - ' rpt.Line10.AnchorBottom = True - ' rpt.Line10.Height = rpt.Detail.Height - End If + 'txtPackstuecke.Top += SubReport.Height + 'txtKdAuftragsnummer.Top += SubReport.Height + 'txtSendungsdetails.Top += SubReport.Height + Else + rpt.SubReport.Report = Nothing + End If + ' rpt.Line10.AnchorBottom = True + ' rpt.Line10.Height = rpt.Detail.Height + End If - End Sub + End Sub - AddHandler rpt.ReportFooter1.Format, Sub() + AddHandler rpt.ReportFooter1.Format, Sub() rpt.lblSteuerpflichtigGes.Text = If(sumSteuerpflichtig <> 0, (sumSteuerpflichtig).ToString("N2", CultureInfo.CurrentCulture), "") rpt.lblSteuerfreiGes.Text = If(sumSteuerfrei <> 0, (sumSteuerfrei).ToString("N2", CultureInfo.CurrentCulture), "") @@ -5179,24 +5179,24 @@ Public Class cFakturierung Dim NettoGes = sumSteuerpflichtig + sumSteuerfrei Dim ProvProzent As Double = KD_ERW_PROV.kde_Provisionsverguetung_ProzentDL Dim ProvBetrag = NettoGes * ProvProzent - Dim subRptProv = New rptSammelRechnungAnlagenDruck_ProvSum(rpt._LAN, VorschauID) - subRptProv.lblNettoGes.Value = NettoGes.ToString("N2", CultureInfo.CurrentCulture) - subRptProv.lblProvProzent.Value = (ProvProzent * 100).ToString("N2", CultureInfo.CurrentCulture) - subRptProv.lblProvBetrag.Value = ProvBetrag.ToString("N2", CultureInfo.CurrentCulture) - subRptProv.lblProvBetragWaehr.Value = If(Row("Währungscode") IsNot DBNull.Value, CStr(Row("Währungscode")), "EUR") + Dim subRptProv = New rptSammelRechnungAnlagenDruck_ProvSum(rpt._LAN, VorschauID) + subRptProv.lblNettoGes.Value = NettoGes.ToString("N2", CultureInfo.CurrentCulture) + subRptProv.lblProvProzent.Value = (ProvProzent * 100).ToString("N2", CultureInfo.CurrentCulture) + subRptProv.lblProvBetrag.Value = ProvBetrag.ToString("N2", CultureInfo.CurrentCulture) + subRptProv.lblProvBetragWaehr.Value = If(Row("Währungscode") IsNot DBNull.Value, CStr(Row("Währungscode")), "EUR") - rpt.SubReport1.Report = subRptProv - rpt.SubReport1.Visible = True + rpt.SubReport1.Report = subRptProv + rpt.SubReport1.Visible = True - 'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblNettoGes.Value = NettoGes.ToString("N2", CultureInfo.CurrentCulture) - 'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblProvProzent.Value = (ProvProzent * 100).ToString("N2", CultureInfo.CurrentCulture) - 'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblProvBetrag.Value = ProvBetrag.ToString("N2", CultureInfo.CurrentCulture) - 'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblProvBetragWaehr.Value = If(Row("Währungscode") IsNot DBNull.Value, CStr(Row("Währungscode")), "EUR") + 'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblNettoGes.Value = NettoGes.ToString("N2", CultureInfo.CurrentCulture) + 'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblProvProzent.Value = (ProvProzent * 100).ToString("N2", CultureInfo.CurrentCulture) + 'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblProvBetrag.Value = ProvBetrag.ToString("N2", CultureInfo.CurrentCulture) + 'DirectCast(rpt.SubReport1.Report, rptSammelRechnungAnlagenDruck_ProvSum).lblProvBetragWaehr.Value = If(Row("Währungscode") IsNot DBNull.Value, CStr(Row("Währungscode")), "EUR") - 'rpt.SubReport1.Height = 100 ' nur falls nötig; sonst per Layout - Else + 'rpt.SubReport1.Height = 100 ' nur falls nötig; sonst per Layout + Else rpt.SubReport1.Report = Nothing rpt.SubReport1.Visible = False End If @@ -5299,7 +5299,7 @@ Public Class cFakturierung 'rpt.lblAbfertigungsDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString 'rpt.lblLKWId.Text = If(RECHNUNG.AvisoID, "") - Dim sachbearbeiterAufRechnung = getSBRgName(Row("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, Row("Sachbearbeiter").ToString.ToUpper) + Dim sachbearbeiterAufRechnung = getSBRgName(Row("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, Row("Sachbearbeiter").ToString.ToUpper, True) If sachbearbeiterAufRechnung = "" Then rpt.lblSachbearbeiter.Text = getSBRgName(Row("Firma_ID"), Row("Sachbearbeiter").ToString.ToUpper) @@ -5537,13 +5537,16 @@ Public Class cFakturierung - Shared Function getSBRgName(Firma_id As Integer, USRKURZNAME As String, Optional NameAufBeleg As String = "") As String + Shared Function getSBRgName(Firma_id As Integer, USRKURZNAME As String, Optional NameAufBeleg As String = "", Optional isSammelrechnung As Boolean = False) As String If USRKURZNAME Is Nothing Then Return "" If USRKURZNAME Is DBNull.Value Then Return "" If NameAufBeleg <> "" Then - USRKURZNAME = NameAufBeleg + If Not isSammelrechnung Then 'Bei sammelrechnung nicht den Belegerzeuger andrucken!!!!! + USRKURZNAME = NameAufBeleg + End If + End If If USRKURZNAME = "" Then USRKURZNAME = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME @@ -5722,7 +5725,7 @@ Public Class cFakturierung 'rpt.lblAbfertigungsNr.Text = ROW("FilialenNr") & " / " & ROW("AbfertigungsNr") & " " & ROW("SpeditionsbuchUnterNr").ToString("00") 'rpt.lblAbfertigungsDatum.Text = RECHNUNG.Abfertigungsdatum.ToShortDateString 'rpt.lblLKWId.Text = If(RECHNUNG.AvisoID, "") - Dim sachbearbeiterAufRechnung = getSBRgName(ROW("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, ROW("Sachbearbeiter")) + Dim sachbearbeiterAufRechnung = getSBRgName(ROW("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, ROW("Sachbearbeiter"), True) rpt.lblSachbearbeiter.Text = IIf(sachbearbeiterAufRechnung = "Herr Ordu", "Verrechnung", sachbearbeiterAufRechnung) 'könnten ja mehrerer SB die Rg-Anlagen geschreiben haben - NEU 'rpt.lblSachbearbeiter.Text = getSBRgName(ROW("Firma_ID"), VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME) 'könnten ja mehrerer SB die Rg-Anlagen geschreiben haben - ALT diff --git a/SDL/Fakturierung/frmFaktEmail.vb b/SDL/Fakturierung/frmFaktEmail.vb index db54c105..d686bab7 100644 --- a/SDL/Fakturierung/frmFaktEmail.vb +++ b/SDL/Fakturierung/frmFaktEmail.vb @@ -682,7 +682,7 @@ Public Class frmFaktEmail Dim Mail As Microsoft.Office.Interop.Outlook.MailItem Mail = outl.CreateItem(0) - If Firma_ID = 24 OrElse Firma_ID = 19 Then + If Firma_ID = 24 OrElse Firma_ID = 19 OrElse Firma_ID = 1 OrElse Firma_ID = 7 Then Try Dim oAccount As Outlook.Account Dim accountToSent = "" @@ -690,8 +690,10 @@ Public Class frmFaktEmail Select Case Firma_ID Case 24 accountToSent = SDL.cFakturierung.getDefaultMail("AMBAR",, True) - Case Else + Case 19 accountToSent = "mmdabrechnung@verag.ag" 'bewusst falsch geschrieben!!!! + Case Else + accountToSent = "rechnungsversand@verag.ag" End Select diff --git a/SDL/Fakturierung/rptRechnungMDM_AnlagenDruck_Zinsennachberechnung.vb b/SDL/Fakturierung/rptRechnungMDM_AnlagenDruck_Zinsennachberechnung.vb index 34e041ee..463fcfdc 100644 --- a/SDL/Fakturierung/rptRechnungMDM_AnlagenDruck_Zinsennachberechnung.vb +++ b/SDL/Fakturierung/rptRechnungMDM_AnlagenDruck_Zinsennachberechnung.vb @@ -104,7 +104,7 @@ Else Dim dtTemp As DataTable - dtTemp = SQL.loadDgvBySql_Param("select [id] as clmnID,[belegNr] as clmnReNr,[buchungstext] as clmnAbfNr,[zinssatz] clmnVZ,[belegZahlungsziel],[ueberschreitungInTagen] clmnTage,[zinsbetrag] clmnZinsen,[belegDatum] as clmnReDatum,[zahlungsBetrag] as clmnReBetrag,[zahlungDatum] as clmnZE, [faelligkeitsDatum] as clmnFaellig from tblMDM_Zinsberechnung where RK_ID =" & RECHNUNG.RK_ID & " and FORMAT(id, '00000') +'-'+ buchungstext like '" & LeistungsText.Trim() & "%'", "FMZOLL") + dtTemp = SQL.loadDgvBySql_Param("select [id] as clmnID,[belegNr] as clmnReNr,[buchungstext] as clmnAbfNr,[zinssatz] clmnVZ,[belegZahlungsziel],[ueberschreitungInTagen] clmnTage,[zinsbetrag] clmnZinsen,[belegDatum] as clmnReDatum,[zahlungsBetrag] as clmnReBetrag,[zahlungDatum] as clmnZE, [faelligkeitsDatum] as clmnFaellig from tblMDM_Zinsberechnung where RK_ID =" & RECHNUNG.RK_ID & " and RIGHT('00000' + CAST(id AS VARCHAR(5)), 5) +'-'+ buchungstext like '" & LeistungsText.Trim() & "%'", "FMZOLL") For Each rg As DataRow In dtTemp.Rows dt.Rows.Add(rg.Item("clmnID"), rg.Item("clmnReNr"), rg.Item("clmnReDatum"), rg.Item("clmnAbfNr"), rg.Item("clmnReBetrag"), rg.Item("clmnZE"), rg.Item("clmnTage"), rg.Item("clmnZinsen"), rg.Item("clmnVZ"), rg.Item("clmnFaellig")) diff --git a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb index b61df8b6..54bbfdc9 100644 --- a/SDL/Fakturierung/usrCntlFaktAbrechnung.vb +++ b/SDL/Fakturierung/usrCntlFaktAbrechnung.vb @@ -1,5 +1,4 @@ Imports System.Web.UI.WebControls.Expressions -Imports DocumentFormat.OpenXml.Drawing.Diagrams Imports VERAG_PROG_ALLGEMEIN Public Class usrCntlFaktAbrechnung @@ -1526,7 +1525,14 @@ Public Class usrCntlFaktAbrechnung ' POS.IndexZkteing = r.Cells("IndexZkteing").Value POS.BerechnungsartNr = r.Cells("BerechnungsartNr").Value POS.Preis = If(r.Cells("Preis").Value Is DBNull.Value, 0, CDbl(r.Cells("Preis").Value.ToString.Replace(".", ""))) - POS.Anzahl = If(r.Cells("Anzahl").Value Is DBNull.Value, 0, r.Cells("Anzahl").Value) + POS.Anzahl = If(r.Cells("Anzahl").Value Is DBNull.Value, 0, CInt(r.Cells("Anzahl").Value)) + + If r.Cells("Anzahl").Value Is DBNull.Value OrElse r.Cells("Anzahl").Value Is Nothing Then + POS.Anzahl = 0 + ElseIf Integer.TryParse(r.Cells("Anzahl").Value.ToString(), POS.Anzahl) Then + Else + POS.Anzahl = 0 + End If '-----------------------MWST-Abrechnung! + Kompat. zu FM-Zoll 'If FIRMA IsNot Nothing AndAlso FIRMA.Firma_ID = 19 AndAlso RECHNUNG.DruckDatumZeit Is Nothing Then diff --git a/SDL/My Project/AssemblyInfo.vb b/SDL/My Project/AssemblyInfo.vb index 920610ca..43ffb07f 100644 --- a/SDL/My Project/AssemblyInfo.vb +++ b/SDL/My Project/AssemblyInfo.vb @@ -31,5 +31,5 @@ Imports System.Runtime.InteropServices ' übernehmen, indem Sie "*" eingeben: ' - - + + diff --git a/SDL/buchhaltung/usrCntlBH.vb b/SDL/buchhaltung/usrCntlBH.vb index 725893d5..9069c535 100644 --- a/SDL/buchhaltung/usrCntlBH.vb +++ b/SDL/buchhaltung/usrCntlBH.vb @@ -1276,10 +1276,32 @@ Public Class usrCntlBH Dim dtfehlendeOfferten As DataTable = SQL.loadDgvBySql(sqlStringFehlendeOffertenNr, "FMZOLL") If dtfehlendeOfferten.Rows.Count > 0 Then - If Not vbYes = MsgBox("Es fehlen bei " & dtfehlendeOfferten.Rows.Count & " Kunden das Offert 95, bitte hinterlegen ansonsten wird die Position nicht verrechnet!" & vbNewLine & "Möchten Sie trotzdem fortfahren!", vbYesNoCancel) Then - cProgramFunctions.genExcelCSVFromDT(dtfehlendeOfferten, True) - Exit Sub - End If + + + 'nicht mehr fragen, sondern einfach anlegen! + + 'If Not vbYes = MsgBox("Es fehlen bei " & dtfehlendeOfferten.Rows.Count & " Kunden das Offert 95, bitte hinterlegen ansonsten wird die Position nicht verrechnet!" & vbNewLine & "Möchten Sie trotzdem fortfahren!", vbYesNoCancel) Then + ' cProgramFunctions.genExcelCSVFromDT(dtfehlendeOfferten, True) + ' Exit Sub + 'End If + + + + + For Each R As DataRow In dtfehlendeOfferten.Rows + If Not IsDBNull(R.Item("KundenNr")) AndAlso R.Item("KundenNr") IsNot Nothing AndAlso IsNumeric(R.Item("KundenNr")) Then + + Dim o As New VERAG_PROG_ALLGEMEIN.cOfferte(R.Item("KundenNr"), 95, False) + o.Art = "Neuanlage" + o.SAVE() 'speichern + o.LOAD_POSITIONEN() 'positionen Laden + If o.POSITIONEN.Count = 0 Then 'wenn keine POS --> neues Offert + o.RESET_STANDARTOFFERTEN_FIRMA(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, "", "DE") '--> Standartofferten laden + End If + End If + + Next + End If @@ -1308,6 +1330,8 @@ Public Class usrCntlBH + + Dim verarbOK As Boolean = True Dim SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch = Nothing Dim RK_ID As Integer = -1 diff --git a/SDL/kassenbuch/frmKassenbuch.vb b/SDL/kassenbuch/frmKassenbuch.vb index 5bac0dac..f3017794 100644 --- a/SDL/kassenbuch/frmKassenbuch.vb +++ b/SDL/kassenbuch/frmKassenbuch.vb @@ -866,7 +866,7 @@ Public Class frmKassenbuch End If If PERSONAL.cRKSV_Kasse IsNot Nothing Then lblRKSV_KASSEN_Bez.Text = PERSONAL.cRKSV_Kasse.rksv_bez If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then - btnBelegLeihgeld.Visible = False + 'btnBelegLeihgeld.Visible = False btnBelegGSKunde.Visible = False End If If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then 'vorher IMEX diff --git a/SDL/kassenbuch/frmNacherfassungLeihgeld.Designer.vb b/SDL/kassenbuch/frmNacherfassungLeihgeld.Designer.vb index 4d2d496c..54da3897 100644 --- a/SDL/kassenbuch/frmNacherfassungLeihgeld.Designer.vb +++ b/SDL/kassenbuch/frmNacherfassungLeihgeld.Designer.vb @@ -69,6 +69,7 @@ Partial Class frmNacherfassungLeihgeld Me.MyTextBoxLKWKz = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtFahrer = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.cbxOP_sofort_buchen = New System.Windows.Forms.CheckBox() + Me.lblGesperrt = New System.Windows.Forms.Label() Me.pnl.SuspendLayout() Me.Panel1.SuspendLayout() Me.Panel2.SuspendLayout() @@ -800,12 +801,24 @@ Partial Class frmNacherfassungLeihgeld Me.cbxOP_sofort_buchen.Text = "Buchung sofort erzeugen" Me.cbxOP_sofort_buchen.UseVisualStyleBackColor = True ' + 'lblGesperrt + ' + Me.lblGesperrt.AutoSize = True + Me.lblGesperrt.Font = New System.Drawing.Font("Microsoft Sans Serif", 9.75!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblGesperrt.ForeColor = System.Drawing.Color.Red + Me.lblGesperrt.Location = New System.Drawing.Point(216, 98) + Me.lblGesperrt.Name = "lblGesperrt" + Me.lblGesperrt.Size = New System.Drawing.Size(69, 16) + Me.lblGesperrt.TabIndex = 214 + Me.lblGesperrt.Text = "gesperrt!" + ' 'frmNacherfassungLeihgeld ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.White Me.ClientSize = New System.Drawing.Size(441, 526) + Me.Controls.Add(Me.lblGesperrt) Me.Controls.Add(Me.cbxOP_sofort_buchen) Me.Controls.Add(Me.txtOpLeihgeld) Me.Controls.Add(Me.Label44) @@ -893,4 +906,5 @@ Partial Class frmNacherfassungLeihgeld Friend WithEvents txtOpLeihgeld As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents Label44 As Label Public WithEvents cbxOP_sofort_buchen As CheckBox + Friend WithEvents lblGesperrt As Label End Class diff --git a/SDL/kassenbuch/frmNacherfassungLeihgeld.vb b/SDL/kassenbuch/frmNacherfassungLeihgeld.vb index 0c3f2326..cc7a124c 100644 --- a/SDL/kassenbuch/frmNacherfassungLeihgeld.vb +++ b/SDL/kassenbuch/frmNacherfassungLeihgeld.vb @@ -1,4 +1,6 @@ -Imports GrapeCity.ActiveReports + +Imports GrapeCity.ActiveReports +Imports VERAG_PROG_ALLGEMEIN Public Class frmNacherfassungLeihgeld Dim cOptionenDAL As New cOptionenDAL @@ -73,8 +75,8 @@ Public Class frmNacherfassungLeihgeld stammfiliale = "5501" cboFiliale.fillWithSQL("SELECT FilialenNr, cast(FilialenNr as varchar(4)) + ' ' + Grenzstelle FROM Filialen WHERE Fil_Status='A' AND FilialenNr IN (5501) ORDER BY FilialenNr ", False, "FMZOLL", True) Case "ATILLA" - stammfiliale = "4801" - cboFiliale.fillWithSQL("SELECT FilialenNr, cast(FilialenNr as varchar(4)) + ' ' + Grenzstelle FROM Filialen WHERE Fil_Status='A' AND FilialenNr IN (4801) ORDER BY FilialenNr ", False, "FMZOLL", True) + stammfiliale = "4806" + cboFiliale.fillWithSQL("SELECT FilialenNr, cast(FilialenNr as varchar(4)) + ' ' + Grenzstelle FROM Filialen WHERE Fil_Status='A' AND FilialenNr IN (4806) ORDER BY FilialenNr ", False, "FMZOLL", True) Case Else cboFiliale.fillWithSQL("SELECT FilialenNr, cast(FilialenNr as varchar(4)) + ' ' + Grenzstelle FROM Filialen WHERE Fil_Status='A' AND FilialenNr IN (4803,5103,5003,5303) ORDER BY FilialenNr ", False, "FMZOLL", True) Select Case PERSONAL.Niederlassung @@ -276,15 +278,6 @@ Public Class frmNacherfassungLeihgeld Private Sub btnPrint_Click(sender As Object, e As EventArgs) Handles btnPrint.Click Try - If BELEG.KundenNr > 0 AndAlso cbxOP_sofort_buchen.Checked Then - Dim KundenKontoArchiv As String = SQL.getValueTxtBySqlVarList("SELECT c_archiv FROM [FIBU2].dbo.fibu_konto WHERE i_konto = " & BELEG.KundenNr & " AND i_firm_refid = 7", "FIBU") 'ATILLA MANDANT!' - If KundenKontoArchiv <> "" Then - MsgBox("ACHTUNG, der Debitor mit der Nr: " & BELEG.KundenNr & " ist in der Syska-FIBU inaktiv, bitte andere KundenNr verwenden!") - Exit Sub - End If - - End If - If BELEG.gebucht Or BELEG.gebuchtStorno Then If BELEG.rksv_id > 0 Then KASSE.LOAD(BELEG.rksv_id) @@ -310,6 +303,18 @@ Public Class frmNacherfassungLeihgeld If Not validValues() Then Me.Cursor = Cursors.Default : Exit Sub datatoBeleg() 'Daten werden in "BELEG" geldaen + + If BELEG.KundenNr > 0 AndAlso cbxOP_sofort_buchen.Checked Then + Dim KundenKontoArchiv As String = (New VERAG_PROG_ALLGEMEIN.SQL).getValueTxtBySql("SELECT isnull(c_archiv,'A') FROM [FIBU2].dbo.fibu_konto WHERE i_konto = " & BELEG.KundenNr & " AND i_firm_refid = 7", "FIBU") 'ATILLA MANDANT!' + + Select Case KundenKontoArchiv + Case "I" : MsgBox("ACHTUNG, der Debitor mit der Nr: " & BELEG.KundenNr & " ist in der Syska-FIBU inaktiv, bitte andere KundenNr verwenden (799999)!") : Exit Sub 'inaktiv + Case "" : MsgBox("ACHTUNG, der Debitor mit der Nr: " & BELEG.KundenNr & " ist in der Syska-FIBU nicht vorhanden, bitte andere KundenNr verwenden (799999)!") : Exit Sub 'nicht vorhanden + Case Else 'aktiv -> OK + End Select + + End If + BELEG.POS.Clear() AddPOS() @@ -417,7 +422,8 @@ Public Class frmNacherfassungLeihgeld If Not abbruch Then cRKSV.insertToSpedBuch(PERSONAL, PERSONAL_LG, BELEG, AvisoID, , barbetrag, BelegNrProvision) - If Not cRKSV.SpedBuchExists(BELEG) Then + Dim spedBuchExisting As Boolean = cRKSV.SpedBuchExists(BELEG) + If Not spedBuchExisting Then MsgBox("Speditionsbuch-Eintrag fehlgeschlagen!!") Else If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "VERAG" Then 'nur bei VERAG @@ -431,6 +437,24 @@ Public Class frmNacherfassungLeihgeld End If End If End If + + + + + If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" AndAlso spedBuchExisting Then + 'create Rechnung für ATILLA + Dim verarbOK As Boolean = True + Dim SPEDBUCH As New VERAG_PROG_ALLGEMEIN.cSpeditionsbuch(BELEG.FilialenNr, BELEG.AbfertigungsNr) + Dim RK_ID As Integer = -1 + + If Not gen_RECHNUNG_BySPEDBUCH(BELEG.KundenNr, SPEDBUCH, RK_ID, cbxOP_sofort_buchen.Checked, summeBRUTTO, summeNETTO) Then verarbOK = False + + If verarbOK Then + + + End If + End If + End If End If @@ -448,6 +472,171 @@ Public Class frmNacherfassungLeihgeld End Try End Sub + Function gen_RECHNUNG_BySPEDBUCH(KdNr As String, SPEDBUCH As VERAG_PROG_ALLGEMEIN.cSpeditionsbuch, ByRef RK_ID As Integer, ByRef trdin As Boolean, ByRef summeBRUTTO As Double, ByRef summeNETTO As Double) + Try + + If KdNr = "" Then Return False + + Dim AD As New VERAG_PROG_ALLGEMEIN.cAdressen(SPEDBUCH.VermittlerKundenNr) + Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(SPEDBUCH.VermittlerKundenNr) + Dim RG As New VERAG_PROG_ALLGEMEIN.cRechnungsausgang + + Dim OffertenNr As Integer + Dim Abfertigungsart As Integer + + 'TODO. Setzen! + OffertenNr = 9 : Abfertigungsart = 10 : RG.Anlage_1 = "" + + RG.Firma_ID = 7 + + RG.FilialenNr = SPEDBUCH.FilialenNr + RG.AbfertigungsNr = SPEDBUCH.AbfertigungsNr + RG.SpeditionsbuchUnterNr = SPEDBUCH.UnterNr + RG.UnterNr = RG.getMaxRGUnterNr() + + RG.Buchungsjahr = cRKSV.getGJ(SPEDBUCH.Abfertigungsdatum, RG.Firma_ID) 'If(Now.Month = 1, Now.Year - 1, Now.Year) + RG.FilialenNr = SPEDBUCH.FilialenNr + RG.Abfertigungsdatum = SPEDBUCH.Abfertigungsdatum + RG.Sammelrechnung = 0 + RG.BelegartenKz = "AR" + RG.BelegartenNr = 70 + RG.BelegartenBez = "Rechnung" + RG.Vorzeichen = "+" + + RG.VermittlerKundenNr = AD.AdressenNr + RG.VermittlerLandKz = AD.LandKz + RG.VermittlerName_1 = AD.Name_1 + RG.VermittlerName_2 = AD.Name_2 + RG.VermittlerOffertenNr = OffertenNr + RG.VermittlerOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")) + RG.VermittlerStraße = AD.Straße + RG.Rechnung_an = 3 + RG.OffertenNr = OffertenNr + + RG.KundenNrZentrale = KD.KundenNrZentrale + RG.RechnungsKundenNr = AD.AdressenNr + RG.RechnungsLandKz = AD.LandKz + RG.RechnungsName_1 = AD.Name_1 + RG.RechnungsName_2 = AD.Name_2 + RG.RechnungsOrt = (If(AD.LandKz, "") & " " & If(AD.PLZ, "") & " " & If(AD.Ort, "")) + RG.RechnungsStraße = AD.Straße + + RG.RechnungsUstIdKz = AD.UstIdKz + RG.RechnungsUstIdNr = AD.UstIdNr + RG.RechnungsUstIdGeprüft = AD.UstIdGeprüft + + RG.Lastschrift = KD.Lastschrift + RG.Kunden_SVS = KD.SVS + RG.Steuerschlüssel = KD.Steuerschlüssel + RG.Vorkasse = KD.Vorkasse + RG.Vorlageprovision_Proz = KD.Vorlageprovision + RG.Kreditaufwendungen_Proz = KD.Kreditaufwendungen + RG.RechnungSprache = "DE" + + RG.Anlage_2 = "" + RG.Anlage_3 = "" + RG.Anlage_4 = "" + RG.Anlage_5 = "" + RG.Anlage_6 = "" + + RG.Packstücke_und_Warenbezeichnung = SPEDBUCH.Vermerk + 'RG.EMailRechnungstext = Fusstext + + If Not IsDBNull(KD.Zahlungsziel) AndAlso IsNumeric(KD.Zahlungsziel) Then + Dim Zahlungsziel As Integer = CInt(KD.Zahlungsziel) + RG.Nettozahlungsziel = IIf(Zahlungsziel > 14, 14, KD.Zahlungsziel) + End If + + RG.SteuerpflichtigerGesamtbetrag = 0 + RG.SteuerfreierGesamtbetrag = 0 + RG.Status = 0 + + RG.[Vorkosten] = 0 + RG.[Erlös] = 0 + 'RG.[Buchungsjahr] = 0 + RG.[Währungscode] = "EUR" + RG.ReErfZeitstempel = Now + + RG.Vermerk = SPEDBUCH.Vermerk + + RG.Trdin = trdin + + RG.Sachbearbeiter = VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME + + Dim sqlstr As String = "" + Dim useNettogesamtbetrag As Boolean = False + + Dim OFFERTE As New VERAG_PROG_ALLGEMEIN.cOfferte(KdNr, OffertenNr, True) + RG.LOAD_OFFERT_POSITIONEN() ' --> OFFERTE MIT ANZAHL >0 und Preis >0 + + + allPos(RG, OFFERTE, 110, summeBRUTTO, summeNETTO, (summeBRUTTO - summeNETTO)) + + Dim dtSt As DataTable = SQL.loadDgvBySql("SELECT TOP 1 isnull([Steuersatz %],0),isnull([Steuerbezeichnung],'') FROM [Steuertabelle] WHERE [Steuerschlüssel]='" & RG.Steuerschlüssel & "'", "FMZOLL") + If dtSt IsNot Nothing AndAlso dtSt.Rows.Count > 0 Then + RG.Steuersatz_Proz = dtSt.Rows(0)(0) + End If + + cFakturierung.setGesamtBetraege(RG,, useNettogesamtbetrag) + + RG.Text = (cFakturierung.przRechnungstextTXT(RG, SPEDBUCH) & vbNewLine & cFakturierung.przRechnungstextZZ(RG)).Trim + + If RG.SAVE Then + RK_ID = RG.RK_ID + Return True + Else + Return False + End If + + Catch ex As System.Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return "" + + End Function + + Function allPos(ByRef RG As VERAG_PROG_ALLGEMEIN.cRechnungsausgang, OFFERTE As VERAG_PROG_ALLGEMEIN.cOfferte, LeistungsNr As Integer, NettoBetrag As Double, BruttoBetrag As Double, Optional UstBetrag As Double = 0) + Try + + For Each o In OFFERTE.POSITIONEN + If o.LeistungsNr = LeistungsNr Then + + Dim POS As New VERAG_PROG_ALLGEMEIN.cRechnungsausgangPositionen() + Dim LEISTUNG As New VERAG_PROG_ALLGEMEIN.cLeistungen(o.LeistungsNr) + POS.LeistungsNr = o.LeistungsNr + POS.LeistungsBez = o.LeistungsBez + + POS.BerechnungsartNr = o.BerechnungsartNr + 'POS.Preis = BruttoBetrag + POS.Anzahl = 1 + POS.Steuerpflichtig = LEISTUNG.Steuerpflichtig + 'Berrechnunggebühr wird immer vom übergebenen Betrag abzüglich UST berechnet (Nettobetrag), außer bei UTA! + POS.BGebBgl = NettoBetrag - UstBetrag + + + If POS.Steuerpflichtig Then + POS.SteuerpflichtigerBetrag = NettoBetrag + POS.Preis = NettoBetrag + Else + POS.SteuerfreierBetrag = BruttoBetrag + POS.Preis = BruttoBetrag + End If + 'POS.NachzahlungsID = nachzahlungsID 'nix gut + POS.BGebLeistungsNr = o.BGebLeistungsNr + POS.BGebProzent = o.BGebProzent + POS.BGebMinBetrag = o.BGebMinBetrag + + RG.POSITIONEN.Add(POS) + + Return True + End If + Next + Catch ex As Exception + VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) + End Try + Return False + End Function + Function printProvision(ByRef barBetrag As Double, ByRef BelegNrProvision As Integer) As Boolean printProvision = False Dim BELEG_Prov As New EABeleg(PERSONAL.Mandant, PERSONAL.Niederlassung, PERSONAL.ID) @@ -676,8 +865,8 @@ Public Class frmNacherfassungLeihgeld If cboFiliale._value <> "" Then txtAuftraggeberKdNr.Focus() If VERAG_PROG_ALLGEMEIN.cAllgemein.FIRMA = "ATILLA" Then - btnNeueAbfertigungNrVergeben.Visible = False - txtAbfertigungsnummer.Enabled = True + 'btnNeueAbfertigungNrVergeben.Visible = False + 'txtAbfertigungsnummer.Enabled = True Else If Not VERAG_PROG_ALLGEMEIN.cAllgemein.AUTO_ABF_NR Then @@ -744,6 +933,31 @@ Public Class frmNacherfassungLeihgeld Else txtOpLeihgeld.Text = "" End If + Case "ATILLA" + If kdFrachtführer.KdNr <> "" AndAlso (IsNumeric(kdFrachtführer.KdNr) AndAlso kdFrachtführer.KdNr > 0) Then + Dim vorhandesOffert As Boolean = SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) from Offertenpositionen where KundenNr = " & kdFrachtführer.KdNr & " AND OffertenNr = 9 and LeistungsNr = 110 and LeistungsBez = 'Leihgeldauszahlung'", "FMZOLL") > 0 + + If Not vorhandesOffert Then + If vbYes = MsgBox("Der ausgewählte Kunde " & kdFrachtführer.KdNr & " besitzt kein Offerte für Leihgeldauszahlungen!" & vbNewLine & "Leihgeldoffert anlegen?", vbYesNoCancel) Then + Dim o As New VERAG_PROG_ALLGEMEIN.cOfferte(kdFrachtführer.KdNr, 9, False) + o.Art = "Neuanlage" + o.SAVE() 'speichern + o.LOAD_POSITIONEN() 'positionen Laden + If o.POSITIONEN.Count = 0 Then 'wenn keine POS --> neues Offert + o.RESET_STANDARTOFFERTEN_FIRMA(VERAG_PROG_ALLGEMEIN.cAllgemein.USRKURZNAME, "", "DE") '--> Standartofferten laden + End If + Else + Exit Sub + End If + + Else + Dim OffertGesperrt As Boolean = SQL.getValueTxtBySql("SELECT TOP 1 COUNT(*) from Offerten where OffertenNr = 9 AND isnull(gesperrt,0) <> 0 AND KundenNr = " & kdFrachtführer.KdNr, "FMZOLL") > 0 + lblGesperrt.Visible = OffertGesperrt + btnPrint.Enabled = Not OffertGesperrt + + End If + End If + End Select End Sub @@ -763,8 +977,8 @@ Public Class frmNacherfassungLeihgeld Private Sub cboProvisionStaffelArt_SelectedIndexChanged(sender As Object, e As EventArgs) Handles cboProvisionStaffelArt.SelectedIndexChanged cboProvisionStaffel.Items.Clear() If IsNumeric(cboProvisionStaffelArt._value) Then - cboProvisionStaffel.fillWithSQL("SELECT [PreislistenPos],[Leistungsbeschreibung] FROM [VERAG].[dbo].[tblPreislistenpositionen] where LeistungsNr IN (357,355) AND PreislistenNr='" & cboProvisionStaffelArt._value & "'", False, "FMZOLL", False) - End If + cboProvisionStaffel.fillWithSQL("Select [PreislistenPos], [Leistungsbeschreibung] FROM [VERAG].[dbo].[tblPreislistenpositionen] where LeistungsNr In (357, 355) And PreislistenNr ='" & cboProvisionStaffelArt._value & "'", False, "FMZOLL", False) + End If End Sub diff --git a/SDL/kunden/frmKundenblatt.Designer.vb b/SDL/kunden/frmKundenblatt.Designer.vb index 0d14073e..b374cad8 100644 --- a/SDL/kunden/frmKundenblatt.Designer.vb +++ b/SDL/kunden/frmKundenblatt.Designer.vb @@ -58,6 +58,7 @@ Partial Class frmKundenblatt Me.Panel4 = New System.Windows.Forms.Panel() Me.tbcntrMain = New System.Windows.Forms.TabControl() Me.tbAllgemein = New System.Windows.Forms.TabPage() + Me.txtKundeninfo = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.txtRisiko = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.Label20 = New System.Windows.Forms.Label() Me.txt3470Betrag = New VERAG_PROG_ALLGEMEIN.MyTextBox() @@ -252,13 +253,13 @@ Partial Class frmKundenblatt Me.tbiKartenverwaltung = New System.Windows.Forms.ToolStripMenuItem() Me.tbiLKW = New System.Windows.Forms.ToolStripMenuItem() Me.tbiVERAGCard = New System.Windows.Forms.ToolStripMenuItem() - Me.txtKundeninfo = New VERAG_PROG_ALLGEMEIN.MyTextBox() Me.UsrcntlKundeBearbeitenFull1 = New SDL.usrcntlKundeBearbeitenFull() Me.usrcntlKarten = New SDL.usrCntlKartenDaten() Me.UsrCntlLKW1 = New SDL.usrCntlLKW() Me.UsrCntlKundenlogin1 = New SDL.usrCntlKundenlogin() Me.UsrCntlOfferte1 = New SDL.usrCntlOfferte() Me.UsrCntlUSTV = New SDL.usrCntlUSTV() + Me.btnRgMail = New System.Windows.Forms.Button() Me.pnlInfo.SuspendLayout() Me.tbFirmendaten.SuspendLayout() Me.Panel4.SuspendLayout() @@ -434,6 +435,33 @@ Partial Class frmKundenblatt Me.tbAllgemein.TabIndex = 0 Me.tbAllgemein.Text = "Allgemein" ' + 'txtKundeninfo + ' + Me.txtKundeninfo._DateTimeOnly = False + Me.txtKundeninfo._numbersOnly = False + Me.txtKundeninfo._numbersOnlyKommastellen = "" + Me.txtKundeninfo._numbersOnlyTrennzeichen = True + Me.txtKundeninfo._Prozent = False + Me.txtKundeninfo._ShortDateNew = False + Me.txtKundeninfo._ShortDateOnly = False + Me.txtKundeninfo._TimeOnly = False + Me.txtKundeninfo._TimeOnly_Seconds = False + Me.txtKundeninfo._value = "" + Me.txtKundeninfo._Waehrung = False + Me.txtKundeninfo._WaehrungZeichen = True + Me.txtKundeninfo.BackColor = System.Drawing.Color.White + Me.txtKundeninfo.BorderStyle = System.Windows.Forms.BorderStyle.None + Me.txtKundeninfo.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.txtKundeninfo.ForeColor = System.Drawing.Color.Black + Me.txtKundeninfo.Location = New System.Drawing.Point(8, 65) + Me.txtKundeninfo.MaxLineLength = -1 + Me.txtKundeninfo.MaxLines_Warning = "" + Me.txtKundeninfo.MaxLines_Warning_Label = Nothing + Me.txtKundeninfo.Multiline = True + Me.txtKundeninfo.Name = "txtKundeninfo" + Me.txtKundeninfo.Size = New System.Drawing.Size(646, 364) + Me.txtKundeninfo.TabIndex = 202 + ' 'txtRisiko ' Me.txtRisiko._DateTimeOnly = False @@ -2777,6 +2805,7 @@ Partial Class frmKundenblatt ' 'MyPanel1 ' + Me.MyPanel1.Controls.Add(Me.btnRgMail) Me.MyPanel1.Controls.Add(Me.btnRgPdf) Me.MyPanel1.Controls.Add(Me.btnMonat) Me.MyPanel1.Controls.Add(Me.Button10) @@ -2794,12 +2823,11 @@ Partial Class frmKundenblatt Me.btnRgPdf.FlatStyle = System.Windows.Forms.FlatStyle.Flat Me.btnRgPdf.Image = Global.SDL.My.Resources.Resources.pdf1 Me.btnRgPdf.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft - Me.btnRgPdf.Location = New System.Drawing.Point(1568, 0) + Me.btnRgPdf.Location = New System.Drawing.Point(1607, 0) Me.btnRgPdf.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) Me.btnRgPdf.Name = "btnRgPdf" - Me.btnRgPdf.Size = New System.Drawing.Size(105, 57) + Me.btnRgPdf.Size = New System.Drawing.Size(66, 57) Me.btnRgPdf.TabIndex = 212 - Me.btnRgPdf.Text = "Als PDF" Me.btnRgPdf.TextAlign = System.Drawing.ContentAlignment.MiddleRight Me.btnRgPdf.UseVisualStyleBackColor = True ' @@ -2999,7 +3027,7 @@ Partial Class frmKundenblatt ' Me.cntxtCntxtMDM.ImageScalingSize = New System.Drawing.Size(24, 24) Me.cntxtCntxtMDM.Name = "cntxtCntxtMDM" - Me.cntxtCntxtMDM.OwnerItem = Me.ToolStripMenuItem4 + Me.cntxtCntxtMDM.OwnerItem = Me.ToolStripMenuItem8 Me.cntxtCntxtMDM.Size = New System.Drawing.Size(61, 4) Me.cntxtCntxtMDM.Text = "cntxtMDM" ' @@ -3161,33 +3189,6 @@ Partial Class frmKundenblatt Me.tbiVERAGCard.Size = New System.Drawing.Size(186, 22) Me.tbiVERAGCard.Text = "VERAG Card" ' - 'txtKundeninfo - ' - Me.txtKundeninfo._DateTimeOnly = False - Me.txtKundeninfo._numbersOnly = False - Me.txtKundeninfo._numbersOnlyKommastellen = "" - Me.txtKundeninfo._numbersOnlyTrennzeichen = True - Me.txtKundeninfo._Prozent = False - Me.txtKundeninfo._ShortDateNew = False - Me.txtKundeninfo._ShortDateOnly = False - Me.txtKundeninfo._TimeOnly = False - Me.txtKundeninfo._TimeOnly_Seconds = False - Me.txtKundeninfo._value = "" - Me.txtKundeninfo._Waehrung = False - Me.txtKundeninfo._WaehrungZeichen = True - Me.txtKundeninfo.BackColor = System.Drawing.Color.White - Me.txtKundeninfo.BorderStyle = System.Windows.Forms.BorderStyle.None - Me.txtKundeninfo.Font = New System.Drawing.Font("Microsoft Sans Serif", 12.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) - Me.txtKundeninfo.ForeColor = System.Drawing.Color.Black - Me.txtKundeninfo.Location = New System.Drawing.Point(8, 65) - Me.txtKundeninfo.MaxLineLength = -1 - Me.txtKundeninfo.MaxLines_Warning = "" - Me.txtKundeninfo.MaxLines_Warning_Label = Nothing - Me.txtKundeninfo.Multiline = True - Me.txtKundeninfo.Name = "txtKundeninfo" - Me.txtKundeninfo.Size = New System.Drawing.Size(646, 364) - Me.txtKundeninfo.TabIndex = 202 - ' 'UsrcntlKundeBearbeitenFull1 ' Me.UsrcntlKundeBearbeitenFull1.BackColor = System.Drawing.Color.White @@ -3246,6 +3247,20 @@ Partial Class frmKundenblatt Me.UsrCntlUSTV.Size = New System.Drawing.Size(1667, 964) Me.UsrCntlUSTV.TabIndex = 0 ' + 'btnRgMail + ' + Me.btnRgMail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles) + Me.btnRgMail.FlatStyle = System.Windows.Forms.FlatStyle.Flat + Me.btnRgMail.Image = Global.SDL.My.Resources.Resources.email_big1 + Me.btnRgMail.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft + Me.btnRgMail.Location = New System.Drawing.Point(1536, 0) + Me.btnRgMail.Margin = New System.Windows.Forms.Padding(10, 3, 3, 3) + Me.btnRgMail.Name = "btnRgMail" + Me.btnRgMail.Size = New System.Drawing.Size(58, 57) + Me.btnRgMail.TabIndex = 213 + Me.btnRgMail.TextAlign = System.Drawing.ContentAlignment.MiddleRight + Me.btnRgMail.UseVisualStyleBackColor = True + ' 'frmKundenblatt ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) @@ -3554,4 +3569,5 @@ Partial Class frmKundenblatt Friend WithEvents txt3470Betrag As VERAG_PROG_ALLGEMEIN.MyTextBox Friend WithEvents Label21 As Label Friend WithEvents txtKundeninfo As VERAG_PROG_ALLGEMEIN.MyTextBox + Friend WithEvents btnRgMail As Button End Class diff --git a/SDL/kunden/frmKundenblatt.vb b/SDL/kunden/frmKundenblatt.vb index 899818e0..c230cd70 100644 --- a/SDL/kunden/frmKundenblatt.vb +++ b/SDL/kunden/frmKundenblatt.vb @@ -2,6 +2,7 @@ Imports System.Globalization Imports System.Web.UI.WebControls.Expressions Imports com.sun.xml.internal.rngom +Imports GrapeCity.Viewer.Common.Model Imports Microsoft.Office.Interop Imports VERAG_PROG_ALLGEMEIN @@ -649,13 +650,13 @@ Public Class frmKundenblatt Dim GesamtUSteuer As Double = 0 - Dim GesamtErstattung As Double = 0 - Dim Differnezbetrag As Double = 0 - Dim Gesamt3470 As Double = 0 - Dim GesamtVZBetrag As Double = 0 - Dim VorschaubetrGes As Double = 0 - Dim OPSaldo As Double = 0 - Dim Risiko As Double = 0 + Dim GesamtErstattung As Double = 0 + Dim Differnezbetrag As Double = 0 + Dim Gesamt3470 As Double = 0 + Dim GesamtVZBetrag As Double = 0 + Dim VorschaubetrGes As Double = 0 + Dim OPSaldo As Double = 0 + Dim Risiko As Double = 0 OPSaldo = CDbl((New SQL).getValueTxtBySql("SELECT isnull(sum(Gesamtausstand),0) FROM [Offene Posten] WHERE [Kontonummer]=" & kdNr, "FMZOLL")) @@ -828,7 +829,7 @@ Public Class frmKundenblatt txtKundeninfo.AppendText(IIf(checkNullStr(ADRESSE.Telefon) <> "", "Tel.: " & ADRESSE.Telefon & vbNewLine, "")) txtKundeninfo.AppendText(IIf(checkNullStr(ADRESSE.Telefax) <> "", "Fax: " & ADRESSE.Telefax & vbNewLine, "")) txtKundeninfo.AppendText(IIf(checkNullStr(ADRESSE.Mobiltelefon) <> "", "Mobil: " & checkNullStr(ADRESSE.Mobiltelefon) & vbNewLine, "")) - txtKundeninfo.AppendText(IIf(checkNullStr(ADRESSE.E_Mail) <> "", "E-Mail: " & ADRESSE.E_Mail & IIf(checkNullStr(ADRESSE.E_Mail2) <> "", " " & ADRESSE.E_Mail2, "") & vbNewLine, "")) + txtKundeninfo.AppendText(IIf(checkNullStr(ADRESSE.E_Mail) <> "", "E-Mail: " & ADRESSE.E_Mail & "; " & IIf(checkNullStr(ADRESSE.E_Mail2) <> "", " " & ADRESSE.E_Mail & ";", "") & vbNewLine, "")) lblKurzname.Text = checkNullStr(ADRESSE.Ordnungsbegriff) @@ -855,8 +856,8 @@ Public Class frmKundenblatt txtEmailRE.Text = "-" txtEmailRE2.Text = "" If KUNDE_K_RE.hasEntry Then 'Rechnung an - EmailRechnungen &= KUNDE_K_RE.kkd_Email - EmailRechnungen &= KUNDE_K_RE.kkd_EmailCC + EmailRechnungen &= KUNDE_K_RE.kkd_Email & "; " + EmailRechnungen &= KUNDE_K_RE.kkd_EmailCC & "; " Else EmailRechnungen &= " - " End If @@ -2435,14 +2436,39 @@ Public Class frmKundenblatt End Sub - Private Sub btnRgPdf_Click(sender As Object, e As EventArgs) Handles btnRgPdf.Click + Private Sub btnRgPdf_Click(sender As Object, e As EventArgs) Handles btnRgPdf.Click, btnRgMail.Click Me.Cursor = Cursors.WaitCursor + Dim PathList As New List(Of String) Try For Each RK_ID In getList_RK_ID() Dim RG_PATH = "" cFakturierung.doRechnungsDruck_SRorER(RK_ID,, False, 4, RG_PATH,,, True) - Process.Start(RG_PATH) + + PathList.Add(RG_PATH) + If sender.Name = "btnRgPdf" Then Process.Start(RG_PATH) Next + + If sender.Name = "btnRgMail" Then + + + Dim outl As New Outlook.Application + Dim Mail As Microsoft.Office.Interop.Outlook.MailItem + Mail = outl.CreateItem(0) + + Dim kundeMail As New cKunden() + kundeMail = kundenSQL.getKundeByKdNr(kdNr) + For Each pdf In PathList + Mail.Attachments.Add(pdf, Microsoft.Office.Interop.Outlook.OlAttachmentType.olByValue, , ) + Next + + Mail.To &= kundeMail.EMail + Mail.CC &= kundeMail.EMail2 + Mail.Display() + + + End If + + Catch ex As Exception MsgBox(ex.Message & ex.StackTrace) End Try @@ -2853,5 +2879,8 @@ Public Class frmKundenblatt End Sub + Private Sub btnRgMail_Click(sender As Object, e As EventArgs) Handles btnRgMail.Click + + End Sub End Class diff --git a/SDL/kunden/usrcntlKundeBearbeitenFull.vb b/SDL/kunden/usrcntlKundeBearbeitenFull.vb index c8fb01d2..152831f8 100644 --- a/SDL/kunden/usrcntlKundeBearbeitenFull.vb +++ b/SDL/kunden/usrcntlKundeBearbeitenFull.vb @@ -2653,6 +2653,7 @@ Public Class usrcntlKundeBearbeitenFull If cboAbfVerb_Abfertigungsverbot.Checked Then If rtbAbfVerb_Grund.Text.Trim <> "" AndAlso rtbAbfVerb_Grund.TextLength < 4 Then + MsgBox("Abfertigungsgrund muss mind. 5 Zeichen haben!") Return False Else diff --git a/SDL/mdm/frmMDMDatenverarbetiung.vb b/SDL/mdm/frmMDMDatenverarbetiung.vb index 4eff12fb..5e0ffad2 100644 --- a/SDL/mdm/frmMDMDatenverarbetiung.vb +++ b/SDL/mdm/frmMDMDatenverarbetiung.vb @@ -113,11 +113,11 @@ Public Class frmMDMDatenverarbetiung Dim dt As DataTable = SQL.loadDgvBySql_Param(sqlstr, "FMZOLL") If dt.Rows.Count > 0 Then - Dim hasImcompleIports As Boolean = dt.AsEnumerable().Any(Function(row) row.Field(Of Boolean)("completed") = False) - If hasImcompleIports Then + Dim hasIncompleteImports As Boolean = dt.AsEnumerable().Any(Function(row) row.Field(Of Boolean)("completed") = False) + If hasIncompleteImports Then pb_importOK.BackgroundImage = SDL.My.Resources.Resources.del Else - If LIEFERANT = "IDS" Then 'IDS Bedard aktuell noch einer Nachbearbeitung! + If LIEFERANT = "IDS" Then 'IDS Bedarf aktuell noch einer Nachbearbeitung! Dim nacharbeitungNotCompleted As Boolean = dt.AsEnumerable().Any(Function(row) row.Field(Of Boolean)("nacharbeitung_completed") = False) If nacharbeitungNotCompleted Then diff --git a/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb b/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb index edc41873..0bab0efb 100644 --- a/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb +++ b/VERAG_PROG_ALLGEMEIN/Classes/cIDS.vb @@ -577,7 +577,7 @@ Public Class cIDS tblIDSTransactionsNew.[YearMonthDay] BETWEEN @von AND @bis AND tblIDSTransactionsNew.KdNrVERAG = @AdressenNr AND tbl_IDS_Länder.[Lieferland_ISO2] = @LandKZ - AND tblIDSTransactionsNew.[VATAmount] <> 0 + AND tblIDSTransactionsNew.[VATAmount] <> 0 AND isnull(tblIDSTransactionsNew.charged,0) <> 0 " & IIf(Archiv, " ", " AND isnull(UStVAn_ID,0) = 0 ") & " GROUP BY tblIDSTransactionsNew.KdNrVERAG,