Ordner in BA sind ein Datensatz der Datentabelle OrmRecordCollection (Nicht der Datentabeller OrmFolder) und können damit wie alle Datentabellen entsprechend erweitert werden. Datensätze in Ordnern werden über eine interne Relation abgebildet.

Über eine eigene API Api.RecordCollection kann man Datensätze in Ordner schieben oder daraus entfernen und Ordner erstellen, abfragen oder löschen.

Erstellen

Es kann ein neuer Ordner pro Aufruf erstellt werden

public OrmRecordCollection CreateRecordCollection(string name, Guid sourceGridConfigurationGuid, EnumRecordCollectionType type = null, Guid? privateOnFirstUseRecordCollectionGuid = null)

Hinzufügen und Entfernen

Über die verschiedenen Methoden AddRecordsToRecordCollection(...) können Datensätze in einen Ordner eingefügt werden, und mit RemoveRecordsFromRecordCollection(...) können sie wieder entfernt werden. Dies kann sofort ausgeführt werden oder über einen Hintergrundprozess. Dies wird über asTask definiert.

Um Datensätze in Ordner zu schieben oder zu entfernen, wird nur deren Guid benötigt. Daher sollte man das Laden von Datensätzen möglichst vermeiden.

Auslesen

Mit den beiden Methoden GetContentsOfRecordCollection(...) kann man den Inhalt eines Ordners auslesen. Falls die Leserechte berücksichtigt werden sollen, muss dies angegeben werden.

Ordnerlisten

Mit den Methoden die mit GetRecordCollection(s)By* beginnen, können die Datensätze der Ordner geladen werden.

Mit GetPublicRecordCollections(...) bekommt man die öffentlichen und mit GetVisibleRecordCollections* die sichtbaren Ordner zurückgeliefert.

Rechte

Mit den Methoden MayUser* könnten die Rechte eines Benutzers auf Ordner überprüft werden.

Leeren

Mit ClearRecordCollection(...) leert man einen Ordner

Umbenennen

Mit RenameRecordCollection(...) benennt man einen Ordner um.

Löschen

Mit DeleteRecordCollection(...) löscht man einen Ordner