Schreibtisch

Anhänge nach Datentyp in PowerApps einschränken

Anhänge nach Datentyp in PowerApps einschränken

Eine immer wieder auftauchende Anfrage bei digitalen Prozessen ist die Beschränkbarkeit von Anhangsdokumenten. Bei der Bewerbung sollen beispielsweise nur PDFs angehängt werden können; das IT-Ticket darf nur mit Bildern ergänzt werden.

Das “Attachments”-Steuerelement in PowerApps-Formularen bringt (Stand: Oktober 2019) leider keine Filterung für Datentypen mit. Doch glücklicherweise lässt sich diese Funktionalität relativ unkompliziert mit weniger kleinen Formeln nachbauen.

Zwischenablage erstellen

Als erstes benötigen wir eine Zwischenablage für die Validierung. Dazu erzeugen wir einen neuen Screen und fügen dort ein Label ein.

Der zusätzliche Screen ist nicht zwingend notwendig, aber so hat das Label einen ordentlichen Platz, an dem es nicht stört.

Für den Text-Wert des Labels fügen wir jetzt folgende Funktion ein:

Concat(DataCardValueXX.Attachments.Name,
    If(
       Or(
           Lower(Right(Name,Len(Name)-Find(“.”,Name)))=”pdf”,
           Lower(Right(Name,Len(Name)-Find(“.”,Name)))=”doc”,
           Lower(Right(Name,Len(Name)-Find(“.”,Name)))=”docx”
       ),
    “1”,”0″))

DataCardValueXX wird durch den Namen des Attachment-Steuerelements ersetzt – Wichtig: NICHT der Name der DataCard selbst, sondern der Name des Attachment-Steuerelements in der DataCard.

Erklärung zur Funktion

Die Funktion liest alle angefügten Dateinamen, extrahiert die Endungen und fügt für erlaubte Endungen eine “1” und für nicht erlaubte Endungen eine “0” an.

  • Concat
    • Baut eine Zeichenkette aus einer Sammlung von Werten zusammen. In diesem Falle ist die Sammlung der Werte die Eigenschaft “Attachments.Name” unseres Attachment-Steuerelements.
  • Or-Block
    • Für jeden erlaubten Datentyp gibt es eine Abfrage im “Or”-Block.
  • Right(Name,Len(Name)-Find(“.”,Name))
    • Mit Hilfe der “Right”- und “Len”-Funktionen wird der Text nach dem “.” im jeweiligen Datennamen, also die Dateiendung, extrahiert.
  • Lower([…])=”pdf”
    • Die “Lower”-Funktion wird verwendet, um die Dateiendung in Kleinbuchstaben zu erhalten. Da Textabgleiche in PowerApps case-sensitive sind, sparen wir uns so die Abfrage der Dateitypen in mehreren Schreibweisen.

Abfrage beim Senden des Formulars

Wenn alles funktioniert hat, zeigt das Label jetzt einen Binärwert, der anzeigt, ob sich ungültige Dateitypen unter den Anhängen befinden. Auf diesen Wert können wir jetzt beim Abschicken des Formulars prüfen.

In meinem Beispiel wird das Formular – wie i.d.R. üblich – über einen Button abgeschickt. Die “OnSelect”-Funktion des Buttons wird jetzt wie folgt ergänzt:

If(
    IsMatch(lbl_attachmentValidation.Text,”0″,Contains),
    Notify(“Ungültiger Datentyp angehängt.”,NotificationType.Error),
    [… BISHERIGE FUNKTION …]
)

Erklärung zur Funktion

Wie beschrieben, prüft die Funktion auf 0-Werte innerhalb unseres Validierungstextes. Sind 0-Werte vorhanden, wird ein Fehler ausgegeben. Sind keine vorhanden, wird die bereits bestehende Funktion des Buttons – in diesem Fall “SubmitForm()” – ausgeführt.

  • IsMatch
    • Prüft, ob es eine Übereinstimmung mit einem regulären Ausdruck im Text gibt. In diesem Fall ist der reguläre Ausdruck einfach “0”. Wichtig ist hier die zusätzliche Angabe der Option “Contains”, da “IsMatch” sonst den vollständigen Text vergleichen würde.
  • Notify
    • Gibt eine Meldung aus. Der NotificationType bestimmt die Farbe und das Icon der Meldung. Die Funktion lässt sich wohl als White- als auch als Black-List nutzen. Dafür einfach auf “1” statt auf “0” prüfen lassen.

Fazit

Die Prüfung auf verschiedene Datentypen im Anhang von PowerApps-Formularen lässt sich relativ unproblematisch hinzufügen und nachträglich anpassen. Durch das Label auf dem gesonderten Screen gibt es darüber hinaus eine einfache Möglichkeit die Funktion zu testen und nachzuvollziehen.

Es ist auch möglich, die Funktionen so anzupassen, dass der Ergebnistext die unerlaubten Dateinamen enthält. Diese können dann z.B. in der Meldung ausgegeben werden.

Viel Spaß beim Ausprobieren.

Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog 20.12.18

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow

Die Power Platform wird aktuell von Microsoft sehr stark gepusht. Zeit, sich mit dem Potenzial der einzelnen Komponenten zu beschäftigen. Heute: Flow.

Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog 01.07.20

PDF-Konverter in Power Automate

Kann ich mittels Microsoft Power Automate und einer SPFx-Anwendung ohne größere Probleme einen PDF-Konverter erstellen? Die einfache Antwort: Ja. Und auch die Ausführliche gibt’s hier.

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 19.08.16

Braucht man wirklich jQuery?

Ich beleuchte diese Frage anhand von Beispielen aus der Praxis und hinterfrage, ob in der modernen Browserlandschaft auch natives JavaScript ausreicht.

Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog 20.07.15

Dateizugriffsrechte verwalten mit Microsoft RMS – Teil 3

Dieser Teil der Artikelserie befasst sich mit der RMS-Freigabeanwendung, welche Dateien jeglichen Dateityps verschlüsseln kann.

Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog 17.12.14

Multi Factor Authentication (Azure und SharePoint)

Microsoft führt mit der Multi Faktor Authentisierung (MFA) eine weitere und kostenlose Authentifizierungsebene zu in Office 365 hinzu.

Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog 27.11.18

Tipps und Tricks mit Entity Framework

In diesem Blogbeitrag möchte ich einige Tipps und Tricks rund um Entity Framework mit euch teilen. In allen Beispielen gehen wir vom Code-First Ansatz aus.

News der novaCapta
Blog 19.09.17

Der wiederholte Bereich in Nintex Forms

Nintex für Fortgeschrittene

Ein Mitarbeiter stellt aus einzelnen Papierbausteinen flexibel einen eigenen Entwurf zusammen.
Workshop

Workshop: App in a Day

Bei "App in a Day" nehmen wir Sie mit zur Microsoft Power Platform. Tauchen Sie ein in die Welt von Microsoft Power Apps und Power Automate, ganz ohne Programmierkenntnisse – Sie loggen sich ein, wir liefern den Rest.

panoramic banner. young woman using mobile smart phone for scan and payment online with family budget cost bills on desk in home office, plan money cost saving, investment, finance, expenses concept
Workshop

Low-Code Workshop mit Power Apps

In unserem Workshop lernen Sie Step-by-Step, wie Sie benutzerdefinierte Anwendungen mit Power Apps erstellen, die auf mobilen Geräten ausgeführt werden.

Business Process and workflow flowchart Strategy infographic diagram connection Design Planning Solution Concept Shapes Paper flat lay
Workshop

Microsoft Power Automate (Flow) Workshop

Prozesse und Vorgänge visuell verdeutlichen und somit Geschäftsergebnisse verbessern – mit Power Automate lassen sich Workflows ganz einfach automatisieren.

Verlegung von Majcoat durch Dachdecker
Referenz

SIGA: Mehrsprachige Zusammenarbeit per Microsoft 365

Mithilfe der novaCapta wurde der Aufbau einer modernen, nachhaltigen Zusammenarbeits- und Kommunikationsplattform für den weltweiten Einsatz in mehreren Sprachen gestaltet.

Panoramaaufnahme der WENKO Hauptzentrale
Referenz

WENKO: Auftragsvorgänge effizient mit Power Apps managen

Durch den Einsatz von Power Platform hat WENKO seinen Außendienstvertrieb revolutioniert: Aufträge werden jetzt einfach in der Low-Code/No-Code Scan-App erstellt und direkt an SAP übertragen.

Close up of woman using mobile phone.
Referenz

Bertelsmann: novaAudit PowerCloud Edition

Von On-Prem in die Cloud mit der novaAudit PowerCloud Edition. Gemeinsam mit Bertelsmann hat novaCapta seine Auditmanagement Lösung aufs nächste Level gebracht. Noch smarter, effizienter, flexibler und zu 100% in Ihrer Microsoft Cloud Umgebung integriert.

Headerbild Case Study FIVE Informatik AG, Büroräume
Referenz

FIVE: Prozess-Automation auch für KMUs

FIVE Informatik AG hat eine leistungsstarke Power Platform basierte Lösung für kleine und mittelständische Unternehmen geschaffen, die standardisierte Prozessschritte automatisiert bearbeitet.

Landqart AG, Headbild, Grüne Noten
Referenz

Landqart: Mit M365 zum Modern Workplace

Mit einem strategischen Einsatz von Microsoft zum Modern Workplace: Von der M365-Migration über Change & Adoption Massnahmen bis hin zu Teams-Governance & Power Platform-Automatisierung.

Zwei Bauarbeiter begutachten eine Baustelle
Referenz

Kissling + Zbinden: Zentrales Arbeiten in «Projektraum 365»

Kissling + Zbinden hat «Projektraum 365» implementiert, der die gemeinsame Projektarbeit durch Zentralisierung und Automatisierung vereinfacht.

Autos der Marke Toyota auf einer Rennstrecke
Referenz

Toyota: Automatisiere HR-Prozesse mit der Power Platform

Um ihre HR-Prozesse zu vereinfachen & zu automatisieren, entschied sich Toyota Deutschland, in Zusammenarbeit mit novaCapta nützliche Flows und Self-Services auf Basis der Power Platform zu ergänzen.

Bus fährt durch die Luzerner Innenstadt
Referenz

Verkehrsbetriebe Luzern: Power-Platform-Dokumentverwaltung

Die Verkehrsbetriebe Luzern starten mit der zentralen Verwaltung sowie strukturierten & standardisierten Weitergabe der zum Teil umfangreichen Werkstattdokumente mittels der Microsoft Power Platform.

View of the PUMA Headquarters in Herzogenaurach
Referenz

PUMA: Plattform für Low-Code/No-Code-Lösungen

Dank der Microsoft Power Platform profitiert PUMA von maßgeschneiderten Diensten, die sich ohne großen Entwicklungsaufwand erstellen lassen. Die neuen Businessprozesse können flexibel erweitert, weiterentwickelt, skaliert und über das Center of Excellence zentral mitverfolgt werden.

Case Study Power Platform HOCHDORF
Referenz

HOCHDORF: Mit Power in die Automatisierung von Produktdaten

Mit Power Apps und Power Automate vom manuellen Excel-Prozess zum automatisierten Geschäftsprozess.