Offert. Kostenkalk

This commit is contained in:
2025-03-12 16:04:27 +01:00
parent 566155a258
commit eb42f14278
5 changed files with 45 additions and 18 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -4551,7 +4551,9 @@
<None Include="Resources\FA_Graz_EV-Veranlagung_Muster.xlsx"> <None Include="Resources\FA_Graz_EV-Veranlagung_Muster.xlsx">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None> </None>
<None Include="Resources\Kostenkalkulation.xlsx" /> <None Include="Resources\Kostenkalkulation_CS.xlsx" />
<None Include="Resources\Kostenkalkulation_AG.xlsx" />
<None Include="Resources\Kostenkalkulation_IMEX.xlsx" />
<None Include="Resources\LKW_Liste.xlsx" /> <None Include="Resources\LKW_Liste.xlsx" />
<None Include="Resources\MDM_Schreiben\GOBOX_UMSTELLUNG.dotx"> <None Include="Resources\MDM_Schreiben\GOBOX_UMSTELLUNG.dotx">
<CopyToOutputDirectory>Always</CopyToOutputDirectory> <CopyToOutputDirectory>Always</CopyToOutputDirectory>

View File

@@ -1,6 +1,7 @@
 
Imports VERAG_PROG_ALLGEMEIN Imports VERAG_PROG_ALLGEMEIN
Imports VERAG_PROG_ALLGEMEIN.TESTJSON
Public Class usrCntlOfferte Public Class usrCntlOfferte
@@ -580,7 +581,7 @@ Public Class usrCntlOfferte
Next Next
dgvOfferteDetails.AllowUserToDeleteRows = edit dgvOfferteDetails.AllowUserToDeleteRows = edit
End If End If
End With End With
@@ -602,16 +603,16 @@ Public Class usrCntlOfferte
.Columns.Clear() .Columns.Clear()
OFFERTEBind = New cEasyBinding(BIND_DB) OFFERTEBind = New cEasyBinding(BIND_DB)
OFFERTEBind.initBinding(" SELECT [LeistungsNr],[LeistungsBez],[BerechnungsartNr],[Preis],[Anzahl],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],BerechnungsartPosInkludiert,[Eingegeben am],[Geändert am],[Sachbearbeiter],[PreisänderungProzent],[PreisAlt],[Preisänderung],KundenNr,OffertenNr " & OFFERTEBind.initBinding(" SELECT [LeistungsNr],[LeistungsBez],[BerechnungsartNr],[Preis],[Anzahl],[BGebLeistungsNr],[BGebProzent],[BGebMinBetrag],BerechnungsartPosInkludiert,[Eingegeben am],[Geändert am],[Sachbearbeiter],[PreisänderungProzent],[PreisAlt],[Preisänderung],KundenNr,OffertenNr " &
" FROM [tblOffertenpositionenArchiv] " & " FROM [tblOffertenpositionenArchiv] " &
" WHERE OfId='" & OffertenId & "' ORDER BY LeistungsNr, Preis DESC", "tblOffertenpositionenArchiv") " WHERE OfId='" & OffertenId & "' ORDER BY LeistungsNr, Preis DESC", "tblOffertenpositionenArchiv")
.DataSource = OFFERTEBind.bindingdataTable .DataSource = OFFERTEBind.bindingdataTable
FUNC.dgvCellToCbo(dgvOfferteDetails, 2, "Berechnungsart", "BerechnungsartNr", " SELECT [BerechnungsartNr], CAST(BerechnungsartNr as varchar(3)) + ' - ' + [BerechnungsartBez] as [BerechnungsartBez] FROM [Berechnungsart] ORDER BY BerechnungsartNr ", "FMZOLL", 150) FUNC.dgvCellToCbo(dgvOfferteDetails, 2, "Berechnungsart", "BerechnungsartNr", " SELECT [BerechnungsartNr], CAST(BerechnungsartNr as varchar(3)) + ' - ' + [BerechnungsartBez] as [BerechnungsartBez] FROM [Berechnungsart] ORDER BY BerechnungsartNr ", "FMZOLL", 150)
FUNC.dgvCellToCbo(dgvOfferteDetails, 5, "BGebLeist.", "BGebLeistungsNr", " SELECT [LeistungsNr], CAST(LeistungsNr as varchar(3)) + ' - ' + [LeistungsBez] as LeistungsBez FROM [Leistungen] ORDER BY [LeistungsNr] ", "FMZOLL", 250) FUNC.dgvCellToCbo(dgvOfferteDetails, 5, "BGebLeist.", "BGebLeistungsNr", " SELECT [LeistungsNr], CAST(LeistungsNr as varchar(3)) + ' - ' + [LeistungsBez] as LeistungsBez FROM [Leistungen] ORDER BY [LeistungsNr] ", "FMZOLL", 250)
@@ -664,9 +665,9 @@ Public Class usrCntlOfferte
dgvOfferteNew.Enabled = False dgvOfferteNew.Enabled = False
currentOffert = New VERAG_PROG_ALLGEMEIN.cOfferte(kdNr, dgvOfferteNew.SelectedRows(0).Cells("OffertenNr").Value, False) currentOffert = New VERAG_PROG_ALLGEMEIN.cOfferte(kdNr, dgvOfferteNew.SelectedRows(0).Cells("OffertenNr").Value, False)
Dim orgDataTable As DataTable = dgvOfferteDetails.DataSource Dim orgDataTable As DataTable = dgvOfferteDetails.DataSource
tmpDataTable = orgDataTable.Copy tmpDataTable = orgDataTable.Copy
Catch ex As Exception Catch ex As Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
@@ -816,9 +817,16 @@ Public Class usrCntlOfferte
If True Then If True Then
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 sqlKostenkalk = " Select OffertenNr, isnull(LeistungsNr,'') as LeistungsNr,isnull(LeistungsBez,'' ) as LeistungsBez,isnull(Preis,'') as Preis,isnull([Geändert am],[Eingegeben am]) as Datum Dim sqlKostenkalk = " Select OffertenNr, isnull(LeistungsNr,'') as LeistungsNr,isnull(LeistungsBez,'' ) as LeistungsBez,isnull(Preis,'') as Preis,isnull([Geändert am],[Eingegeben am]) as Datum
FROM [VERAG].[dbo].[Offertenpositionen] where KundenNr = " & kdNr & " and OffertenNr in (38, 1) and LeistungsNr in (340, 324, 348, 440) FROM [VERAG].[dbo].[Offertenpositionen] where KundenNr = " & kdNr & " and OffertenNr in (38, 1) and LeistungsNr in (340, 324, 348, 440)
order by cast([Eingegeben am] as date) desc, LeistungsNr, Preis desc" order by Preis desc"
Dim dtKostenkalk As DataTable = (New SQL).loadDgvBySql(sqlKostenkalk, "FMZOLL") Dim dtKostenkalk As DataTable = (New SQL).loadDgvBySql(sqlKostenkalk, "FMZOLL")
@@ -840,15 +848,32 @@ Public Class usrCntlOfferte
Dim Blatt As Object 'Microsoft.Office.Interop.Excel.Worksheet 'As Object 'as Worksheet Dim Blatt As Object 'Microsoft.Office.Interop.Excel.Worksheet 'As Object 'as Worksheet
exclApp = CreateObject("Excel.Application") exclApp = CreateObject("Excel.Application")
Dim ExcelBez = "Kostenkalkulation"
Select Case FIRMA_TMP
Case "IMEX" : ExcelBez &= "_IMEX "
Case "VERAG" : ExcelBez &= "_AG "
Case Else : ExcelBez &= " "
End Select
With exclApp With exclApp
.Visible = False .Visible = False
Try Try
Path = sPath & "Kostenkalkulation " & kdNr & " .xlsx" Path = sPath & ExcelBez & kdNr & " .xlsx"
While System.IO.File.Exists(Path) While System.IO.File.Exists(Path)
Path = sPath & "Kostenkalkulation " & kdNr & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx" Path = sPath & ExcelBez & kdNr & "_" & Now.ToString("ddMMyyyyHHmmss") & ".xlsx"
End While End While
My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation, False)
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 Else : My.Computer.FileSystem.WriteAllBytes(Path, My.Resources.Kostenkalkulation, False)
End Select
Catch ex As System.Exception Catch ex As System.Exception
VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name) VERAG_PROG_ALLGEMEIN.cErrorHandler.ERR(ex.Message, ex.StackTrace, System.Reflection.MethodInfo.GetCurrentMethod.Name)
Me.Cursor = Cursors.Default Me.Cursor = Cursors.Default
@@ -859,8 +884,6 @@ Public Class usrCntlOfferte
Datei = .Workbooks.Open(Path) 'Anpassen Datei = .Workbooks.Open(Path) 'Anpassen
Blatt = Datei.Worksheets(1) 'Anpassen Blatt = Datei.Worksheets(1) 'Anpassen
Dim KD As New VERAG_PROG_ALLGEMEIN.cKunde(kdNr)
Dim ADR As New VERAG_PROG_ALLGEMEIN.cAdressen(kdNr)
Blatt.Range("B8").Value = ADR.Name_1 Blatt.Range("B8").Value = ADR.Name_1
Blatt.Range("B9").Value = ADR.AdressenNr Blatt.Range("B9").Value = ADR.AdressenNr
@@ -869,13 +892,15 @@ Public Class usrCntlOfferte
Dim currentRow As Integer = 13 Dim currentRow As Integer = 13
Dim DatumDerZollabf As String = SQL.getValueTxtBySql("select top(1) isnull([Geändert am],[Eingegeben am]) as Datum FROM [VERAG].[dbo].[Offertenpositionen] where KundenNr = 704150 and OffertenNr in (38, 1) and LeistungsNr in (340, 324, 348, 440) order by Preis desc", "FMZOLL")
For Each row In dtKostenkalk.Rows For Each row In dtKostenkalk.Rows
Blatt.Range("A" & currentRow).Value = row("LeistungsBez") Blatt.Range("A" & currentRow).Value = row("LeistungsBez")
Blatt.Range("B" & currentRow).Value = row("Preis") Blatt.Range("B" & currentRow).Value = row("Preis")
If IsDate(row("Datum")) Then If IsDate(DatumDerZollabf) Then
Select Case CDate(row("Datum")).Year Select Case CDate(DatumDerZollabf).Year
'Berechnungssätze laut Johanna Luxbauer 'Berechnungssätze laut Johanna Luxbauer
Case 2018 : Blatt.Range("D" & currentRow).Value = 0.3387 Case 2018 : Blatt.Range("D" & currentRow).Value = 0.3387
Case 2019 : Blatt.Range("D" & currentRow).Value = 0.3048 Case 2019 : Blatt.Range("D" & currentRow).Value = 0.3048