Direkt zum Hauptinhalt

Einer Lösung eine Komponente hinzufügen

Ziel​

Einer Lösung im Lösungs-Explorer eine Komponente (etwa eine Tabelle, ein Formular oder eine Ansicht) hinzufügen – entweder indem Sie in ihrem Designer eine neue erstellen oder eine vorhandene hinzufügen.

Voraussetzungen​

  • Sie sind als Plattformadministrator beim Admin Control Center angemeldet.
  • Die Lösung existiert und gehört einem Herausgeber (siehe Eine Lösung erstellen).

Schritte​

  1. Öffnen Sie die Seite Lösungen über die Navigation in der Seitenleiste.
  2. Wählen Sie in der Zeile der Lösung Öffnen aus. Der Lösungs-Explorer zeigt die Komponenten der Lösung als eine Registerkarte pro Typ – Tabellen (8), Apps (2), Berichte (1) usw. – und macht diese Lösung zu Ihrer Arbeitslösung. Jeder Registerkartenname trägt die Anzahl der Komponenten dieses Typs in der Lösung, sodass Sie die Gestalt der gesamten Lösung sehen, ohne etwas zu öffnen; eine Registerkarte auszuwählen, listet diese Komponenten auf. Nur Typen, die diese Lösung tatsächlich enthält, erhalten eine Registerkarte.
  3. Um eine neue Komponente zu erstellen, verwenden Sie das Menü Neu (zum Beispiel Neue Tabelle oder Neue App). Dadurch öffnet sich der passende Designer, und die Komponente, die Sie dort erstellen, wird dieser Arbeitslösung hinzugefügt.
  4. Um eine Komponente hinzuzufügen, die in der Umgebung bereits existiert, verwenden Sie Vorhandene hinzufügen: Wählen Sie den Komponententyp – Tabelle, Optionssatz, App, Skript, Studio-Bildschirm, Umgebungsvariable, Datenrichtlinie, Bericht, Gespeicherte Abfrage, Benutzerdefinierte API, Portal, Benutzerdefinierte App, Benutzerdefiniertes Steuerelement, Webressource oder Rolle – und wählen Sie dann die Komponente aus der Liste. Jede Auswahl erfolgt über eine Auswahlliste; einen logischen Namen tippen Sie nie ein. Wählen Sie Vorhandene hinzufügen aus.
  5. Die Komponente erscheint unter der Registerkarte ihres Typs, und deren Zähler steigt um eins. Hatte die Lösung zuvor keine Komponente dieses Typs, erscheint die Registerkarte jetzt.
Hinweis

Ihre Auswahl gehört zu der Registerkarte, auf der Sie sie getroffen haben. Die Befehle oben auf der Seite – Komponenten verwalten, Abhängigkeiten, Aus Lösung entfernen – wirken auf die ausgewählte Komponente, daher wird die Auswahl beim Wechsel der Registerkarte aufgehoben. Das ist Absicht: Ein Befehl, der auf eine Komponente gerichtet ist, die Sie nicht mehr sehen, ist einer, den Sie versehentlich ausführen könnten.

Hinweis

Ein Bericht und eine gespeicherte Abfrage werden unter der Tabelle abgelegt, die sie lesen, neben den Formularen und Ansichten dieser Tabelle. Sie müssen nicht angeben, welche Tabelle das ist: Die ausgewählte Komponente weiß es bereits und wird darunter hinzugefügt. Deshalb erscheinen sie sowohl hier als auch in der Komponentenauswahl einer Tabelle – zwei Wege zur selben Mitgliedschaft, für die zwei Arten, wie Menschen danach suchen.

Hinweis

Eine Rolle ist kein Verweis, daher führt ihr Eintrag Sie woandershin. Eine Rolle ist in einer Lösung, weil diese Lösung ihr etwas gewährt – eine Berechtigung, auf einer Tabelle, für einen Vorgang –, daher öffnet Rolle die eigene Seite Rollen der Lösung, wo das entschieden wird. Eine Zeile hinzuzufügen, die nichts gewährt, würde behaupten, dass die Rolle mitreist, während das Paket nur einen leeren Namen enthielte.

Eine Komponente öffnen​

Wählen Sie den Namen einer Komponente aus, um sie zu öffnen.

  • Eine Komponente mit eigenem Designer – eine Tabelle, eine gespeicherte Abfrage, ein Skript, ein Bericht, ein Studio-Bildschirm, ein Prozess, eine Rolle – öffnet sich in diesem Designer.
  • Eine Komponente, die in einem Seitenbereich auf ihrer eigenen Listenseite bearbeitet wird – ein Optionssatz, eine App, eine Datenrichtlinie, eine Umgebungsvariable, eine benutzerdefinierte API, ein Portal – öffnet diese Liste mit der ausgewählten Komponente und bereits geöffnetem Editor, statt Sie sie ein zweites Mal in einer Liste von dreißig suchen zu lassen.
  • Eine benutzerdefinierte App, ein benutzerdefiniertes Steuerelement oder eine Webressource hat keinen Editor – sie werden hochgeladen, nicht erstellt –, daher öffnet sich ihre Liste mit ausgewählter Zeile, bereit für die Befehle, die darauf wirken.

Sie können auch das Kontrollkästchen der Zeile aktivieren und oben auf der Seite Öffnen auswählen. Beides bewirkt dasselbe. Der Name ist ein gewöhnlicher Link, Sie können ihn also auch in einem neuen Tab öffnen.

Hinweis

Geschäftsregeln sind die Ausnahme. Eine Geschäftsregel gehört zu dem Formular, auf dem sie läuft, und die Übersicht weiß nicht, welches Formular das ist – daher lassen sich ihre Zeilen nicht öffnen. Erreichen Sie eine Geschäftsregel über das Formular ihrer Tabelle, mit der Aktion Ereignisse des Formular-Designers.

Auswählen, welche Komponenten einer Tabelle enthalten sind​

Eine Tabelle ist mehr als ein Ding: Sie hat Felder, Formulare, Ansichten und Beziehungen. Sie müssen nicht alle davon einschließen. Wenn Sie eine Tabelle über Vorhandene hinzufügen hinzufügen, öffnet sich eine Komponentenauswahl, die die Felder, Formulare, Ansichten und Beziehungen der Tabelle jeweils mit einem Kontrollkästchen auflistet. Aktivieren Sie diejenigen, die diese Lösung mitnehmen soll, und wählen Sie Speichern aus – die Tabelle selbst ist immer enthalten, und nur die aktivierten Unterkomponenten reisen mit.

Sie können diese Auswahl jederzeit überarbeiten, auch wenn die Tabelle bereits in der Lösung ist. Es gibt zwei Wege dorthin:

  • Markieren Sie die Tabelle auf der Registerkarte Tabellen und wählen Sie Komponenten verwalten aus.
  • Wählen Sie die Tabelle erneut unter Vorhandene hinzufügen – eine bereits enthaltene Tabelle wird dort weiterhin angeboten, und ihre Auswahl öffnet erneut ihre Komponentenauswahl, statt sie doppelt hinzuzufügen.

Die Auswahl öffnet sich mit dem aktuellen Stand der Lösung, sodass Sie einzelne Felder, Formulare, Ansichten und Beziehungen jederzeit hinzufügen oder entfernen können – etwa um ein neues Formular für eine vorhandene Tabelle aufzunehmen, ohne alles andere mitzuziehen, oder um eine Ansicht wieder aus der Lösung herauszunehmen.

Die Zeile jeder Tabelle zeigt, wie viel davon in dieser Lösung mitreist, sodass eine Tabelle, die Sie ohne Auswahl von Feldern hinzugefügt haben, das deutlich sagt, statt vollständig zu wirken.

Hinweis

Spalten und Beziehungen reisen mit ihrer Tabelle. Die Definition einer Tabelle enthält alle ihre Spalten und Beziehungen, egal welche Kontrollkästchen aktiviert sind. Deren Kontrollkästchen bestimmen also, was die Listen dieser Lösung anzeigen, nicht was die exportierte Datei enthält. Bei Formularen, Ansichten und gespeicherten Abfragen ist es anders: Nur die aktivierten reisen mit.

Nur sehen, was die Lösung enthält​

Jede Liste innerhalb einer Lösung zeigt die Komponenten dieser Lösung, nicht die der Umgebung. Das gilt für die Seiten in der eigenen Navigation der Lösung – Apps, Tabellen, Optionssätze, Umgebungsvariablen, gespeicherte Abfragen, Skripte, Berichte, Studio-Bildschirme, benutzerdefinierte APIs, Portale, Rollen, Datenrichtlinien, benutzerdefinierte Apps, benutzerdefinierte Steuerelemente und Webressourcen – und für die Listen Felder, Formulare und Ansichten einer Tabelle, sobald Sie eine öffnen. Eine Tabelle, die Sie ohne Auswahl von Feldern hinzugefügt haben, zeigt daher eine leere Feldliste. Die exportierte Datei enthält trotzdem alle Spalten der Tabelle (siehe Hinweis oben).

Die Standardlösung („Main“) ist die Ausnahme: Sie enthält alles in der Umgebung, daher werden ihre Listen nie eingeschränkt. Dort sehen Sie alles, was eine Umgebung enthält, gleich wer es dort abgelegt hat.

Eine Komponente, die Sie bei geöffneter Lösung erstellen, wird dieser Lösung automatisch hinzugefügt und erscheint sofort in ihrer Liste.

Wenn etwas, das Sie verwenden, in der Liste fehlt​

Eine Lösung nimmt mit, was sie braucht. Navigiert Ihre App zu einem Bildschirm oder nennt Ihr Bericht eine gespeicherte Abfrage, die eine andere Lösung installiert hat, fügen Sie diese Komponente Ihrer Lösung hinzu – mit Vorhandene hinzufügen in der Lösungsübersicht oder, für ein Feld, Formular oder eine Ansicht, über die Komponentenauswahl einer Tabelle. So werden Abhängigkeiten deklariert, und so kann die Zielumgebung sie prüfen, wenn Ihr Paket importiert wird.

Beachten Sie, was eine eingeschränkte Liste nicht bedeutet: Eine Komponente, die in der Liste dieser Lösung fehlt, existiert weiterhin in der Umgebung und funktioniert weiterhin. Alles, was über den logischen Namen erreicht wird – ein Bildschirm, zu dem eine App navigiert, ein Skript, das eine Regel importiert, ein Optionssatz, an den ein Feld gebunden ist –, wird zur Laufzeit aufgelöst, gleich welche Lösung es installiert hat. Die Liste beantwortet die Frage „Was nimmt dieses Paket mit?“, nicht „Was kann diese App erreichen?“.

Sehen, was von einer Komponente abhängt​

Markieren Sie eine Komponente und wählen Sie Abhängigkeiten aus. Ein Seitenbereich öffnet sich mit zwei Listen:

  • Benötigt von – alles in dieser Umgebung, was von der Komponente abhängt. Diese Liste sollten Sie lesen, bevor Sie etwas löschen: Zeigt eine Nachschlagespalte auf eine Tabelle oder öffnet die Navigation einer App eine Ansicht, würde das Löschen sie beschädigen, und die Plattform lehnt es ab.
  • Benötigt – wovon die Komponente selbst abhängt. Diese Liste erklärt, warum ein Import der Komponente allein in eine andere Umgebung fehlschlagen würde: Was hier steht, muss mitreisen oder dort bereits vorhanden sein.

Jede Zeile nennt die andere Komponente, die Tabelle, zu der sie gehört (falls sie zu einer gehört), und warum sie in der Liste steht – „eine Nachschlagespalte zeigt darauf“, „eine Spalte bezieht ihre Werte daraus“, „eine Sicherheitsrolle gewährt eine Berechtigung darauf“ und so weiter.

Die Antwort wird bei jedem Öffnen des Bereichs aus den Metadaten der Umgebung ermittelt und ist daher nie veraltet. Sie ist außerdem nicht auf diese Lösung beschränkt: Die Frage ist, was in der Umgebung existiert, gleich wer es installiert hat.

Abhängigkeiten ist für benutzerdefinierte Apps, benutzerdefinierte Steuerelemente, Webressourcen, Prozesse, benutzerdefinierte APIs und Portale nicht verfügbar. Diese werden nicht durch dieselben Metadaten beschrieben – nichts liest, worauf das Skript einer benutzerdefinierten API zugreift, und die Verbindungen eines Portals zum veröffentlichten Bildschirm und zu den Tabellen, die es lesen darf, sind nicht modelliert –, daher ist der Befehl deaktiviert, statt Ihnen einen leeren Bereich zu zeigen, der wie eine Antwort aussieht.

Etwas aus einer Lösung entfernen​

Markieren Sie die Komponente und wählen Sie Aus Lösung entfernen aus. Dadurch wird nur ihre Mitgliedschaft in dieser Lösung entfernt – die Komponente selbst bleibt in der Umgebung und in der Standardlösung („Main“), und keine Daten werden zerstört. Um ein einzelnes Formular, eine Ansicht, ein Feld oder eine Beziehung aus einer Lösung herauszunehmen, öffnen Sie erneut die Komponentenauswahl ihrer Tabelle und deaktivieren das Kontrollkästchen.

Vorsicht

Entfernen prüft nicht, was die Komponente noch braucht. Wenn eine Spalte in dieser Lösung ihre Werte aus der Auswahlliste nimmt, die Sie entfernen, lässt sich die Lösung trotzdem exportieren, und ihr nächster Import in eine Umgebung ohne diese Auswahlliste wird abgelehnt. Markieren Sie die Komponente und öffnen Sie zuerst Abhängigkeiten: Was unter Benötigt von steht und in dieser Lösung ist, braucht sie.

Was im Hintergrund passiert​

Das Hinzufügen einer vorhandenen Komponente vermerkt, dass sie zu dieser Lösung gehört – eine Komponente kann zu mehr als einer nicht verwalteten Lösung gehören. Die Komponentenauswahl vermerkt genau, welche Unterkomponenten einer Tabelle zur Lösung gehören; beim Speichern werden neu aktivierte hinzugefügt und neu deaktivierte entfernt, andere Tabellen bleiben unberührt. Das Entfernen einer Komponente entfernt nur diese Mitgliedschaft; die Komponente selbst wird nicht gelöscht. Die Standardlösung („Main“) ist die Ausnahme – sie enthält immer jede Komponente, bietet daher keine Komponentenauswahl, und nichts kann daraus entfernt werden.

Fehlerbehebung​

  • „field '…' references '…', which is neither in the package nor in this environment.“ – erscheint beim Import. Eine Spalte im Paket verweist auf eine Tabelle oder nimmt ihre Werte aus einer Auswahlliste (Optionssatz), die das Paket nicht mitbringt und die Umgebung nicht hat. Es wurde nichts importiert. Bringt eine andere Lösung sie mit, importieren Sie zuerst diese Lösung. Andernfalls markieren Sie in der Umgebung, aus der Sie exportiert haben, die Tabelle in der Übersicht der Lösung, wählen Sie Abhängigkeiten, fügen Sie das unter Benötigt Aufgeführte mit Vorhandene hinzufügen hinzu und exportieren Sie erneut. Komponenten jedes Herausgebers lassen sich hinzufügen; ihr Präfix muss nicht zu dem der Lösung passen.
  • „Die Komponente … existiert bereits in der Lösung.“ – Diese Komponente wird von der Lösung bereits referenziert.

Verwandte Szenarien​

  • Eine Lösung erstellen.
  • Einen Herausgeber erstellen.