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