div. Änderungen, etc.

This commit is contained in:
2025-12-05 11:03:20 +01:00
parent c495bd03b4
commit fedbd98286
14 changed files with 480 additions and 171 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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