Canvas-Power-Page – Projektaufgaben im Kombinationsfeld nach ProjectID auslesen

In meinen letzten beiden Blogbeiträgen habe ich dir erklärt, wie du eine Canvas-Power-Page in der Project-Lösung bereitstellst und diese dann über einen benutzerdefinierten Button öffnen kannst. In diesem Beispiel habe ich dir auch gezeigt, wie wir den Projektnamen aus Project for the Web auslesen und diesen dann in einem Label auf der Seite ausgeben können. Wie bereits erwähnt, soll über dieses Fenster ein RFC (Request for Change) eingereicht werden. Hierzu muss der Benutzer ein Arbeitspaket auswählen, für das der entsprechende RFC eingereicht werden soll. Um dies zu ermöglichen, wird der Seite ein Kombinationsfeld hinzugefügt, und die Arbeitspakete, die zu dem geöffneten Projekt gehören automatisch zur Auswahl hinzugefügt. In diesem Blog werde ich dir zeigen, wie du dies umsetzen kannst.

Hinweis: Leider ist es nicht möglich, die Werte aus der Spalten „msdyn_projectid“ aus der Entität „msdyn_project“ mit der Spalte „msdyn_project“ aus der Entität „msdyn_projecttasks“ zu vergleichen. Daher ist es erforderlich, eine individuelle Lösung zu überlegen. In meinem Ansatz habe ich der Entität „msdyn_project“ eine zusätzliche Spalte namens „PRID“ hinzugefügt. Diese Spalte wird automatisch mit einem Wert befüllt, der das folgende Format hat: {SEQNUM:6}{RANDSTRING:6}. Anschließend habe ich einen Automate-Flow erstellt. Sobald der Projektleiter das Projekt auf die Phase „RFC“ setzt, wird der Flow automatisch ausgeführt und schreibt die Werte aus der Spalte „PRID“ in die Spalte „projectid“ in der Entität „msdyn_projecttasks“. Auch hier habe ich eine entsprechende Spalte mit dem Namen „PRID“ erstellt.

Einbinden der Entität – Projektaufgaben

Öffne die Power-Page, die wir in unserem letzten Beispiel erstellt haben. Melde dich hierzu an der Seite make-powerapps.com an oder wechsel über das App-Startfeld auf die Seite. Klicke auf der linken Seite die Option „Lösungen“. Klicke auf die Lösung, in der du die Project App veröffentlicht hast. Klicke unter Objekte auf die Option „Seiten“ und öffne dann die Seite zur Bearbeitung.

Power-Site auf Project Lösung öffnen

Als nächstes binden wir jetzt die Tabelle „Projektaufgaben“ der Seite hinzu, damit wir auf die Daten zugreifen können. Klicke auf der linken Seite auf die Option „Daten (1)„. Klicke unterhalb des Suchfeldes auf die Option „+ Daten hinzufügen (2)“ und gib dann im Suchfeld (3) den Namen „Projektaufgaben“ ein. Klicke im Suchergebnis auf „Projektaufgaben„. Die Tabelle wird nun der Seite hinzugefügt. Deine Ansicht sollte nun wie folgt aussehen.

Tabelle Projektaufgaben eingebunden

Kombinationsfeld hinzufügen

Klicke auf der linken Seite auf die Option „Einfügen (1)„. Expandiere die Option „Eingabe“ und klicke dort auf „Kombinationsfeld (2)„. Das Kombinationsfeld wird automatisch dem Formular hinzugefügt (3). Jetzt kannst du den Code eingeben, der dazu dient, die Projektaufgaben auszulesen und diese dann dem Kombinationsfeld als Auswahloptionen hinzuzufügen.

In meinem letzten Artikel hatten wir die Werte aus dem Projekt der Seite in Form einer Variable übergeben. Die Werte aus dieser Variable benötigen wir in diesem Beispiel erneut. Wir filtern jetzt einfach alle Aufgaben aus der „msdyn_projekttask„-Tabelle heraus, die zu dem ausgewählten Projekt gehören und wo ein Wert in die Spalte „PRID“ eingetragen ist.

Warum filtern wir die leeren Datensätze heraus? Wie ich oben schon geschrieben habe, mussten wir uns mit einem Power-Automate-Flow behelfen, um die „PRID„-Werte aus der „msdyn_project“ in die „msdyn_projekttask“ zu schreiben. Dadurch haben alle Aufgaben, die keinen RFC besitzen, auch keinen Wert in der Tabelle „msdyn_projekttask/projectid„. Aus diesem Grund kann ich keinen Vergleich der Datensätze machen.

Klicke auf das Kombinationsfeld und dann mit dem Cursor in das obere Eingabefeld. Achte darauf, dass die Option „Items“ ausgewählt ist. Leite nun die Filterung ein. Gib dazu „Filter“ und eine Klammer ein. Als Quelle wählen wir unsere Entität „Projektaufgaben“ und geben diese ein. Jetzt setzen wir den ersten Filter. Hierzu geben wir ein Semikolon ein. Ich filtere zunächst alle Spalten heraus, in denen keine Werte in der „ProjectID„-Spalte eingetragen wurden. Danach folgt die Selektion der Aufgaben, die zu dem entsprechenden Projekt gehören. Hier filtere ich die benutzerdefinierte Spalte „ProjectID“ mit der übergebenen „ProjectID“ aus meinem vorherigen Beispiel. Klicke danach in der oberen rechten Ecke auf „Veröffentlichen“.

Code eingeben

Testen

Jetzt kannst du das Kombinationsfeld testen. Öffne die Model-Driven-App „Project“. Navigiere zum Project-Center und klicke auf den zuletzt hinzugefügten Button „RFC“. Die Seite wird geöffnet. Klappe nun das Kombinationsfeld auf. Die entsprechenden Arbeitspakete werden ausgelesen, und du kannst jetzt ein gewünschtes Arbeitspaket auswählen.

Erfolgreicher Test des Kombinationsfeldes

Hinweis: Es kann einige Zeit dauern, bis die Seite nach der Veröffentlichung aktualisiert wurde. Solltest du keine Arbeitspakete sehen, überprüfe in der Dataverse, ob die ProjectID wirklich in die Spalten geschrieben wurde.“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Die folgenden im Rahmen der DSGVO notwendigen Bedingungen müssen gelesen und akzeptiert werden:
Durch Abschicken des Formulars wird dein Name, E-Mail-Adresse und eingegebene Text in der Datenbank gespeichert. Für weitere Informationen wirf bitte einen Blick in die Datenschutzerklärung.