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.

News der novaCapta
Blog 19.09.17

Der wiederholte Bereich in Nintex Forms

Nintex für Fortgeschrittene

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 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.

Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog 05.07.16

Xamarin – plattformübergreifende App-Entwicklung

Xamarin ist eine übergreifende Entwicklungsplattform, die die Welten zusammenführt und die bislang erforderliche Mehrarbeit weitgehend überflüssig macht.

Focused at work. Side view of young busy employees working on computers while sitting at desk in modern open space
Produkt

novaCapta Design Editor für App Design

Ihre Apps. Ihr Design. Erstellen Sie mit dem novaCapta Design Editor benutzerdefinierte Vorlagen, um Ihre Canvas Apps schnell und einfach an Ihren Markenauftritt anzupassen.

Detailaufnahme von Person, die am Laptop sitzt und etwas eintippt
Technologie

Power Platform

Applikationen für Ihr Unternehmen sind durch die Microsoft Power Platform ohne großen Entwicklungsaufwand möglich - mit Power Apps, Power BI, Power Automate, Power Virtual Agents und Power Pages.

Bus fährt durch die Luzerner Innenstadt
Referenz

Verkehrsbetriebe Luzern: Power-Platform-Dokumentverwaltung

Die Verkehrsbetriebe Luzern gehen mit der novaCapta einen weiteren Schritt in Richtung Digitalisierung und starten mit der zentralen Verwaltung sowie strukturierten und standardisierten Weitergabe der zum Teil sehr umfangreichen Werkstattdokumente mittels der Microsoft Power Platform.

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.

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.

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.

Landqart AG, Headbild, Grüne Noten
Referenz

Landqart: Mit M365 zum Modern Workplace

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

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

FIVE: Prozess-Automation auch für KMUs

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

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.

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.

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.

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 und die umständliche Überführung von den bisher schriftlichen Bestellungen digitalisiert. Aufträge werden jetzt einfach in der Low-Code/No-Code Scan-App erstellt und direkt an SAP übertragen.

Zwei Bauarbeiter begutachten eine Baustelle
Referenz

Kissling + Zbinden: Zentrales Arbeiten in «Projektraum 365»

Zusammen mit novaCapta hat Kissling + Zbinden «Projektraum 365» implementiert, welcher die gemeinsame Projektarbeit durch Zentralisierung und Automatisierung vereinfacht. Darüber hinaus ermöglichen Microsoft Intune & Defender ein ganzheitliches Endpoint Management und Security.

Foto einer Fabrikhalle der Bell Food Group mit zwei Mitarbeitern in Schutzkleidung und Waren die von Regalen hängen
Referenz

Bell Food: Optimierte Produktverkostung per Power Platform

Die Bell Food Group geht mit der novaCapta einen weiteren Schritt in Richtung Digitalisierung und startet mit dem Produktverkostungsprozess mittels der Microsoft Power Platform.

Autos der Marke Toyota auf einer Rennstrecke
Referenz

Toyota: Automatisiere HR-Prozesse mit der Power Platform

Toyota Motor Europe setzt auf eines der führendenden Personalsysteme zur Stammdatenpflege. Auch die deutsche Vertriebsorganisation hat das System übernommen. Um ihre HR-Prozesse weiter zu vereinfachen und weitestgehend zu automatisieren, entschied sich Toyota Deutschland, in Zusammenarbeit mit novaCapta nützliche Flows und Self-Services für Mitarbeitende zu ergänzen.