Compare commits

6 Commits

Author SHA1 Message Date
9ff0ccb60a Zollern, etc. 2026-05-06 11:32:14 +02:00
f7b6537bbd Offerte, Sammelredruck, etc. 2026-05-06 11:11:19 +02:00
1b31bae783 Sammelrechnung, etc. 2026-05-05 17:07:03 +02:00
1d137b969c Offerte Kostenkalkulation 2026-05-05 16:52:19 +02:00
f3086cc689 Kostenkalk. 2026-05-05 16:27:38 +02:00
b03297c119 Kostenkalk für UNISPED 2026-05-05 16:25:51 +02:00
12 changed files with 235 additions and 119 deletions

View File

@@ -982,7 +982,7 @@ Public Class cAutomailversand
If isEinzelrechnung Then
RE_Text = "diese Rechnung"
Else
RE_Text = "alle markieren Rechnungen"
RE_Text = "alle markierten Rechnungen"
End If
If vbYes = MsgBox("Möchten Sie für " & RE_Text & " den automatischen Emailversand aktivieren?" & vbNewLine & "Die Rechnungen werden automatisch im Nachtlauf per EMail verschickt!", vbYesNoCancel) Then

View File

@@ -184,19 +184,11 @@ Public Class frmAbrechnungsMaske
If Not loaded Then Exit Sub
Dim dgv As VERAG_PROG_ALLGEMEIN.MyDatagridview = getDGV()
Dim reNrSQL As String = ""
If cbx.Checked Then
reNrSQL = " isnull(Rechnungsausgang.RechnungsNr,'-') as ReNr,cast(isnull(Automailversand_sent, 0) as bit) as AUTO_sent, "
Else
reNrSQL = " cast(isnull(Automailversand_sent, 0) as bit) as AUTO_sent, "
End If
With dgv
Dim sqlstr = ""
If cbxGutschriftenAnVerag.Checked AndAlso cboFirma._value <> "" AndAlso cboFirma._value = "24" Then
sqlstr &= " SELECT R1.FilialenNr, R1.AbfertigungsNr, cast(R1.FilialenNr as varchar) + ' ' + cast(R1.AbfertigungsNr as varchar) as PosNr, R1.UnterNr, Firma_ID,R1.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr FROM Rechnungsausgang as R1 INNER JOIN Adressen ON AdressenNr=R1.RechnungsKundenNr inner Join Speditionsbuch on Speditionsbuch.FilialenNr = R1.FilialenNr And Speditionsbuch.AbfertigungsNr = R1.AbfertigungsNr and Speditionsbuch.UnterNr = R1.SpeditionsbuchUnterNr "
sqlstr &= " SELECT isnull(R1.RechnungsNr,'-') as ReNr, R1.FilialenNr, R1.AbfertigungsNr, cast(R1.FilialenNr as varchar) + ' ' + cast(R1.AbfertigungsNr as varchar) as PosNr, R1.UnterNr, Firma_ID,R1.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr FROM Rechnungsausgang as R1 INNER JOIN Adressen ON AdressenNr=R1.RechnungsKundenNr inner Join Speditionsbuch on Speditionsbuch.FilialenNr = R1.FilialenNr And Speditionsbuch.AbfertigungsNr = R1.AbfertigungsNr and Speditionsbuch.UnterNr = R1.SpeditionsbuchUnterNr "
sqlstr &= " WHERE 1=1 AND R1.Firma_ID=24 "
sqlstr &= getRGWhere(cboER_SR._value, FilialNrRestriction)
sqlstr &= " and (SELECT COUNT(*) FROM Rechnungsausgang as R2 where"
@@ -207,7 +199,7 @@ Public Class frmAbrechnungsMaske
Else
' sqlstr &= " SELECT FilialenNr, AbfertigungsNr, UnterNr, Firma_ID, Status, Sammelrechnung, Sachbearbeiter, SteuerpflichtigerGesamtbetrag, SteuerfreierGesamtbetrag, RechnungsNr, RechnungsDatum, DruckDatumZeit, Buchungsjahr, RK_ID"
sqlstr &= " SELECT " & reNrSQL & " FilialenNr, AbfertigungsNr, cast(FilialenNr as varchar) + ' ' + cast(AbfertigungsNr as varchar) as PosNr,UnterNr, Firma_ID,Rechnungsausgang.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr"
sqlstr &= " SELECT cast(isnull(Automailversand_sent, 0) as bit) as AUTO_sent, isnull(Rechnungsausgang.RechnungsNr,'-') as ReNr, FilialenNr, AbfertigungsNr, cast(FilialenNr as varchar) + ' ' + cast(AbfertigungsNr as varchar) as PosNr,UnterNr, Firma_ID,Rechnungsausgang.Sammelrechnung as Art, [RechnungsName 1] as Rechnungsempfänger, (isnull(SteuerpflichtigerGesamtbetrag,0) + isnull(SteuerfreierGesamtbetrag,0)) as Betrag, RK_ID,RechnungsLandKz,RechnungsKundenNr"
sqlstr &= ",(CASE WHEN Rechnungsdruck =0 THEN 'POST' WHEN Rechnungsdruck=1 THEN 'FAX' WHEN Rechnungsdruck=2 THEN 'E-MAIL' WHEN Rechnungsdruck=5 THEN 'MAIL+KOPIE' ELSE '-' END) as Rechnungsdruck, isnull(BelegartenKz, '') as BelegartenKz "
sqlstr &= " FROM Rechnungsausgang INNER JOIN Adressen ON AdressenNr=Rechnungsausgang.RechnungsKundenNr"
sqlstr &= " WHERE 1=1 "
@@ -232,9 +224,14 @@ Public Class frmAbrechnungsMaske
.Columns("BelegartenKz").Visible = False
End If
If .Columns.Contains("ReNr") Then
.Columns("ReNr").HeaderText = "ReNr."
If cbx.Checked Then
.Columns("ReNr").Visible = True
Else
.Columns("ReNr").Visible = False
End If
End If
If .Columns.Contains("AUTO_sent") Then
@@ -987,7 +984,7 @@ Public Class frmAbrechnungsMaske
Dim ListOfRK_ID As New List(Of Integer)
Dim noRE_DATE = dgvRechnungen.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("RENR").Value Is Nothing OrElse IsDBNull(r.Cells("RENR").Value))
Dim noRE_DATE = dgvRechnungen.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("RENR").Value Is Nothing OrElse IsDBNull(r.Cells("RENR").Value) OrElse (r.Cells("RENR").Value) <> "-")
If noRE_DATE Then MsgBox("ACHTUNG, Rechnungsdatum wurde nicht gesetzt." & vbNewLine & "Vorgang wird abgebrochen!") : Exit Sub

View File

@@ -563,7 +563,7 @@ Partial Class frmFaktSammelRgDrucken
Me.MyDatagridview1.ReadOnly = True
Me.MyDatagridview1.RowHeadersVisible = False
Me.MyDatagridview1.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect
Me.MyDatagridview1.Size = New System.Drawing.Size(574, 373)
Me.MyDatagridview1.Size = New System.Drawing.Size(638, 373)
Me.MyDatagridview1.TabIndex = 18
'
'txtZeitraumBis
@@ -642,7 +642,7 @@ Partial Class frmFaktSammelRgDrucken
'
Me.btnNurImport.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnNurImport.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnNurImport.Location = New System.Drawing.Point(836, 437)
Me.btnNurImport.Location = New System.Drawing.Point(900, 437)
Me.btnNurImport.Margin = New System.Windows.Forms.Padding(0)
Me.btnNurImport.Name = "btnNurImport"
Me.btnNurImport.Size = New System.Drawing.Size(75, 26)
@@ -656,7 +656,7 @@ Partial Class frmFaktSammelRgDrucken
Me.MyListBox1.Anchor = CType(((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Bottom) _
Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.MyListBox1.FormattingEnabled = True
Me.MyListBox1.Location = New System.Drawing.Point(836, 93)
Me.MyListBox1.Location = New System.Drawing.Point(900, 93)
Me.MyListBox1.Name = "MyListBox1"
Me.MyListBox1.SelectionMode = System.Windows.Forms.SelectionMode.MultiSimple
Me.MyListBox1.Size = New System.Drawing.Size(225, 316)
@@ -666,7 +666,7 @@ Partial Class frmFaktSammelRgDrucken
'
Me.btnKeine.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnKeine.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnKeine.Location = New System.Drawing.Point(985, 437)
Me.btnKeine.Location = New System.Drawing.Point(1049, 437)
Me.btnKeine.Margin = New System.Windows.Forms.Padding(0)
Me.btnKeine.Name = "btnKeine"
Me.btnKeine.Size = New System.Drawing.Size(75, 26)
@@ -677,7 +677,7 @@ Partial Class frmFaktSammelRgDrucken
'lblAbfertigungsarten
'
Me.lblAbfertigungsarten.AutoSize = True
Me.lblAbfertigungsarten.Location = New System.Drawing.Point(833, 77)
Me.lblAbfertigungsarten.Location = New System.Drawing.Point(896, 77)
Me.lblAbfertigungsarten.Name = "lblAbfertigungsarten"
Me.lblAbfertigungsarten.Size = New System.Drawing.Size(97, 13)
Me.lblAbfertigungsarten.TabIndex = 43
@@ -687,7 +687,7 @@ Partial Class frmFaktSammelRgDrucken
'
Me.btnNurExport.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnNurExport.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnNurExport.Location = New System.Drawing.Point(911, 437)
Me.btnNurExport.Location = New System.Drawing.Point(975, 437)
Me.btnNurExport.Margin = New System.Windows.Forms.Padding(0)
Me.btnNurExport.Name = "btnNurExport"
Me.btnNurExport.Size = New System.Drawing.Size(75, 26)
@@ -699,7 +699,7 @@ Partial Class frmFaktSammelRgDrucken
'
Me.Label6.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Label6.AutoSize = True
Me.Label6.Location = New System.Drawing.Point(833, 412)
Me.Label6.Location = New System.Drawing.Point(897, 412)
Me.Label6.Name = "Label6"
Me.Label6.Size = New System.Drawing.Size(234, 13)
Me.Label6.TabIndex = 49
@@ -710,7 +710,7 @@ Partial Class frmFaktSammelRgDrucken
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(1069, 472)
Me.ClientSize = New System.Drawing.Size(1133, 472)
Me.Controls.Add(Me.Label6)
Me.Controls.Add(Me.btnNurExport)
Me.Controls.Add(Me.btnNurImport)

View File

@@ -1,4 +1,5 @@
Imports Microsoft.Office.Interop
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Imports Microsoft.Office.Interop
Public Class frmFaktSammelRgDrucken
@@ -147,7 +148,7 @@ Public Class frmFaktSammelRgDrucken
sqlStr = "
SELECT
min(Rechnungsausgang.RechnungsNr) as RENR,
max(Rechnungsausgang.RechnungsNr) as RENR,
Rechnungsausgang.RechnungsKundenNr,
MAX(Rechnungsausgang.[RechnungsName 1]) AS Firma,
" & If(Sammelrechung = 7, "AvisoId", "0") & " AS AvisoId,
@@ -195,21 +196,34 @@ Public Class frmFaktSammelRgDrucken
.Columns("Rechnungsdruck").HeaderText = "Rg.Art"
.Columns("Rechnungsdruck").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
.Columns("Anzahl").DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter
'.Columns(2).Visible = False
If .Columns.Contains("LKW") And .Columns.Count = 8 Then
If .Columns.Contains("LKW") And .Columns.Count >= 8 Then
.Columns("LKW").Width = 80
End If
If Sammelrechung = 7 Then
.Columns("AvisoId").Visible = True
Else
.Columns("AvisoId").Visible = False
If .Columns.Contains("IM_EX") And .Columns.Count >= 8 Then
.Columns("IM_EX").Width = 45
End If
If .Columns.Contains("RechnungsLandKz") AndAlso Sammelrechung = 6 Then .Columns("RechnungsLandKz").Visible = True
If .Columns.Contains("keineMWST") Then .Columns("keineMWST").Visible = False
If .Columns.Contains("RENR") Then .Columns("RENR").Visible = False
If .Columns.Contains("RENR") Then
If cbxAUTOMail.Checked Then
.Columns("RENR").Visible = True
Else
.Columns("RENR").Visible = False
End If
If VERAG_PROG_ALLGEMEIN.cAllgemein.TESTSYSTEM Then
.Columns("RENR").Visible = True
End If
End If
If .Columns.Contains("Steuer") Then .Columns("Steuer").Visible = False
If .Columns.Contains("AvisoId") Then .Columns("AvisoId").Visible = False
.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
@@ -453,7 +467,7 @@ Public Class frmFaktSammelRgDrucken
If MyDatagridview1.SelectedRows.Count > 0 Then
For Each r In MyDatagridview1.SelectedRows
If r.cells("AvisoId").value Is DBNull.Value Then
MsgBox("Nich alle Speditionsbucheinträge haben eine Aviso-Id. LKW Abrechnung wird abgebrochen.") : Return (New List(Of Integer))
MsgBox("Nicht alle Speditionsbucheinträge haben eine Aviso-Id. LKW Abrechnung wird abgebrochen.") : Return (New List(Of Integer))
End If
AvisoIds.Add(r.cells("AvisoId").value)
Next
@@ -628,27 +642,26 @@ Public Class frmFaktSammelRgDrucken
If cAutomailversand.automRechnungsversand_aktivieren() Then
Dim noRENRExisting As Boolean = False
Dim onlyEMAIL As Boolean = True
If MyDatagridview1.Columns.Contains("RENR") AndAlso MyDatagridview1.Columns.Contains("Rechnungsdruck") Then
noRENRExisting = MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("RENR").Value Is Nothing OrElse IsDBNull(r.Cells("RENR").Value))
onlyEMAIL = MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) IsDBNull(r.Cells("Rechnungsdruck").Value) OrElse r.Cells("Rechnungsdruck").Value Is Nothing OrElse r.Cells("Rechnungsdruck").Value.ToString() <> "E-MAIL")
If noRENRExisting Then
onlyEMAIL = MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Any(Function(r) r.Cells("Rechnungsdruck").Value IsNot Nothing AndAlso Not IsDBNull(r.Cells("Rechnungsdruck").Value) AndAlso r.Cells("Rechnungsdruck").Value.ToString().Trim() = "E-MAIL")
If cboFirma._value = "" Then MsgBox("Bitte Firma angeben!") : Exit Sub
If txtZeitraumBis.Text = "" Then MsgBox("Bitte Zeitraum-Bis angeben!") : Exit Sub
If txtRechnungsdatum.Text = "" Then MsgBox("Bitte Rechnungsdatum angeben!") : Exit Sub
If onlyEMAIL Then MsgBox("Sammelrechnungen die per POST/FAX verschickt werden, können nicht gesetzt werden!") : Exit Sub
If cboFirma._value = "" Then MsgBox("Bitte Firma angeben!") : Exit Sub
If txtZeitraumBis.Text = "" Then MsgBox("Bitte Zeitraum-Bis angeben!") : Exit Sub
If txtRechnungsdatum.Text = "" Then MsgBox("Bitte Rechnungsdatum angeben!") : Exit Sub
If Not onlyEMAIL Then MsgBox("Sammelrechnungen die per POST/FAX verschickt werden, können nicht gesetzt werden!") : Exit Sub
If vbYes = MsgBox("Es wird eine Beleg-NR vergeben, die Belege gelten somit als gedruckt und können nicht mehr bearbeitet werden.", vbYesNoCancel) Then
If vbYes = MsgBox("Es wird eine Beleg-NR vergeben, die Belege gelten somit als gedruckt und können nicht mehr bearbeitet werden.", vbYesNoCancel) Then
For Each r In MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Where(Function(x) x.Cells("RENR").Value Is Nothing OrElse IsDBNull(x.Cells("RENR").Value))
For Each r In MyDatagridview1.SelectedRows.Cast(Of DataGridViewRow)().Where(Function(x) x.Cells("RENR").Value Is Nothing OrElse IsDBNull(x.Cells("RENR").Value))
If IsDate(txtRechnungsdatum.Text) AndAlso IsDate(txtZeitraumBis.Text) AndAlso Not IsDBNull(r.Cells("RechnungsLandKz").Value) AndAlso Not IsDBNull(r.Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(r.Cells("RechnungsKundenNr").Value) Then
If IsDate(txtRechnungsdatum.Text) AndAlso IsDate(txtZeitraumBis.Text) AndAlso Not IsDBNull(r.Cells("RechnungsLandKz").Value) AndAlso Not IsDBNull(r.Cells("RechnungsKundenNr").Value) AndAlso IsNumeric(r.Cells("RechnungsKundenNr").Value) Then
Dim RENRExisting As Boolean = False
RENRExisting = r.Cells("RENR").Value IsNot Nothing AndAlso Not IsDBNull(r.Cells("RENR").Value) AndAlso r.Cells("RENR").Value.ToString().Trim() <> ""
If Not RENRExisting Then
Me.Enabled = False
Me.Cursor = Cursors.WaitCursor
@@ -664,17 +677,14 @@ Public Class frmFaktSammelRgDrucken
End If
Me.Enabled = True
End If
End If
Next
Me.Enabled = True
Me.Cursor = Cursors.Default
Next
Me.Enabled = True
Me.Cursor = Cursors.Default
Else
End If
End If
End If
setMailversand_ALL(True, Firma, Sammelrechung)
@@ -688,6 +698,7 @@ Public Class frmFaktSammelRgDrucken
End Sub
Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click

View File

@@ -1124,6 +1124,16 @@ Namespace My.Resources
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Byte[].
'''</summary>
Friend ReadOnly Property Kostenkalkulation_UNI() As Byte()
Get
Dim obj As Object = ResourceManager.GetObject("Kostenkalkulation_UNI", resourceCulture)
Return CType(obj,Byte())
End Get
End Property
'''<summary>
''' Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
'''</summary>

View File

@@ -982,4 +982,7 @@
<data name="KVI_report_general" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\KVI_report_general.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
<data name="Kostenkalkulation_UNI" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Kostenkalkulation_UNI.xlsx;System.Byte[], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</data>
</root>

Binary file not shown.

View File

@@ -5035,6 +5035,7 @@
<None Include="Resources\Kostenkalkulation_CS.xlsx" />
<None Include="Resources\Kostenkalkulation_AG.xlsx" />
<None Include="Resources\Kostenkalkulation_IMEX.xlsx" />
<None Include="Resources\Kostenkalkulation_UNI.xlsx" />
<None Include="Resources\KVI_report.xlsx" />
<None Include="Resources\KVI_report_general.xlsx" />
<None Include="Resources\LKW_Liste.xlsx" />

View File

@@ -49,6 +49,7 @@ Partial Class usrCntlOfferte
Me.Label2 = New System.Windows.Forms.Label()
Me.lblLeistunAddErr2 = New System.Windows.Forms.Label()
Me.pnlEdit = New System.Windows.Forms.Panel()
Me.btnOffertPreisliste = New System.Windows.Forms.Button()
Me.Button1 = New System.Windows.Forms.Button()
Me.cbxAutoFakturierung = New System.Windows.Forms.CheckBox()
Me.Label3 = New System.Windows.Forms.Label()
@@ -64,17 +65,18 @@ Partial Class usrCntlOfferte
Me.lblEditMode = New System.Windows.Forms.Label()
Me.btnOffertbearbeiten = New System.Windows.Forms.Button()
Me.dgvOfferteNew = New VERAG_PROG_ALLGEMEIN.MyDatagridview(Me.components)
Me.Button2 = New System.Windows.Forms.Button()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.btnKK = New System.Windows.Forms.Button()
Me.pnlKostenkalkulation = New System.Windows.Forms.Panel()
Me.btnKK_Mail = New System.Windows.Forms.Button()
Me.btnSaveBes = New System.Windows.Forms.Button()
Me.btnOffertPreisliste = New System.Windows.Forms.Button()
Me.Label4 = New System.Windows.Forms.Label()
CType(Me.dgvOfferteDetails, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.dgvOfferte, System.ComponentModel.ISupportInitialize).BeginInit()
Me.cntxtAddSdl.SuspendLayout()
Me.pnlSperre.SuspendLayout()
Me.pnlEdit.SuspendLayout()
CType(Me.dgvOfferteNew, System.ComponentModel.ISupportInitialize).BeginInit()
Me.Panel1.SuspendLayout()
Me.pnlKostenkalkulation.SuspendLayout()
Me.SuspendLayout()
'
'lblBesonderheiten
@@ -408,6 +410,21 @@ Partial Class usrCntlOfferte
Me.pnlEdit.Size = New System.Drawing.Size(797, 60)
Me.pnlEdit.TabIndex = 20
'
'btnOffertPreisliste
'
Me.btnOffertPreisliste.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnOffertPreisliste.BackgroundImage = Global.SDL.My.Resources.Resources.pdf
Me.btnOffertPreisliste.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.btnOffertPreisliste.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnOffertPreisliste.ForeColor = System.Drawing.Color.Black
Me.btnOffertPreisliste.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnOffertPreisliste.Location = New System.Drawing.Point(569, 0)
Me.btnOffertPreisliste.Name = "btnOffertPreisliste"
Me.btnOffertPreisliste.Size = New System.Drawing.Size(51, 36)
Me.btnOffertPreisliste.TabIndex = 34
Me.btnOffertPreisliste.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnOffertPreisliste.UseVisualStyleBackColor = True
'
'Button1
'
Me.Button1.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
@@ -626,29 +643,45 @@ Partial Class usrCntlOfferte
Me.dgvOfferteNew.Size = New System.Drawing.Size(228, 347)
Me.dgvOfferteNew.TabIndex = 30
'
'Button2
'btnKK
'
Me.Button2.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.Button2.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.Button2.ForeColor = System.Drawing.Color.Black
Me.Button2.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.Button2.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.Button2.Location = New System.Drawing.Point(0, 7)
Me.Button2.Name = "Button2"
Me.Button2.Size = New System.Drawing.Size(131, 36)
Me.Button2.TabIndex = 34
Me.Button2.Text = "Kostenkalkulation"
Me.Button2.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.Button2.UseVisualStyleBackColor = True
Me.btnKK.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnKK.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnKK.ForeColor = System.Drawing.Color.Black
Me.btnKK.Image = Global.SDL.My.Resources.Resources.Excel_logo
Me.btnKK.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnKK.Location = New System.Drawing.Point(11, 26)
Me.btnKK.Name = "btnKK"
Me.btnKK.Size = New System.Drawing.Size(44, 36)
Me.btnKK.TabIndex = 34
Me.btnKK.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnKK.UseVisualStyleBackColor = True
'
'Panel1
'pnlKostenkalkulation
'
Me.Panel1.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.Panel1.Controls.Add(Me.Button2)
Me.Panel1.Location = New System.Drawing.Point(3, 385)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(139, 51)
Me.Panel1.TabIndex = 34
Me.pnlKostenkalkulation.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.pnlKostenkalkulation.Controls.Add(Me.Label4)
Me.pnlKostenkalkulation.Controls.Add(Me.btnKK_Mail)
Me.pnlKostenkalkulation.Controls.Add(Me.btnKK)
Me.pnlKostenkalkulation.Location = New System.Drawing.Point(3, 385)
Me.pnlKostenkalkulation.Name = "pnlKostenkalkulation"
Me.pnlKostenkalkulation.Size = New System.Drawing.Size(119, 65)
Me.pnlKostenkalkulation.TabIndex = 34
Me.pnlKostenkalkulation.Visible = False
'
'btnKK_Mail
'
Me.btnKK_Mail.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnKK_Mail.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnKK_Mail.ForeColor = System.Drawing.Color.Black
Me.btnKK_Mail.Image = Global.SDL.My.Resources.Resources.email_big1
Me.btnKK_Mail.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnKK_Mail.Location = New System.Drawing.Point(62, 26)
Me.btnKK_Mail.Name = "btnKK_Mail"
Me.btnKK_Mail.Size = New System.Drawing.Size(44, 36)
Me.btnKK_Mail.TabIndex = 35
Me.btnKK_Mail.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnKK_Mail.UseVisualStyleBackColor = True
'
'btnSaveBes
'
@@ -663,20 +696,15 @@ Partial Class usrCntlOfferte
Me.btnSaveBes.Tag = ""
Me.btnSaveBes.UseVisualStyleBackColor = True
'
'btnOffertPreisliste
'Label4
'
Me.btnOffertPreisliste.Anchor = CType((System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right), System.Windows.Forms.AnchorStyles)
Me.btnOffertPreisliste.BackgroundImage = Global.SDL.My.Resources.Resources.pdf
Me.btnOffertPreisliste.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom
Me.btnOffertPreisliste.FlatStyle = System.Windows.Forms.FlatStyle.Flat
Me.btnOffertPreisliste.ForeColor = System.Drawing.Color.Black
Me.btnOffertPreisliste.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft
Me.btnOffertPreisliste.Location = New System.Drawing.Point(569, 0)
Me.btnOffertPreisliste.Name = "btnOffertPreisliste"
Me.btnOffertPreisliste.Size = New System.Drawing.Size(51, 36)
Me.btnOffertPreisliste.TabIndex = 34
Me.btnOffertPreisliste.TextAlign = System.Drawing.ContentAlignment.MiddleRight
Me.btnOffertPreisliste.UseVisualStyleBackColor = True
Me.Label4.Anchor = CType((System.Windows.Forms.AnchorStyles.Bottom Or System.Windows.Forms.AnchorStyles.Left), System.Windows.Forms.AnchorStyles)
Me.Label4.AutoSize = True
Me.Label4.Location = New System.Drawing.Point(5, 4)
Me.Label4.Name = "Label4"
Me.Label4.Size = New System.Drawing.Size(94, 13)
Me.Label4.TabIndex = 35
Me.Label4.Text = "Kostenkalkulation:"
'
'usrCntlOfferte
'
@@ -705,7 +733,7 @@ Partial Class usrCntlOfferte
Me.Controls.Add(Me.dgvOfferteDetails)
Me.Controls.Add(Me.dgvOfferte)
Me.Controls.Add(Me.pnlEdit)
Me.Controls.Add(Me.Panel1)
Me.Controls.Add(Me.pnlKostenkalkulation)
Me.Margin = New System.Windows.Forms.Padding(2)
Me.Name = "usrCntlOfferte"
Me.Size = New System.Drawing.Size(1041, 576)
@@ -717,7 +745,8 @@ Partial Class usrCntlOfferte
Me.pnlEdit.ResumeLayout(False)
Me.pnlEdit.PerformLayout()
CType(Me.dgvOfferteNew, System.ComponentModel.ISupportInitialize).EndInit()
Me.Panel1.ResumeLayout(False)
Me.pnlKostenkalkulation.ResumeLayout(False)
Me.pnlKostenkalkulation.PerformLayout()
Me.ResumeLayout(False)
Me.PerformLayout()
@@ -762,8 +791,10 @@ Partial Class usrCntlOfferte
Friend WithEvents btnOffertbearbeiten As Button
Friend WithEvents dgvOfferteNew As VERAG_PROG_ALLGEMEIN.MyDatagridview
Friend WithEvents Button1 As Button
Friend WithEvents Button2 As Button
Friend WithEvents Panel1 As Panel
Friend WithEvents btnKK As Button
Friend WithEvents pnlKostenkalkulation As Panel
Friend WithEvents btnSaveBes As Button
Friend WithEvents btnOffertPreisliste As Button
Friend WithEvents btnKK_Mail As Button
Friend WithEvents Label4 As Label
End Class

View File

@@ -1,7 +1,4 @@

Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
Imports Microsoft.Office.Interop
Public Class usrCntlOfferte
@@ -769,6 +766,12 @@ Public Class usrCntlOfferte
End If
If Not VERAG_PROG_ALLGEMEIN.cBerechtignunen.CHECK_BERECHTIGUNG_bool("KOSTENKALKULATION_OFFERTE", "SDL") Then
pnlKostenkalkulation.Visible = False
Else
pnlKostenkalkulation.Visible = True
End If
If dgvOfferteNew.SelectedRows.Count = 0 Then
btnOffertbearbeiten.Visible = False
@@ -876,7 +879,7 @@ Public Class usrCntlOfferte
End Function
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles btnKK.Click, btnKK_Mail.Click
Me.Cursor = Cursors.WaitCursor
Try
@@ -887,6 +890,7 @@ Public Class usrCntlOfferte
Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(kdNr)
Dim ADR As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNr)
Dim FIRMA_TMP = VERAG_PROG_ALLGEMEIN.cAllgemein.getFirmaFromFiliale(KD.FilialenNr)
Dim FirmaID As Integer = -1
If dgvOfferteDetails.Rows.Count = 0 Then Exit Sub
@@ -912,11 +916,13 @@ Public Class usrCntlOfferte
Dim ExcelBez = "Kostenkalkulation"
Dim offertenNr As Integer = dtKostenkalk.Rows(0).Item("OffertenNr")
If offertenNr = 26 Or offertenNr = 38 Then FIRMA_TMP = "CS"
If (offertenNr = 26 Or offertenNr = 38) AndAlso FIRMA_TMP <> "UNISPED" Then FIRMA_TMP = "CS"
Select Case FIRMA_TMP
Case "IMEX" : ExcelBez &= "_IMEX "
Case "VERAG" : ExcelBez &= "_AG "
Case "IMEX" : ExcelBez &= "_IMEX_" : FirmaID = 20
Case "VERAG" : ExcelBez &= "_AG_" : FirmaID = 1
Case "UNISPED" : ExcelBez &= "_UNISPED_" : FirmaID = 21
Case "CS" : ExcelBez &= "_CS " : FirmaID = 11
Case Else : ExcelBez &= " "
End Select
@@ -934,6 +940,8 @@ Public Class usrCntlOfferte
Select Case FIRMA_TMP
Case "IMEX" : My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation_IMEX, False)
Case "VERAG" : My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation_AG, False)
Case "UNISPED" : My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation_UNI, False)
Case "CS" : My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation_CS, False)
Case Else : My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation, False)
End Select
@@ -956,6 +964,8 @@ Public Class usrCntlOfferte
Blatt.Range("H11").Value = "Tarif für " & Today().Year
Blatt.Range("D11").Value = Blatt.Range("D11").Value.ToString.Replace("2025", Today().Year)
Dim currentRow As Integer = 13
Dim dtkeineMdtKostenkalk_mitPreise As DataTable = dtKostenkalk.Select("Preis <> ''").CopyToDataTable
@@ -984,14 +994,15 @@ Public Class usrCntlOfferte
Select Case CDate(DatumDerZollabf).Year
'Berechnungssätze laut Johanna Luxbauer
Case 2018 : Blatt.Range("D" & currentRow).Value = 0.3387
Case 2019 : Blatt.Range("D" & currentRow).Value = 0.3048
Case 2020 : Blatt.Range("D" & currentRow).Value = 0.2792
Case 2021 : Blatt.Range("D" & currentRow).Value = 0.2597
Case 2022 : Blatt.Range("D" & currentRow).Value = 0.2207
Case 2023 : Blatt.Range("D" & currentRow).Value = 0.0997
Case 2024 : Blatt.Range("D" & currentRow).Value = 0.0394
Case 2025 : Blatt.Range("D" & currentRow).Value = 0
Case 2018 : Blatt.Range("D" & currentRow).Value = 0.3782
Case 2019 : Blatt.Range("D" & currentRow).Value = 0.3433
Case 2020 : Blatt.Range("D" & currentRow).Value = 0.317
Case 2021 : Blatt.Range("D" & currentRow).Value = 0.2969
Case 2022 : Blatt.Range("D" & currentRow).Value = 0.2567
Case 2023 : Blatt.Range("D" & currentRow).Value = 0.1321
Case 2024 : Blatt.Range("D" & currentRow).Value = 0.0701
Case 2025 : Blatt.Range("D" & currentRow).Value = 0.0295
Case 2026 : Blatt.Range("D" & currentRow).Value = 0
Case Else
Blatt.Range("D" & currentRow).Value = ""
End Select
@@ -1002,9 +1013,60 @@ Public Class usrCntlOfferte
currentRow = currentRow + 1
Next
Datei.Save
.Visible = True
Select Case sender.name
Case "btnKK_Mail"
Dim outl As New Outlook.Application
Dim Mail As Microsoft.Office.Interop.Outlook.MailItem
Mail = outl.CreateItem(0)
Mail.To = ADR.E_Mail
Dim TextHTML = ""
TextHTML &= "Sehr geehrte Damen und Herren,<br>
 <br>wir möchten uns für die gute Zusammenarbeit mit Ihrem Unternehmen herzlich bedanken.<br>
 <br>Unsere Aufwendungen für Mitarbeitende, IT-Systeme und Betriebskosten sind Jahr für Jahr gestiegen, so dass wir nicht umhin kommen, unsere Verzollungssätze entsprechend anzupassen.<br>
 <br>Ihr Verständnis ist uns wichtig und deshalb möchten wir Ihnen die Einflussfaktoren erläutern:<br><br>
<ul>
<li>Personalkostenerhöhungen in der Branche</li>
<li>Verlagerung der Aufgaben von der Zollverwaltung zu den Spediteuren</li>
<li>Verschärfte gesetzliche Bestimmungen (CBAM, NCTS5,..)</li>
<li>Permanentes Update der elektronischen Zollsysteme</li>
<li>Fortlaufende Weiterbildung unserer Zollsachbearbeitenden</li>
<li>Verlängerte Öffnungszeiten</li>
<li>Inflation, Wirtschaftskrise</li>
<li>Gesteigerte Energiekosten, Versorgungskosten</li>
</ul>
<br>
Beiliegend erhalten Sie eine Aufstellung mit den angepassten Abfertigungssätzen, gültig ab <b> 01. Juni 2026.</b><br>
Wir haben nur die tatsächlichen Personalkostenerhöhungen zum Ansatz genommen. <br>
Dass durch die gesetzlich verschärften Bestimmungen der Zeitaufwand beträchtlich gestiegen ist und damit die Abfertigungszahlen pro Person entsprechend gesunken sind, haben wir bei der Preiskalkulation nicht berücksichtigt. <br>
Diesen Mehraufwand versuchen wir durch Einsparungsmaßnahmen mit modernster Software und Produktionsverbesserungen wett zu machen.<br><br>
Wir bedanken uns für Ihr Verständnis und werden uns auch weiterhin bemühen Ihnen ein zuverlässiger Partner zu sein."
TextHTML &= "<br>"
TextHTML &= "<br>"
TextHTML &= "Mit freundlichen Grüßen<br>"
TextHTML &= VERAG_PROG_ALLGEMEIN.cAllgemein.USRNAME & "<br>"
TextHTML &= "<br>"
TextHTML &= cFakturierung.getSignature("DE", FirmaID, True, True)
Mail.HTMLBody = "<div style=""font-family:Calibri, Arial"">" & TextHTML & "</div>"
Mail.Subject = "Preiserhöhung " & Today().Year
Mail.Attachments.Add(Path)
Mail.Display()
Case Else
.Visible = True
End Select
End With
@@ -1026,7 +1088,7 @@ Public Class usrCntlOfferte
End Function
Private Sub rtbBesonderheiten_TextChanged(sender As Object, e As EventArgs) Handles rtbBesonderheiten.TextChanged
btnSaveBes.Visible = true
btnSaveBes.Visible = True
End Sub
Private Sub btnSaveBes_Click(sender As Object, e As EventArgs) Handles btnSaveBes.Click
@@ -1058,4 +1120,5 @@ Public Class usrCntlOfferte
MsgBox("Noch nicht implementiert!")
End Sub
End Class

View File

@@ -2,7 +2,6 @@
Imports System.Data.SqlClient
Imports System.Reflection
Imports jdk.nashorn.internal.objects.annotations
Public Class cAufschubKonten
Property brgakto_id As Integer
@@ -12,7 +11,7 @@ Public Class cAufschubKonten
Property brgakto_warn1 As Decimal
Property brgakto_warn2 As Decimal
Property brgakto_gs_standort As Object = Nothing
Property brgakto_gs_zollsatz As Integer
Property brgakto_gs_zollsatz As Decimal
Property brgakto_gs_ustEnabled As Boolean = False
Property brgakto_gs_ust As Object = Nothing
Property brgakto_gs_aktSaldo As Decimal
@@ -100,7 +99,7 @@ Public Class cAufschubKonten
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
@@ -132,7 +131,7 @@ Public Class cAufschubKonten
End Using
End Using
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Sub
@@ -152,7 +151,7 @@ Public Class cAufschubKonten
Return (" UPDATE [tblBrgAufschubKonten] SET " & str & " WHERE brgakto_id=@brgakto_id ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
@@ -173,7 +172,7 @@ Public Class cAufschubKonten
values = values.Substring(0, values.Length - 1) 'wg. ','
Return (" INSERT INTO tblBrgAufschubKonten (" & str & ") VALUES(" & values & ") ")
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
Return ""
End Function
@@ -253,7 +252,7 @@ Public Class cAufschubKonten
Return SQL.getValueTxtBySql("select TOP (1) brgarefb_refbetrag from [tblBrgAufschubReferenzberaege] where [brgarefb_gsid]=" & brgakto_id & " and brgarefb_gs_aktiv = 1 And cast([brgarefb_gueltig_ab] as Date) <= '" & nowDate.ToShortDateString & "' order by [brgarefb_gueltig_ab] desc", "ADMIN",,,,)
Catch ex As Exception
MsgBox("Fehler in der Funktion '" & System.Reflection.MethodInfo.GetCurrentMethod.Name & "'" & vbNewLine & vbNewLine & ex.Message & vbNewLine & vbNewLine & ex.StackTrace)
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
End Try
End Function

View File

@@ -9,6 +9,7 @@ Public Class Sicherheiten_Standort
Public Const UNISPED As String = "UNISPED GmbH"
Public Const AMBAR As String = "AMBAR GmbH"
Public Const ATILLA As String = "ATILLA GmbH"
Public Const ZOLLERN As String = "ZOLLERN"
End Class
Public Class cSicherheiten