Versionen im Vergleich

Schlüssel

  • Diese Zeile wurde hinzugefügt.
  • Diese Zeile wurde entfernt.
  • Formatierung wurde geändert.

...

Wichtig vor der Verwendung von Variablen und Argumenten ist es sie mit einem Wert vorzubelegen (d.h. zu initialisieren). Wenn Sie das nicht tun erhalten Sie schnell eine "NullReferenceException".
Das ist besonders bei komplexen Typen (also nicht string, bool, etc.) wichtig.

...

Objekt des Typs "WmsInvoice" initialiseren (hier mit Angabe des kompletten Namespaces)
Codeblock
languagevb
new Accantum.Wms.ActivityContracts.Models.Invoice.V01.WmsInvoice()


In der Initialisierung können Sie mit "With" in geschweiften Klammen einzelne Eigenschaften des Objekts vorbelegen (nicht zu vergessen ist dabei der Punkt vor dem Eigenschaftsnamen):

...

...

Komplexe Typen initialisieren und mit Werten vorbelegen
Codeblock
languagevb
new Accantum.Wms.ActivityContracts.Models.Invoice.V01.WmsInvoice With { .InvoiceNumber = 655, .LanguageId= "de" }

...

Bei der Initialisierung von Listen und Arrays können gleichzeitig Listenelemente angegeben werden. Hierfür

Bei Listen wird das Schlüsselwort "From" verwendet:

...

Liste mit Angabe von Elementen initialisieren
Codeblock
languagevb
new System.Collections.Generic.List (Of string) From {"Item 1", "Item 2", "Item 3"}
Array mit Angabe von Elementen initialisieren
Codeblock
languagevb
new integer() {2,5,8} 

oder

Codeblock
languagevb
{2,5,8} 

...

Datentypen

Strings

  • Für String-Werte muss der Ausdruck in Anführungszeichen eingeschlossen werden "Text".

  • Mehrzeiligen string mit + umbrechen, z.B. „abc“ + „def“

  • Zeilenumbrüche in einem String: „\r\n“… oder Environment.NewLine

  • Wenn Sie in einem String ein Anführungszeichen verwenden wollen, muss dieses escaped werden. Escapen Sie Anführungsstriche indem Sie 2 Anführungsstriche  setzen (also so: "Text "" Text")

  • String-Eingabe mit eckigen Klammern: Sollten Sie in einem String-Feld einen Text eingeben, der mit "[" beginnt und mit "]" endet, fügt der Workflow Designer automatisch ein Prozentzeichen zu ein. Bei der Ausführung wird dieses Zeichen nicht berücksichtigt.
    Image Modified

...

Character (1 Zeichen)

  • Eingabe genau eines Zeichens (Typ Character): z.B. "z“C oder nur z ohne Anführungsstriche "

...

Decimal

  • Bei der Angabe einer Dezimalzahl muss der Zahl ein "D" folgen: z.B. 1.23D

  • Wird das "D" nicht angegeben, so interpretiert VisualBasic die Zahl als Double und kann die Zahl einer Eigenschaft vom Typ Decimal nicht zuweisen.

...

Liste / Collection / Array

  • title

    Vor der Verwendung einer Liste muss diese initialisiert werden:

    Codeblocklanguagevb

    Beispiel: Anlegen einer Liste mit string-Einträgen

    Codeblock
    languagevb
    New List (Of string)

    Weitere Informationen finden Sie hier: https://docs.microsoft.com/de-de/dotnet/visual-basic/programming-guide/language-features/collection-initializers/

  • Zugriff auf Elemente einer Liste: In VisualBasic werden bei Indexern runde Klammern „(i)“ statt eckigen (wie z.B. in C# oder Java) verwendet!
    Sie können entweder mit aListe(i) oder mit aList.Item(i) auf den i-ten Eintrag der Liste zugreifen. Aber Achtung: Es gibt einen Fehler, wenn die Liste nicht so viele Einträge besitzt.

  • Besonders Hilfreich bei Listen sind LINQ-Ausdrücke

...

DateTime und TimeSpan

Für diese Typen bietet der Workflow Designer eine Vereinfachte Eingaben

  • Datum (Typ DateTime):
    Statt „New DateTime(…)“ kann für Datumwerte folgende vereinfachte Schreibweise verwendet werden: Image Modified bzw. mit Uhrzeit:Image Modified

  • Zeitspanne (Typ TimeSpan z.n. in der Delay-Aktivität)
    Statt "New TimeSpan(...) kann für Werte dieses Typen auch folgende Schreibweise verwendet werden: Image Modified (5 Minuten)

...

Umwandlung / Konvertieren von Typen

  • Umwandlung eines Wertes vom Typ "Object" in einen anderen Datentyp (in C# oder Java auch "Cast" genannt) funktioniert mit der Funktion "CType(<Value>, <Type>)".


    Codeblocklanguagevbtitle


    Beispiel: Umwandlung der zurückgegebenen ID eines DMS-Attributes vom Typ "Mehrfachauswahl" in Guid

    Codeblock
    languagevb
    CType(accDocumentAttributes(dmsAttr_Projekte.Id), Guid())

  • Convert.ToXXX Methoden: Damit können Sie Integer, Strings, DateTimes, etc umwandeln

    Beispiel: Umwandlung von String zu einem Integer

    Codeblock
    languagevb
    Convert.ToInt32("123")

  • Weitere Informationen zur Umwandlung von Datentypen finden Sie hier https://docs.microsoft.com/de-de/dotnet/visual-basic/language-reference/functions/type-conversion-functions

  • Alternativ können Sie auch die Konvertieren-Aktivitäten verwenden.