diff --git a/SDL/Fakturierung/cFakturierung.vb b/SDL/Fakturierung/cFakturierung.vb index 2e389324..b25a4544 100644 --- a/SDL/Fakturierung/cFakturierung.vb +++ b/SDL/Fakturierung/cFakturierung.vb @@ -4903,7 +4903,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 @@ -5055,102 +5055,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), "") @@ -5186,24 +5186,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 @@ -5306,7 +5306,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) @@ -5544,13 +5544,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 @@ -5729,7 +5732,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..9dc046b9 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/USTV/frmUSTVoffeneAntraege.vb b/SDL/USTV/frmUSTVoffeneAntraege.vb index 9caae6c6..b6820350 100644 --- a/SDL/USTV/frmUSTVoffeneAntraege.vb +++ b/SDL/USTV/frmUSTVoffeneAntraege.vb @@ -1,5 +1,5 @@ Imports System.Windows.Documents -Imports DocumentFormat.OpenXml.Drawing.Diagrams +Imports VERAG_PROG_ALLGEMEIN Public Class frmUSTVoffeneAntraege @@ -95,7 +95,49 @@ Public Class frmUSTVoffeneAntraege End Sub + Private Sub setPDFICON(dgv As DataGridView, dgvCellNameMWST As String, dgvCellNameDSID As String, ByRef sumMWST As Double) + + Dim c As New DataGridViewImageColumn + c.Name = "clmnPDF" : c.HeaderText = "RE" + ' c.Image = Nothing + c.DefaultCellStyle.NullValue = Nothing + c.ImageLayout = DataGridViewImageCellLayout.Zoom + c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White + 'c.DefaultCellStyle.Tag = "Therefore anzeigen" + + If Not dgv.Columns.Contains("clmnPDF") Then dgv.Columns.Add(c) + + Dim pdfImg As Image = My.Resources.pdf + + For Each r As DataGridViewRow In dgv.Rows + If Not r.IsNewRow Then + + ' Wert lokal zwischenspeichern (vermeidet DGV-Overhead) + Dim mwstObj = r.Cells(dgvCellNameMWST).Value + Dim daIdObj = r.Cells(dgvCellNameDSID).Value + + ' Summe berechnen + Dim mwst As Double + If Double.TryParse(Convert.ToString(mwstObj), mwst) Then + sumMWST += mwst + End If + + ' PDF setzen + + If daIdObj IsNot Nothing AndAlso + Not IsDBNull(daIdObj) AndAlso + Convert.ToInt32(daIdObj) > 0 Then + + r.Cells("clmnPDF").Value = pdfImg + End If + + End If + Next + End Sub + Sub initDgv_PLOSE(anz As Integer, Optional kdnr As Integer = -1) + + With MyDatagridview1 .Columns.Clear() @@ -145,29 +187,13 @@ Public Class frmUSTVoffeneAntraege .Columns("plose_MWSTBetrag").HeaderText = "MWST" .Columns("daId").Visible = False - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + '.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End If Dim sumMwSt As Double = 0 - Dim c As New DataGridViewImageColumn - c.Name = "clmnPDF" : c.HeaderText = "RE" - ' c.Image = Nothing - c.DefaultCellStyle.NullValue = Nothing - c.ImageLayout = DataGridViewImageCellLayout.Zoom - c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White - 'c.DefaultCellStyle.Tag = "Therefore anzeigen" - - If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c) - - For Each r As DataGridViewRow In .Rows - sumMwSt += If(IsNumeric(r.Cells("plose_MWSTBetrag").Value), CDbl(r.Cells("plose_MWSTBetrag").Value), 0) - - If Not IsDBNull(r.Cells("daId").Value) AndAlso r.Cells("daId").Value > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf - Next - - + setPDFICON(MyDatagridview1, "plose_MWSTBetrag", "daId", sumMwSt) txtAnzahl.Text = .Rows.Count txtMWST.Text = sumMwSt @@ -194,10 +220,15 @@ Public Class frmUSTVoffeneAntraege .Columns.Clear() 'Exit Sub 'MsgBox(.sql) + + Dim sqlstring = "Select " & top & " [rmc_kdNr], [rmc_kdName], [rmc_landKZ], [rmc_reDatum], [rmc_reNr], [rmc_waehrung], [rmc_betragMWST],rmc_daid as daId FROM [tblRMCImport] - INNER JOIN Adressen on WölflKundenNr=[rmc_kdNr] or weitereWölflKundenNr=[rmc_kdNr] - where cast(rmc_reDatum As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' And rmc_archiv <> 1 " & sqlwhere & - "group by rmc_reDatum, rmc_kdNr,[rmc_kdName], [rmc_landKZ],[rmc_reNr], [rmc_waehrung], [rmc_betragMWST], rmc_daid having [rmc_betragMWST] <> 0" + INNER JOIN Adressen on WölflKundenNr=[rmc_kdNr] + where rmc_reDatum >= '" & dat_Sum_Von.Value & "' And rmc_reDatum < '" & dat_Sum_Bis.Value & "' And rmc_archiv <> 1 AND [rmc_betragMWST] <> 0 " & sqlwhere + + sqlstring &= " UNION ALL Select " & top & " [rmc_kdNr], [rmc_kdName], [rmc_landKZ], [rmc_reDatum], [rmc_reNr], [rmc_waehrung], [rmc_betragMWST],rmc_daid as daId FROM [tblRMCImport] + INNER JOIN Adressen on weitereWölflKundenNr=[rmc_kdNr] + where rmc_reDatum >= '" & dat_Sum_Von.Value & "' And rmc_reDatum < '" & dat_Sum_Bis.Value & "' And rmc_archiv <> 1 AND [rmc_betragMWST] <> 0 " & sqlwhere .SET_SQL(sqlstring, "FMZOLL") .LOAD() @@ -212,27 +243,13 @@ Public Class frmUSTVoffeneAntraege .Columns("rmc_waehrung").HeaderText = "Währung" .Columns("daId").Visible = False .Columns("rmc_kdName").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + '.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End If Dim sumMwSt As Double = 0 - Dim c As New DataGridViewImageColumn - c.Name = "clmnPDF" : c.HeaderText = "RE" - ' c.Image = Nothing - c.DefaultCellStyle.NullValue = Nothing - c.ImageLayout = DataGridViewImageCellLayout.Zoom - c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White - 'c.DefaultCellStyle.Tag = "Therefore anzeigen" - - If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c) - - For Each r As DataGridViewRow In .Rows - sumMwSt += If(IsNumeric(r.Cells("rmc_betragMWST").Value), CDbl(r.Cells("rmc_betragMWST").Value), 0) - - If Not IsDBNull(r.Cells("daId").Value) AndAlso r.Cells("daId").Value > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf - Next + setPDFICON(MyDatagridview1, "rmc_betragMWST", "daId", sumMwSt) txtAnzahl.Text = .Rows.Count txtMWST.Text = sumMwSt @@ -273,7 +290,7 @@ Public Class frmUSTVoffeneAntraege .Columns("total_vat_amount_euro").HeaderText = "MWSt Euro" .Columns("daId").Visible = False .Columns("customer_name").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + '.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End If @@ -289,12 +306,14 @@ Public Class frmUSTVoffeneAntraege If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c) - For Each r As DataGridViewRow In .Rows - sumMwSt += If(IsNumeric(r.Cells("total_vat_amount_euro").Value), CDbl(r.Cells("total_vat_amount_euro").Value), 0) + 'For Each r As DataGridViewRow In .Rows + ' sumMwSt += If(IsNumeric(r.Cells("total_vat_amount_euro").Value), CDbl(r.Cells("total_vat_amount_euro").Value), 0) - If Not IsDBNull(r.Cells("daId").Value) AndAlso r.Cells("daId").Value > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf + ' If Not IsDBNull(r.Cells("daId").Value) AndAlso r.Cells("daId").Value > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf - Next + 'Next + + setPDFICON(MyDatagridview1, "total_vat_amount_euro", "daId", sumMwSt) txtAnzahl.Text = .Rows.Count txtMWST.Text = sumMwSt @@ -340,23 +359,12 @@ Public Class frmUSTVoffeneAntraege .Columns("Gesamtbetrag_Umsatzsteuer_in_Darstellwährung").HeaderText = "MWSt Euro" .Columns("daId").Visible = False .Columns("Name 1").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + '.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End If Dim sumMwSt As Double = 0 - Dim c As New DataGridViewImageColumn - c.Name = "clmnPDF" : c.HeaderText = "RE" - ' c.Image = Nothing - c.DefaultCellStyle.NullValue = Nothing - c.ImageLayout = DataGridViewImageCellLayout.Zoom - c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White - 'c.DefaultCellStyle.Tag = "Therefore anzeigen" + setPDFICON(MyDatagridview1, "Gesamtbetrag_Umsatzsteuer_in_Darstellwährung", "daId", sumMwSt) - .Columns.Add(c) - For Each r As DataGridViewRow In .Rows - sumMwSt += If(IsNumeric(r.Cells("Gesamtbetrag_Umsatzsteuer_in_Darstellwährung").Value), CDbl(r.Cells("Gesamtbetrag_Umsatzsteuer_in_Darstellwährung").Value), 0) - If Not IsDBNull(r.Cells("daId").Value) AndAlso r.Cells("daId").Value > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf - Next txtAnzahl.Text = .Rows.Count txtMWST.Text = sumMwSt End With @@ -419,27 +427,13 @@ Public Class frmUSTVoffeneAntraege .Columns("Steuerbetrag").HeaderText = "MWSt Euro" .Columns("daId").Visible = False .Columns("Name 1").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + '.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End If Dim sumMwSt As Double = 0 - Dim c As New DataGridViewImageColumn - c.Name = "clmnPDF" : c.HeaderText = "RE" - ' c.Image = Nothing - c.DefaultCellStyle.NullValue = Nothing - c.ImageLayout = DataGridViewImageCellLayout.Zoom - c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White - 'c.DefaultCellStyle.Tag = "Therefore anzeigen" - - If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c) - - - For Each r As DataGridViewRow In .Rows - sumMwSt += If(IsNumeric(r.Cells("Steuerbetrag").Value), CDbl(r.Cells("Steuerbetrag").Value), 0) - If Not IsDBNull(r.Cells("daId").Value) AndAlso r.Cells("daId").Value > 0 Then DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf - Next + setPDFICON(MyDatagridview1, "Steuerbetrag", "daId", sumMwSt) txtAnzahl.Text = .Rows.Count txtMWST.Text = sumMwSt @@ -482,29 +476,12 @@ Public Class frmUSTVoffeneAntraege .Columns("Rechnungsnummer").HeaderText = "RE-Nr" .Columns("SteuerbetragLokal").HeaderText = "MWSt Euro" .Columns("Name 1").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + '.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End If Dim sumMwSt As Double = 0 - Dim c As New DataGridViewImageColumn - c.Name = "clmnPDF" : c.HeaderText = "RE" - ' c.Image = Nothing - c.DefaultCellStyle.NullValue = Nothing - c.ImageLayout = DataGridViewImageCellLayout.Zoom - c.Width = 40 : c.DefaultCellStyle.Padding = New Padding(2) : c.DefaultCellStyle.BackColor = Color.White - 'c.DefaultCellStyle.Tag = "Therefore anzeigen" - - If Not .Columns.Contains("clmnPDF") Then .Columns.Add(c) - - - For Each r As DataGridViewRow In .Rows - sumMwSt += If(IsNumeric(r.Cells("SteuerbetragLokal").Value), CDbl(r.Cells("SteuerbetragLokal").Value), 0) - 'If Not IsDBNull(r.Cells("daId").Value) AndAlso r.Cells("daId").Value > 0 Then - DirectCast(r.Cells("clmnPDF"), DataGridViewImageCell).Value = My.Resources.pdf - Next - txtAnzahl.Text = .Rows.Count txtMWST.Text = sumMwSt @@ -758,11 +735,26 @@ Public Class frmUSTVoffeneAntraege [rmc_reDatum] AS Rechnungsdatum, [rmc_betragMWST] as MWST FROM [tblRMCImport] - INNER JOIN Adressen on WölflKundenNr= [rmc_kdNr] or weitereWölflKundenNr=[rmc_kdNr] - where cast(rmc_reDatum As Date) between '" & dat_Sum_Von.Value & "' And '" & dat_Sum_Bis.Value & "' + INNER JOIN Adressen on WölflKundenNr= [rmc_kdNr] + where rmc_reDatum >= '" & dat_Sum_Von.Value & "' And rmc_reDatum < '" & dat_Sum_Bis.Value & "' And UStVAn_ID is null " & sqlwhereRMC & " - group by Adressen.AdressenNr,Adressen.[Name 1],Adressen.LandKz, [rmc_landKZ],[rmc_reNr], rmc_reDatum, [rmc_betragMWST] - having [rmc_betragMWST] <> 0 + AND [rmc_betragMWST] <> 0 + + UNION ALL + + Select " & top & " + 'RMC' as Lieferant, + Adressen.AdressenNr as KdNr, + Adressen.[Name 1] as Kundenname, + Adressen.LandKz as Kundenland, + [rmc_landKZ] as Einreichland, + [rmc_reDatum] AS Rechnungsdatum, + [rmc_betragMWST] as MWST + FROM [tblRMCImport] + INNER JOIN Adressen on weitereWölflKundenNr=[rmc_kdNr] + where rmc_reDatum >= '" & dat_Sum_Von.Value & "' And rmc_reDatum < '" & dat_Sum_Bis.Value & "' + And UStVAn_ID is null " & sqlwhereRMC & " + AND [rmc_betragMWST] <> 0 UNION ALL @@ -862,7 +854,7 @@ Public Class frmUSTVoffeneAntraege .Columns("Einreichland").HeaderText = "Einreichland" .Columns("eingereicht").HeaderText = "einger." .Columns("Kundenname").AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill - .AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells + '.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells End If @@ -952,6 +944,10 @@ Public Class frmUSTVoffeneAntraege setdtKundeMWST(IIf(cbxAlleoffenen.Checked, -1, kdNr)) + + MyDatagridview1.SuspendLayout() + MyDatagridview1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.None + Select Case LIEFERANT.ToString.ToLower Case "plose" : initDgv_PLOSE(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) Case "rmc" : initDgv_RMC(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) @@ -961,6 +957,8 @@ Public Class frmUSTVoffeneAntraege Case "verag" : initDgv_VERAG(txtmaxAnz.Text, IIf(cbxAlleoffenen.Checked, -1, kdNr)) Case "alle" : initDgv_gesamt(txtmaxAnz.Text, cbxNichtEroeffneteAntraege.Checked, IIf(cbxAlleoffenen.Checked, -1, kdNr)) End Select + + MyDatagridview1.ResumeLayout() End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click 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..2915485d 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_Mail2 & ";", "") & 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 3d631dfe..58067b44 100644 --- a/SDL/kunden/usrcntlKundeBearbeitenFull.vb +++ b/SDL/kunden/usrcntlKundeBearbeitenFull.vb @@ -2658,6 +2658,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/SDL/mdm/usrcntlFremdrechnungen.vb b/SDL/mdm/usrcntlFremdrechnungen.vb index 14020259..a42460e3 100644 --- a/SDL/mdm/usrcntlFremdrechnungen.vb +++ b/SDL/mdm/usrcntlFremdrechnungen.vb @@ -1268,7 +1268,6 @@ Public Class usrcntlFremdrechnungen DS.OPEN_SINGLE() End If - Case Else 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,