Unter Werkzeuge und Hilfsmittel finden Sie das Menü Tabellen‑Trigger.
Tabellen‑Trigger werden verwendet, um kleine Codestücke zu erstellen, die kleine Aufträge in den Tabellen/Dateien in Uniconta automatisieren können.
Jeglicher Support im Zusammenhang mit Ereignis-Skripten ist kostenpflichtiger Support. Wenn in Ihren Büchern Ereignis-Skripte eingerichtet wurden und diese Herausforderungen für die Bücher darstellen, ist dies kostenpflichtiger Support, wenn Sie sich an den Support wenden.
Die Beispiele in diesem Artikel dienen als Richtlinie und funktionieren in einem Standard-Uniconta-Buch. Die Nutzung erfolgt auf eigene Verantwortung und sollte in einer Testumgebung getestet werden, bevor sie in einer Produktionsumgebung codiert werden.
Tipps:
Der Wert eines benutzerdefinierten fldNotat-Felds wird wie folgt aufgerufen:
rec.Debtor.GetUserFieldString("fldNotat")
Um einen Wert für ein benutzerdefiniertes Feld, fldNotat, festzulegen, schreiben Sie Folgendes:
rec.SetUserFieldString("fldNotat", "Dette er vores notat til feltet");
Es ist möglich, eine Meldungsbox zu erstellen, z. B. wenn ein Feld nicht ausgefüllt ist. Eine Meldungsbox kann wie folgt geschrieben werden:
System.Windows.Forms.MessageBox.Show("OnUpdate");
Beispiel 1 – Wählen Sie ein Layout basierend auf dem Mitarbeiter aus:
Wenn ein bestimmter Mitarbeiter eine Kundenauftrag erstellt, sollte dieser Mitarbeiter ein bestimmtes Layout verwenden.
Dies kann durch die Erstellung eines Ereignis-Skripts erzwungen werden.
Gehen Sie zu Werkzeuge und Hilfsmittel/Tabellen‑Trigger
Hier wählen Sie die Datei aus, für die ein Ereignis-Skript ausgeführt werden soll. Sie finden die Datei, indem Sie an der gewünschten Stelle in Uniconta stehen und dann F12 drücken.
Wenn es sich um einen Kundenauftrag handelt, der mit einem Code aktiviert werden soll, wählen Sie „DebtorOrderClient“
Wählen Sie dann „Ereignis-Skript“, also wann dieser Code aktiviert werden soll.
Im Beispiel wird OnInsert ausgewählt
Wenn Sie in C# programmieren können, aktivieren Sie das C#-Feld
Im Skript-Feld können Sie nun mit dem Codieren beginnen.
/* Wenn der Mitarbeiter 1007 ist, sollte die Layoutgruppe auf England gesetzt werden */ if (rec.Employee=="1007") rec.LayoutGroup = "England"; /* Wenn das Lieferdatum eines Kundenauftrags das heutige Datum sein soll */ rec.DeliveryDate =DateTime.Today;
Klicken Sie auf Speichern und testen Sie Ihr Ereignis-Skript im Kundenauftrag.
Beispiel 2 – Füllen Sie die Einkaufsrechnungsnummer automatisch mit einer beliebigen Nummer aus:
Dies kann für Tests verwendet werden, wenn Sie häufig Einkäufe testen. oder einfach eine beliebige Rechnungsnummer in einer Einkaufsrechnung benötigen.
Über ein Ereignis-Skript können Sie beim Verlassen des Einkaufsbilds eine Nummer im Feld Rechnungsnr. speichern.
Im Beispiel wird das aktuelle Datum mit Uhrzeit, einschließlich Sekunden, für die Rechnungsnummer ausgewählt, sodass diese nie gleich ist.
Man macht Folgendes:
Erstellen Sie ein Ereignis-Skript:
Gehen Sie zu Werkzeuge und Hilfsmittel
Wählen Sie Tabellen‑Trigger
Wählen Sie die Tabelle CreditorOrderClient
Klicken Sie im Menü auf Tabellen‑Trigger
Es reicht aus, ein Ereignis-Skript hinzuzufügen, wenn Sie eine Bestellung erstellen, aber es ist auch eine gute Idee, ein Ereignis-Skript zu erstellen, wenn Sie eine Bestellung ändern.
Erstellen Sie eine Rechnungsnummer für eine neue Einkaufsbestellung:
Fügen Sie einen Tabellen‑Trigger hinzu
Setzen Sie Ereignis-Skript auf OnInsert
Setzen Sie ein Häkchen in C#
Fügen Sie den folgenden Code in das Feld Skript ein:
rec.InvoiceNumber = DateTime.Now.ToString("MMddyyyyHHmmss");
(Ersetzen Sie ggf. ” durch neue ”, da diese beim Kopieren geändert werden können!)
Klicken Sie auf Prüfen. Wenn Sie OK erhalten, ist alles gut – wenn Sie einen Fehler mit viel Code erhalten, beginnen Sie mit dem Ersetzen von ” und versuchen Sie erneut, zu prüfen.
Speichern Sie und versuchen Sie, eine Einkaufsbestellung zu erstellen.
Das Ereignis-Skript sollte wie folgt aussehen:
Wenn Sie die gleiche Funktion für bereits erstellte Einkaufsbestellungen wünschen, müssen Sie ein weiteres Ereignis-Skript erstellen.
Erstellen Sie eine Rechnungsnummer für eine bereits bestehende Einkaufsbestellung:
Fügen Sie einen weiteren Tabellen‑Trigger in CreditorOrderClient hinzu
Setzen Sie Ereignis-Skript auf OnUpdate
Setzen Sie ein Häkchen in C#
Fügen Sie den folgenden Code in das Feld Skript ein:
if (rec.InvoiceNumber=="0" || string.IsNullOrEmpty(rec.InvoiceNumber) ) {
rec.InvoiceNumber = DateTime.Now.ToString("MMddyyyyHHmmss");
}
(Ersetzen Sie ggf. ” durch neue ”, da diese beim Kopieren geändert werden können!)
Klicken Sie auf Prüfen. Wenn Sie OK erhalten, ist alles gut – wenn Sie einen Fehler mit viel Code erhalten, beginnen Sie mit dem Ersetzen von ” und versuchen Sie erneut, zu prüfen.
Speichern Sie und versuchen Sie, eine Einkaufsbestellung zu ändern, die keine Rechnungsnummer hat.
Das Ereignis-Skript sollte wie folgt aussehen:
Beispiel 3 – Füllen Sie den Projektnamen automatisch mit dem Kundennamen aus:
Von der Kunde/Kunde-Übersicht aus kann in der Menüleiste ein Projekt für den ausgewählten Kunde erstellt werden (wenn das Projektmodul aktiviert ist).
Über ein Ereignis-Skript kann der Projektname bei der Erstellung automatisch mit dem Namen des Kunde ausgefüllt werden.
Erstellen Sie das Ereignis-Skript:
Gehen Sie zu Werkzeuge und Hilfsmittel
Wählen Sie Tabellen‑Trigger
Wählen Sie die Tabelle ProjectClient
Klicken Sie im Menü auf „Tabellen‑Trigger hinzufügen“
Setzen Sie Ereignis-Skript auf PageLoad
Fügen Sie den folgenden Code in das Feld Skript ein:
if (rec.Name==null) {
rec.Name = rec.DebtorName;
}
(Ersetzen Sie ggf” durch neue ”, da diese beim Kopieren geändert werden können!)
Das Ereignis-Skript sollte wie folgt aussehen:
Beispiel 4 – Setzen Sie die Zahlungsmethode auf X, wenn Konto = X in der Buchungsseite:
Wenn Sie ein Kunde/Kreditor/Finanzkonto haben, das z. B. bei jeder Buchung eine bestimmte Zahlungsmethode haben soll, können Sie dieses Ereignis-Skript verwenden.
Erstellen Sie das Ereignis-Skript:
Gehen Sie zu Werkzeuge und Hilfsmittel
Wählen Sie Tabellen‑Trigger
Wählen Sie die Tabelle GLDailyJournalLineClient
Klicken Sie im Menü auf „Tabellen‑Trigger hinzufügen“
Setzen Sie Ereignis-Skript auf OnUpdate
Setzen Sie ein Häkchen in C#
Fügen Sie den folgenden Code in das Feld Skript ein:
if (rec.Account=="X") rec.PaymentMethod = "X"; // Ersetzen Sie X durch den Kontonamen und die gewünschte Zahlungsmethode. // Zahlungsmethoden: „Kreditors Bankkonto“, „IBAN“, „+71“, „+73“, „+75“, „+04“, „Kein“.
Klicken Sie auf Prüfen. Wenn Sie OK erhalten, ist alles gut – wenn Sie einen Fehler mit viel Code erhalten, beginnen Sie mit dem Ersetzen der Symbole ” und versuchen Sie erneut, zu prüfen.
Das Ereignis-Skript sollte wie folgt aussehen:
Beispiel 5 – Füllen Sie benutzerdefinierte Felder bei der Buchung in Projekt- und Stundenerfassungsblättern aus
Erstellen Sie benutzerdefinierte Felder in ProjectJournalClient oder TMJournalLineClient
Z.B.
DebKonto Ruft (Kontonummer) in der Tabelle „ProjektClient“ ab
EmpDim Ruft (Dimension1) in der Tabelle „EmployeeClient“ ab
DebPartner Ruft (Dimension2) in der Tabelle „DebtorClient“ ab
Erstellen Sie das Ereignis-Skript:
Gehen Sie zu Werkzeuge und Hilfsmittel
Wählen Sie Tabellen‑Trigger
Wählen Sie die Tabelle ProjectJournalClientUser oder TMJournalLineClientUser
Klicken Sie im Menü auf „Tabellen‑Trigger hinzufügen“ oder „Bearbeiten“
Setzen Sie Ereignis-Skript auf OnEnter, OnLeave, OnInsert und OnUpdate
Setzen Sie ein Häkchen in C#
Fügen Sie den folgenden Code in das Feld Skript ein:
rec.SetUserFieldString("EmpDim", rec.EmployeeRef.Dimension1);
if ("Project" != "I")
{
rec.SetUserFieldString("DebPartner", rec.ProjectRef.Dimension2);
rec.SetUserFieldString("DebKonto", rec.ProjectRef.Account);
}
Klicken Sie auf Prüfen. Wenn Sie OK erhalten, ist alles gut – wenn Sie einen Fehler mit viel Code erhalten, beginnen Sie mit dem Ersetzen der Symbole ” und versuchen Sie erneut, zu prüfen.
Das Ereignis-Skript sollte wie folgt aussehen:
Möglichkeiten mit Ereignis-Skript
Möglichkeiten mit Ereignis-Skripten
Ein Ereignis-Skript kann auf 8 verschiedene Arten aktiviert werden, und nur einmal pro Methode, pro Tabelle. Wenn Sie also mehrere Funktionen für dieselbe Methode haben möchten, müssen diese unter einer erstellt werden.
Sie können ein Ereignis-Skript nicht von einer Methode in eine andere ändern. Es muss ein neues erstellt werden, und Sie müssen ggf. das Ereignis-Skript löschen, das Sie nicht verwenden.
| Ereignis-Skript | Beschreibung |
| Init | Init kann verwendet werden, um einen Parameter zu definieren, bevor der Bildschirm geladen wird. |
| PageClosed | PageClosed wird ausgeführt, wenn Sie einen Bildschirm schließen. |
| PageLoad | PageLoad wird ausgeführt, wenn Sie einen Bildschirm öffnen.
Sie können z. B. Daten im Voraus einfügen, wenn Sie einen neuen Kundenauftrag, ein neues Projekt oder einen neuen Artikel erstellen. |
| OnEnter | OnEnter wird ausgeführt, wenn Sie sich in dem Feld befinden, für das Sie ein Ereignis-Skript erstellt haben. |
| OnLeave | OnLeave wird ausgeführt, wenn Sie das Feld verlassen, für das Sie ein Ereignis-Skript erstellt haben.OnDelete |
| OnDelete | OnDelete wird ausgeführt, wenn Sie Daten aus dem Feld löschen, für das Sie ein Ereignis-Skript erstellt haben.
Sie können z. B. den Zeitpunkt für das Löschen von Daten dokumentieren. |
| OnInsert | OnInsert wird ausgeführt, wenn Sie Daten erstellen/einfügen.
Z. B. beim Erstellen eines Kundenauftrags oder eines neuen Kunde/Kreditors. |
| OnUpdate | OnUpdate wird ausgeführt, wenn Sie vorhandene Daten im Ereignis-Skriptfeld aktualisieren.
Wenn z. B. Wert X = X in Feld A, fügen Sie Wert Y in Feld B ein. Sie können OnUpdate auch verwenden, um zu erfassen, wann zuletzt Änderungen an z. B. einem Kunde oder einem Artikel vorgenommen wurden. |