Virtuelle Eigenschaftsformel - Inverse Formel für virtuelle Eigenschaft
Inhaltsverzeichnis
Virtuelle Eigenschaftsformel
Nachdem Sie eine neue benutzerdefinierte Eigenschaft hinzugefügt haben, können Sie dieser entsprechend ihres Typs Werte zuweisen, d.h. in das Wertefeld schreiben.
Wenn Sie für diese Eigenschaft durch klicken auf den Button "Virtuelle Eigenschaften einstellen..." im Feld "Formel" eine Eigenschaftsformel festlegen, so wird die Eigenschaft zu einer virtuellen Eigenschaft, d.h. die Ergebnisse des Formelausdrucks werden in den Wertefeldern angezeigt.
Die Wertefelder der virtuellen Eigenschaft sind schreibgeschützt.
Eine virtuelle Eigenschaftsformel kann auf zwei Wegen festgelegt werden:
>>> Öffnen Sie die gewünschte Tabelle - Kontextmenü "Kopfteil" (Tabellenansicht) - Option "Spalteneinstellungen" - Button "Neue Eigenschaft..." oder
>>> Menü [Tabellenansicht] - [Erweiterte Einstellungen] - [Eigenschaftsdefinitionen] - Registerkarte "Standardstil" - Eigenschaft "Virtuelle Eigenschaftsformel".
Beispiel für das Hinzufügen einer neuen Eigenschaft und Definieren der Eigenschaft als virtuelle Eigenschaft
Wir werden eine neue Eigenschaft in der Klasse "Vorgang" hinzufügen und eine virtuelle Eigenschaft daraus machen, die sich auf die Eigenschaft "Spec 1" der Auftragstabelle bezieht.
>>> Öffnen Sie die Vorgangstabelle - Rechtsklick in den "Kopfteil" - Kontextmenü Option "Spalteneinstellungen", um das Dialogfenster "Spalteneinstellungen" anzuzeigen.
Klicken Sie den Button "Neue Eigenschaft…" im Dialogfenster "Spalteneinstellungen" und öffnen das Dialogfenster "Neue Eigenschaftsdefinition".
Weisen Sie der neuen Eigenschaft, die Sie im Dialogfenster "Neue Eigenschaftsdefinition" hinzufügen wollen, einen beliebigen Namen zu und klicken Sie den Button "Einstellungen der virtuellen Eigenschaft".
Klicken Sie den Button [...] neben dem Textfeld der Virtuellen Eigenschaftsformel um den Formeleditor anzuzeigen. Geben Sie in das Feld "Formel" die Formel "ME.Order.Spec1.Code" ein, die sich auf die Eigenschaft "Spec 1" der Auftragstabelle bezieht.
Wenn Sie im Formeleditor OK klicken, wird die eingegebene Formel im Textfeld der "Virtuellen Eigenschaftsformel" wiedergegeben. Die neu hinzugefügte Eigenschaft ist zur virtuellen Eigenschaft geworden, die sich auf Spec 1 der Aufträge bezieht. Klicken Sie den Button OK, um alle Dialogfenster zu schließen.
Wenn Sie die Vorgangstabelle öffnen, können Sie sehen, dass sich die neue Eigenschaft auf die Eigenschaft "Spec 1" der Auftragstabelle bezieht und diese anzeigt.
Die neu hinzugefügte Eigenschaft wird in der Registerkarte "Benutzer" des Eigenschaftenfensters angezeigt. Sie bezieht sich wiederum auf die Eigenschaft "Spec 1" der Auftragstabelle und zeigt diese an.
Inverse Formel für virtuelle Eigenschaft
Wenn Sie für die Eigenschaft "Virtuelle Eigenschaftsformel" einer benutzerdefinierten Eigenschaft eine Formel festlegen, können Sie dieser Eigenschaft später keine Werte zuweisen, sie ist schreibgeschützt.
Wenn Sie allerdings für eine virtuelle Eigenschaft zusätzlich eine inverse Formel festlegen, können Sie dieser Eigenschaft Werte zuweisen, jedoch wird und der Eigabewert wird festgelegt anhand der Formel, die für die inverse Formel für virtuelle Eigenschaft festgelegt wird.
Angenommen, in der Auftragstabelle wird eine Eigenschaft hinzugefügt und für diese eine virtuelle Eigenschaftsformel wie folgt festgelegt:
- ME.Qty + 'pcs'
Wenn die Menge des Auftrags 100 ist, zeigt diese Eigenschaft "100 pcs." (=100 Stück) an.
Durch festlegen der inv. Formel für virtuelle Eigenschaft können Sie "200 pcs." (=200 Stück) in die Eigenschaft eingeben und somit "200" für die Menge des Auftrags festlegen.
Inverse Formel für virtuelle Eigenschaft festlegen
Sie können eine inverse Formel für virtuelle Eigenschaft im Textfeld "Inverse Formel für virtuelle Eigenschaft" im Dialogfenster "Neue Eigenschaftsdefinition" eingeben.
Oder Sie legen sie in der Eigenschaft "Inverse Formel für virtuelle Eigenschaft" im Reiter Grundsätzlich des Dialogfensters "Eigenschaftsdefinition bearbeiten" an.
Eine inverse Formel für virtuelle Eigenschaft legt die Formel fest, die dem Objekt "HOLDER" mithilfe des Schlüsselwortes "INPUT" zugeordnet wird.
INPUT
Das Schlüsselwort "INPUT" zeigt die eingegebene Zeichenkette der virtuellen Eigenschaftsformel an.
Beispiele für Festlegen von Formeln
Beispiel 1
Virtuelle Eigenschaftsformel und inverse Formel für virtuelle Eigenschaft einer zusätzlichen Eigenschaft des Vorganges, die die Menge des Auftrags von "100 Stück" anzeigen.
Virtuelle Eigenschaftsformel | ME.Order.Qty+' Stück' | |||
inverse Formel für virtuelle Eigenschaft | HOLDER.Order.Qty=FindNumberL( INPUT, 1 ) |
Beispiel 2
Virtuelle Eigenschaftsformel und inverse Formel für virtuelle Eigenschaft einer zusätzlichen Eigenschaft des Auftrags, die die LET von "January1." anzeigt.
Virtuelle Eigenschaftsformel | GetMonthPart(ME.LET)+'Month'+GetDayPart(ME.LET)+'Day' | |||
Virtuelle Formel für virtuelle Eigenschaft | HOLDER.LET=DateF(GetYearPart(HOLDER.LET),FindNumberL(INPUT,1),FindNumberL(INPUT,2),GetHourPart(HOLDER.LET),GetMinutePart(HOLDER.LET),GetSecondPart(HOLDER.LET)) |
Beispiel 3
Virtuelle Eigenschaftsformel und inverse Formel für virtuelle Eigenschaft einer zusätzlichen Eigenschaft des Auftrags, die den Kunden des äußersten rechten verknüpften Auftrags anzeigt.
Virtuelle Eigenschaftsformel | ME.RightmostOrder[1].Customer | |||
Inverse Formel für virtuelle Eigenschaft | HOLDER.RightmostOrder[1].Customer=INPUT |
Hinweis:
Wenn Sie einen nicht existierenden Kunden eingeben, wird dieser, wenn möglich, automatisch erstellt. Wenn dies nicht möglich ist, können Sie diesen Code nicht eingeben.
Da das Schlüsselwort "INPUT" bei Verwendung in einer inversen Formel für virtuelle Eigenschaft als Zeichenkette behandelt wird, gibt es verschiedene interne Funktionen zum Konvertieren in ein anderes Format. Klicken Sie bitte hier für weitere Informationen über interne Funktionen.
- FindNumberL( string , N )
- Gibt die Zeichen, die den n-ten Wert von links in der Zeichenkette des ersten Parameters beschreiben, als Wert aus. FindNumberL( '10pcs', 1 ) -> 10
- FindNumberR( string , N )
- Gibt die Zeichen, die den n'ten Wert von rechts in der Zeichenkette des ersten Parameters beschreiben, als Wert aus. FindNumberR( '10pcs', 1 ) -> 10
- DateS( Year , Month , Day )
- Stehen Jahr / Monat / Tag als Werte zur Verfügung, erfolgt die Ausgabe im Format Zeitangabe.
- DateF( Year , Month , Day , Hour , Minute , Second )
- Stehen Jahr / Monat / Tag / Stunde / Minute / Sekunde als Werte zur Verfügung, erfolgt die Ausgabe im Format Zeitangabe.