In Uniconta können Sie Daten an mehreren Stellen mit kleinen Skripten, also Code-Stücken, ändern.
Sie können diese Skripte für Datenmanipulationen, berechnete Felder, Datenimport und die Zuweisung neuer Feldwerte verwenden.
Sie können "Uniconta-Skript" verwenden, eine proprietäre Sprache, mit der Sie einfache Formeln schreiben können. Wenn Sie C#-Code verwenden möchten, ist dies ebenfalls eine Option. Wählen Sie dies einfach bei der Erstellung des Skripts aus.
Markieren Sie das Kästchen C#. Der Code wird dann mit dem integrierten C#-Compiler kompiliert und der .Net-Code wird ausgeführt. Damit haben Sie Zugriff auf die gesamte große Programmbibliothek, um Daten zu manipulieren oder berechnete Felder anzuzeigen.
Beispiele in C#
Um Ihre Daten mit C#-Code zu aktualisieren, benötigen Sie die folgenden Einstellungen.
Wählen Sie unter Feldname das Feld, das Sie ändern möchten.
Um Code zu schreiben, müssen Sie"Skript" wählen (Dies gilt für "Neuen Feldwert zuweisen").
Wenn Sie C# schreiben möchten, markieren Sie das Feld"C#".
In das Feld"Skript" können Sie nun den gewünschten Code schreiben.
ERINNERN Sie sich: Stellen Sie den gewünschten Filter ein, bevor Sie alle Daten aktualisieren.
Ersetzen Sie einen Text durch einen anderen
Oben sehen Sie ein Beispiel dafür, wie Sie die Jahreszahl eines Projektnamens über "Neuen Feldwert zuweisen" in ein neues Jahr ändern.
Der Projektname enthält ein Jahr, und über "Neuen Feldwert zuweisen" können Sie einen bestimmten Wert durch einen anderen ersetzen. Hier wird ein Jahr, 2021, durch 2022 ersetzt.
rec.Number.Replace("2021", "2022");
Die folgenden Beispiele verwenden ebenfalls rec.Number, das Feld für die Projektnummer
//Ersetzen Sie einen Wert durch einen anderen
rec.Number.Replace("2020", "2021");
//Ersetzen Sie einen Wert durch ein Nichts
rec.Number.Replace("2020", "");
Einen Wert in einer Zeichenkette suchen
//Suche den Wert in der Zeichenkette von 0 bis zum 3. Zeichen (die ersten drei Zeichen)
rec.Number = "10501-2022"
rec.Number.Substring(0, 3);
Ergebnis="105"
//Suche den Wert in der Zeichenkette ab dem 2. Zeichen und 3 Zeichen weiter
rec.Number = "10501-2022"
rec.Number.Substring(2, 3);
Ergebnis="501"
Datumswerte mit Jahr ändern
rec.Date = rec.Date.AddYears(1);

Datumswerte mit Anzahl der Tage ändern
Hier werden 210 Tage zu einem bestehenden Datum hinzugefügt. D.h. ca. 7 Monate
rec.Date = rec.Date.AddDays(210);
Heutiges Datum einfügen
Wenn Sie das aktuelle Datum einfügen möchten, können Sie Folgendes eingeben: DateTime.Now.ToString("dd-MM-yyyy");
Das Format des Datums kann variiert werden. Das obige Format ist Tag-Monat-Jahr. Nachfolgend finden Sie einige Beispiele. Wenn Sie mehr wissen möchten, können Sie in den C#-Handbüchern nach DateTime suchen.
21-10-2023, geschrieben "tt-MM-jjjj" 21/10-2023, geschrieben "tt/MM-jjjj" 21. Oktober 2023, geschrieben "tt. MMMM-JJJJ"
DateTime.Now.ToString("MM-dd-yyyy HH:mm:ss");
Datum in einem Feld auf leeren Wert zurücksetzen
Wenn Sie ein Datumsfeld auf leer zurücksetzen möchten, können Sie die Funktion 'Neuen Feldwert zuweisen' verwenden.
Aktivieren Sie 'Alles bearbeiten' auf der Seite
Klicken Sie mit der rechten Maustaste auf das Datumsfeld und wählen Sie 'Neuen Feldwert zuweisen'.
Markieren Sie 'Skript' und C#. Geben Sie dann "null" in das Skriptfeld ein und drücken Sie OK.
null
Hier sind ein paar Beispiele aus dem Kontenplan
//Ersetzen Sie ein Zeichen an einer bestimmten Position
//Entfernen Sie das erste Zeichen in einer Zeichenfolge, z.B. 0 vor der Kontonummer. 01001
rec.Account = "01001";
rec.Account.Substring(1, 4);
Ergebnis = "1001"
//Werden Sie einen Wert vorangestellt
rec.Account = "1001";
"0"+rec.Account;
Ergebnis = "01001"
//Hinzufügen eines Wertes dahinter
rec.Account = "1001";
rec.Account+"0";
Ergebnis = "10010"
//Feineinstellung der Länge eines Textstrichs
rec.Account = "101001";
rec.Account.Length;
Ergebnis = 6
Runden Sie drei oder mehr Dezimalstellen auf zwei
Math.Round([Wert], [Anzahl der Dezimalstellen], [Rundungsoption])
rec.SalesPrice3 = 150.345;
// Abrunden
Math.Round(rec.SalesPrice3, 2, MidpointRounding.ToEven);
Ergebnis = 150.34
//Runder an
Math.Round(rec.SalesPrice3, 2, MidpointRounding.AwayFromZero);
Ergebnis = 150.35
Rundung von Zahlen und Verkaufspreisen auf die nächsten 0,25 Cent
rec.SalesPrice1 = 150.345;
//Rundung des Verkaufspreises1 auf die nächsten 0,25 Cent
Math.Round((rec.SalesPrice1)/25, 2, MidpointRounding.AwayFromZero)*25;
Ergebnis = 150.25
//Rundung des Verkaufspreises1 auf die nächsten 0,25 Cent
Math.Round((rec.SalesPrice1)/25, 2, MidpointRounding.AwayFromZero)*25;
Ergebnis = 150,50
Datumsformat in Textformat
// Wenn Sie einen Datumswert aus einem Datumsfeld in ein Textfeld einfügen möchten, können Sie mit dem folgenden Code ein Datumsformat von Datum in String umwandeln
// Umwandlung in nur ein Datum
rec.Date.ToString("dd-MM-yyyy")
//Umwandlung in Datum und Uhrzeit
rec.Date.ToString("dd-MM-yyyy HH:mm:ss")
Textformat in Zahlenformat
//Konvertieren eines Textes in Zahlen.
Convert.ToDouble(rec.InvItem.TariffNumber) * rec.Qty;
Rundung von Zahlen und Verkaufspreisen auf die nächsten 0,25 Cent
//Rundung des Verkaufspreises1 auf die nächsten 0,25 Cent
Math.Round((rec.SalesPrice3)/25, 2, MidpointRounding.AwayFromZero)*25;
Beispiele ohne Verwendung von C#
Berechnungsmethoden Hier sehen Sie die grundlegenden Berechnungsmethoden.
- + (Addition)
- - (Subtraktion)
- * (Multiplikation)
- / (Abteilung)
- % (Modulus)
- - (Unäres Minus)
Beispiele und Beispiele
- 5 + 10 * 2 // (entspricht 25)
- (5 + 10) * -2 // (entspricht -30)
- 6 * 5 - 2 / 2 // (entspricht 29)
- 6 * (5 - 2) / 2 // (entspricht 9)
Einem Feld kann auf 3 verschiedene Arten ein Wert zugewiesen werden
- Direkt (=)
- Durch Multiplikation (+=)
- Durch Subtraktion (-=)
Beispiele und Beispiele
- Count = 10; // Zähler auf 10 gesetzt
- Count += 1; // Der Zähler wird um 1 erhöht und wird zu 11
- Summe += Betrag; // Der Betrag wird zur Summe addiert
Mathematische Operationen
- und (&&)
- oder (||)
- xor (^)
- == // gleich
- != // nicht gleich
- > // größer als
- >= // größer oder gleich als
- < // weniger als
- <= // kleiner oder gleich als
Beispiele und Beispiele
- (5 > 3) // wahr
- (5 + 4 >= 3* 4) // falsch
- (Count > 0 und Abgebrochen != 0)
- (Gesamt != MaxWert oder Gesamt * 100 / SummeAlle >= 50)
Logisch
Ein Beispiel dafür, wie Sie eine if-Anweisung in berechneten Feldern usw. erstellen.
if (rec.IncludeInDiscount== 1) { "Rabatt wird akzeptiert" } sonst { "Rabatt ist nicht erlaubt" }