Eigene Buttons in den Service-Tickets zur Beleg-Erstellung

Allgemeine Erklärung

In der Menüfunktion 'Service-Tickets' sollen in der Registerkarte 'Individual-Variablen' unter ggf. vorhandenen Steuerelementen drei Buttons ergänzt werden. Diese sollen dazu dienen, einen neuen Beleg vom Typ Angebot, Auftrag oder Lieferung anzulegen. Der angelegte Beleg ist dann mit dem gerade ausgewählten Ticket verknüpft. Diese Verknüpfung muss nachträglich über die Datenbank eingestellt werden, da die Beleg-Klasse einen entsprechenden Parameter noch nicht bietet. Der Beispiel-Code kann in unten dargestellter Form in die Datei 'TriggerFormFramework.vb' eingefügt werden.

VB.NET SDK-Programmcode

  

#Region " TriggerFormFramework_NachLoad-Ereignis " 

        Private Sub TriggerFormFramework_NachLoad(sender As Object, e As FormFrameworkEventArgs) Handles Me.NachLoad 

                '>>> Bei Menüfunktion  S E R V I C E T I C K E T  

                If TypeOf sender Is ServiceTicketsFRM Then 

                    Dim tiFRM As ServiceTicketsFRM = CType(sender, ServiceTicketsFRM

                    '>>> Steuerelemente ergänzen 

                    SteuerelementeAmTicketErgänzen(tiFRM) 

                End If 

        End Sub 

#End Region 

 

#Region " Private Sub: SteuerelementeAmTicketErgänzen () " 

        Private Sub SteuerelementeAmTicketErgänzen(TiFRM As ServiceTicketsFRM

                '>>> Buttons unter die unterste Individualvariable einfügen 

                Dim buttonTop As Integer = 0 

                For Each ctrl As Control In TiFRM.PanelIndVar.Controls 

                    buttonTop = ctrl.Top + ctrl.Height 

                Next 

                buttonTop += 10 

                '>>> Button Angebot 

                Dim buttonAngebot As New EwaButton 

                buttonAngebot.Text = "" 

                buttonAngebot.Image = Menue.FRM.ImageListMenue.Images(2453) 

                buttonAngebot.Width = buttonAngebot.Height 

                buttonAngebot.Left = 10 

                buttonAngebot.Top = buttonTop 

                buttonAngebot.EwaReadOnlyAktiv = True 

                TiFRM.PanelIndVar.Controls.Add(buttonAngebot) 

                AddHandler buttonAngebot.Click, AddressOf AngebotAnlegen 

                '>>> Button Auftrag 

                Dim buttonAuftrag As New EwaButton 

                buttonAuftrag.Text = "" 

                buttonAuftrag.Image = Menue.FRM.ImageListMenue.Images(2456) 

                buttonAuftrag.Width = buttonAuftrag.Height 

                buttonAuftrag.Left = 10 + buttonAngebot.Width + 10 

                buttonAuftrag.Top = buttonTop 

                buttonAuftrag.EwaReadOnlyAktiv = True 

                TiFRM.PanelIndVar.Controls.Add(buttonAuftrag) 

                AddHandler buttonAuftrag.Click, AddressOf AuftragAnlegen 

                '>>> Button Lieferung 

                Dim buttonLieferung As New EwaButton 

                buttonLieferung.Text = "" 

                buttonLieferung.Image = Menue.FRM.ImageListMenue.Images(2463) 

                buttonLieferung.Width = buttonLieferung.Height 

                buttonLieferung.Left = 10 + buttonAngebot.Width + 10 + buttonAuftrag.Width + 10 

                buttonLieferung.Top = buttonTop 

                buttonLieferung.EwaReadOnlyAktiv = True 

                TiFRM.PanelIndVar.Controls.Add(buttonLieferung) 

                AddHandler buttonLieferung.Click, AddressOf LieferungAnlegen 

        End Sub 

#End Region 

 

#Region " Private Sub: AngebotAnlegen () " 

        Private Sub AngebotAnlegen(sender As Object, e As System.EventArgs

                Dim TiFRM As ServiceTicketsFRM = CType(CType(sender, EwaButton).FindForm, ServiceTicketsFRM

                Dim tmpDBZ As SQLServerZugriff = Datenbank.DatenDB 

                Dim adresseGUID As Guid = C.ToGuidX(tmpDBZ.HoleFeld(TBL.Adressen.GUID, TBL.Adressen.TBL, TBL.Adressen.AdressNummerINT, TiFRM.IntegerBoxAdressNummer_Adressen.Text)) 

                If adresseGUID = Guid.Empty Then Exit Sub 

                Dim neuerBeleg As New Beleg(BT.VkAngebot, adresseGUID) 

                neuerBeleg.GeneriereNeuenBeleg() 

                If neuerBeleg.Beleg = Guid.Empty Then 

                    FktF.Meldung("Fehler: Neuer Beleg konnte nicht erstellt werden.", TiFRM) 

                    Exit Sub 

                End If 

                '>>> UPDATE: 

                tmpDBZ.LöscheFelder() 

                tmpDBZ.AddFelder(TBL.ServiceTicketsBelege.BelegGUID, neuerBeleg.Beleg, EwaSQL.UniqueIdentifier) 

                tmpDBZ.AddFelder(TBL.ServiceTicketsBelege.ServiceTicketGUID, TiFRM.AktuelleGUID, EwaSQL.UniqueIdentifier) 

                tmpDBZ.InsertDatensatz(TBL.ServiceTicketsBelege.TBL) 

                '>>> anzeigen 

                Dim tmpLIS As New List(Of Guid

                tmpLIS.Add(neuerBeleg.Beleg) 

                AnzeigenDerBelege(tmpLIS, "Angebot"

        End Sub 

#End Region 

 

#Region " Private Sub: AuftragAnlegen () " 

        Private Sub AuftragAnlegen(sender As Object, e As System.EventArgs

                Dim TiFRM As ServiceTicketsFRM = CType(CType(sender, EwaButton).FindForm, ServiceTicketsFRM

                Dim tmpDBZ As SQLServerZugriff = Datenbank.DatenDB 

                Dim adresseGUID As Guid = C.ToGuidX(tmpDBZ.HoleFeld(TBL.Adressen.GUID, TBL.Adressen.TBL, TBL.Adressen.AdressNummerINT, TiFRM.IntegerBoxAdressNummer_Adressen.Text)) 

                If adresseGUID = Guid.Empty Then Exit Sub 

                Dim neuerBeleg As New Beleg(BT.VkAuftrag, adresseGUID) 

                neuerBeleg.GeneriereNeuenBeleg() 

                If neuerBeleg.Beleg = Guid.Empty Then 

                    FktF.Meldung("Fehler: Neuer Beleg konnte nicht erstellt werden.", TiFRM) 

                    Exit Sub 

                End If 

                '>>> UPDATE: 

                tmpDBZ.LöscheFelder() 

                tmpDBZ.AddFelder(TBL.ServiceTicketsBelege.BelegGUID, neuerBeleg.Beleg, EwaSQL.UniqueIdentifier) 

                tmpDBZ.AddFelder(TBL.ServiceTicketsBelege.ServiceTicketGUID, TiFRM.AktuelleGUID, EwaSQL.UniqueIdentifier) 

                tmpDBZ.InsertDatensatz(TBL.ServiceTicketsBelege.TBL) 

                '>>> anzeigen 

                Dim tmpLIS As New List(Of Guid

                tmpLIS.Add(neuerBeleg.Beleg) 

                AnzeigenDerBelege(tmpLIS, "Auftrag"

        End Sub 

#End Region 

 

#Region " Private Sub: LieferungAnlegen () " 

        Private Sub LieferungAnlegen(sender As Object, e As System.EventArgs

                Dim TiFRM As ServiceTicketsFRM = CType(CType(sender, EwaButton).FindForm, ServiceTicketsFRM

                Dim tmpDBZ As SQLServerZugriff = Datenbank.DatenDB 

                Dim adresseGUID As Guid = C.ToGuidX(tmpDBZ.HoleFeld(TBL.Adressen.GUID, TBL.Adressen.TBL, TBL.Adressen.AdressNummerINT, TiFRM.IntegerBoxAdressNummer_Adressen.Text)) 

                If adresseGUID = Guid.Empty Then Exit Sub 

                Dim neuerBeleg As New Beleg(BT.VkLieferung, adresseGUID) 

                neuerBeleg.GeneriereNeuenBeleg() 

                If neuerBeleg.Beleg = Guid.Empty Then 

                    FktF.Meldung("Fehler: Neuer Beleg konnte nicht erstellt werden.", TiFRM) 

                    Exit Sub 

                End If 

                '>>> UPDATE: 

                tmpDBZ.LöscheFelder() 

                tmpDBZ.AddFelder(TBL.ServiceTicketsBelege.BelegGUID, neuerBeleg.Beleg, EwaSQL.UniqueIdentifier) 

                tmpDBZ.AddFelder(TBL.ServiceTicketsBelege.ServiceTicketGUID, TiFRM.AktuelleGUID, EwaSQL.UniqueIdentifier) 

                tmpDBZ.InsertDatensatz(TBL.ServiceTicketsBelege.TBL) 

                '>>> anzeigen 

                Dim tmpLIS As New List(Of Guid

                tmpLIS.Add(neuerBeleg.Beleg) 

                AnzeigenDerBelege(tmpLIS, "Lieferung"

        End Sub 

#End Region 

 

#Region "  Private Sub AnzeigenDerBelege() " 

        Private Sub AnzeigenDerBelege(ByVal belege As List(Of Guid), ErgänzungsName As String

                '>>> Deklarationen: 

                Dim tmpErgänzungsName As String 

                Dim tmpWhere As String 

                Dim tmpSQL As String 

                Dim inString As String = "" 

                '>>> IN-Liste bilden mit den GUIDs der generierten Belege 

                For Each eintrag In belege 

                    inString = inString & "'" & C.ToStringX(eintrag) & "'," 

                Next 

                inString = inString.Trim(CChar(",")) 

                '>>> WHERE ermitteln: 

                tmpWhere = "(" & TBL.Vorgang.TBL & "." & TBL.Vorgang.GUID & " IN (" & inString & "))" 

                '>>> SQL-Befehl ermitteln: 

                tmpSQL = FktF.BildeSqlKomplettBefehl("VOR", , tmpWhere, TBL.Vorgang.TBL & "." & TBL.Vorgang.BelegNummerINT & " DESC"

                '>>> Neues Fenster mit den Belegen öffnen: 

                tmpErgänzungsName = "Generierte Bestellungen" 

                Menue.FRM.CallTheFunction("VOR", tmpSQL, ErgänzungsName, Nothing, False

        End Sub 

#End Region

Beratung erwünscht?

Gerne können Sie mich oder einen mein­er freund­lichen Kollegen telefonisch er­reichen:  +49 2161 277 680

Alter­na­tiv schrei­ben Sie uns an  info@it-easy.de oder nutz­en Sie das nach­folgende Kontakt­formular.

Ihr Ralf Jasper
Kundenservice

Mitarbeiterfoto von Herrn Ralf Jasper


Rückruf-Service

Für eine möglichst unkomplizierte Kontaktaufnahme füllen Sie bitte das unten stehende Formular aus und klicken auf „Rückruf anfordern“.