Eine Anwendung für Mitarbeiter im Außendienst zur Rationalisierung der Aktualisierung eines Containerstatus

Abgeschlossen

Eine Canvas-Power-App erstellen

Ziel ist es, die Arbeit von Mitarbeitern im Außendienst zu rationalisieren. Wir erstellen eine Canvas-App in Power Apps (siehe Was sind Canvas-Apps in Power Apps?), die es ermöglicht, ein Foto aufzunehmen, den Containerbezeichner automatisch zu erkennen und eine Benutzerführung bereitzustellen, um Status, Versand- und Ankunftsdaten zu aktualisieren.

Verwenden Sie „Erstellen“ im linken Menü in Power Apps und dann „Canvas-App ohne Vorlage“, nennen Sie sie „Contoso-Container-Check-in“, wählen Sie „Telefon“ aus, und klicken Sie dann auf „Erstellen“.

Bezeichner von einem Foto abrufen

Wir wollen es John und Chandra ermöglichen, ein Foto eines Containers aufzunehmen und die Containerbezeichner automatisch abzurufen. Wählen Sie im Menü „Einfügen“ auf der Leiste „AI Builder“ die Option „Texterkennung“ aus. Dieses Steuerelement ermöglicht es, ein Foto aufzunehmen oder hochzuladen und den Containerbezeichner automatisch zu erkennen.

Das A I Builder-Menü wird erweitert, um die Optionen „Visitenkartenleser“, „Formularprozessor“, „Objektdetektor“ und „Texterkennung“ anzuzeigen.

Ändern Sie die Größe des Steuerelements so, dass es in den Bildschirm passt, und fügen Sie oben eine Beschriftung ein, in der Sie die Eigenschaft „Text“ so bearbeiten, dass „Container-Check-in“ mit blauem Hintergrund und zentriertem weißen Text angezeigt wird.

Feedback geben

Wir müssen dem Benutzer Feedback geben zu dem, was erkannt wurde. Fügen Sie unten eine neue Beschriftung ein, und ändern Sie die Eigenschaft „Text“ in „Ausgewählter Container:“.

Fügen Sie daneben eine Texteingabe ein, und ändern Sie die Eigenschaft „Default“ in „TextRecognizer1.SelectedText“.

Hinweis

Sie können alle mit „TextRecognizer1.OcrObjects“ erkannten Texte abrufen und sie in eine Tabelle einbinden.

Dadurch wird der Text angezeigt, den der Benutzer manuell aus der Liste der Texte ausgewählt hat, die von AI Builder erkannt wurden.

Schließlich benötigt der Benutzer eine Schaltfläche, um Details zu diesem Container anzuzeigen und die geführte Aktualisierung durchzuführen.

Eine Schaltfläche einfügen

  • Ändern Sie die Eigenschaft „Text“ in „Senden“.
  • Ändern Sie die Eigenschaft „Fill“ in Blau.
  • Ändern Sie die Eigenschaft „Align“ in „Zentriert“.
  • Um zum nächsten Bildschirm zu navigieren, wenn der Benutzer auf „Senden“ klickt, ändern Sie „OnSelect“ in „Navigate(Screen2)“. (Sie werden eine Fehlermeldung erhalten, bis wir den nächsten Bildschirm erstellt haben.)

Folgendes sollte angezeigt werden:

Der Bildschirm zum Einchecken von Containern verfügt über die Schaltflächen „Scannen“ und „Senden“ sowie ein Feld „Ausgewählter Container“.

Arbeit rationalisieren

Um die Arbeit des Mitarbeiters im Außendienst mit Kundenkontakt zu rationalisieren und die erforderlichen Informationen so gering wie möglich zu halten, stellen wir eine Benutzerführung bereit, die es dem Benutzer ermöglicht, die Daten der Tabelle zu aktualisieren, wobei aber nur die Informationen abgefragt werden, die in dieser Phase der Lieferung relevant sind. Einen neuen Formularbildschirm einfügen (siehe Einen Bildschirm einer Canvas-App hinzufügen und zwischen Bildschirmen wechseln)

Der Bildschirm „Neues Formular“ bietet die Optionen „Leer“, „Bildlauffähig“, „Liste“, „Formular“, „Erfolg“ und „Tutorial“.

Ändern Sie die Titeleigenschaft „Text“ in „Versand aktualisieren“.

EditForm1 bearbeiten (siehe Datensatz in einer Canvas-App anzeigen, bearbeiten und hinzufügen)

  • Um das Bearbeitungsformular an die zuvor erstellte Tabelle zu binden, klicken Sie in der Ansicht auf „Mit Daten verbinden“, und wählen Sie im linken Bereich „Container Shipments“ aus**

  • Ändern Sie die Eigenschaft „DataSource“ in „Container Shipments“.

Geben Sie die Felder ein, die im Formular angezeigt werden.

Klicken Sie im rechten Bereich auf „Felder bearbeiten“, und fügen Sie „Herkunft“, „Versanddatum“, „Ziel“, „Ankunftsdatum“, „Zerbrechlich“ und „Lieferstatus“ hinzu, und entfernen Sie „Erstellt am“.

Eine Benutzerführung bereitstellen

Wir müssen nur solche Felder anzeigen und Änderungen nur in solchen Feldern zulassen, die abhängig vom Versandstatus relevant sind. In diesem Fall ändert der Benutzer das „Versanddatum“ beim Versand des Containers und das „Ankunftsdatum“ beim Empfang des Containers. Andere Felder sind ausgeblendet oder können nicht aktualisiert werden.** Ändern Sie den „DisplayMode“ von „Name“, „Herkunft“, „Ziel“, „Zerbrechlich“ und „Lieferstatus“ in „Anzeigen“.

Die richtigen Containerinformationen anzeigen

Rufen Sie denjenigen ab, der dem zuvor vom Benutzer ausgewählten Text entspricht.** Dies können Sie erreichen, indem Sie die Eigenschaft „Item“ von der „EditForm1“ auf First(Filter('Container Shipments', Name = TextInput1.Text)) in den erweiterten Eigenschaften festlegen.

Der Bildschirm verhält sich je nach Status des Containers unterschiedlich. Wenn er auf den Versand wartet, kann der Benutzer das „Versanddatum“ ändern, und beim Empfang kann er das „Ankunftsdatum“ ändern.

Bearbeiten Sie „Shipping Date_DataCard1“ (entsperren Sie die Eigenschaften im linken Bereich, siehe Entsperren und Anpassen einer Karte).

  • Damit der Benutzer das Versanddatum eingeben muss, ändern Sie die Eigenschaft „Required“ in „True“.

  • Der Benutzer darf das Versanddatum nach der Lieferung nicht ändern. Es soll also nur dann bearbeitbar sein, wenn die Lieferung noch aussteht. Sie können dies erreichen, indem Sie die Eigenschaft „DisplayMode“ in Folgendes ändern:

    If(ThisItem.'Delivery State' <> ContainerStates.Waiting, DisplayMode.View, DisplayMode.Edit)

Bearbeiten Sie „Arrival Date_DataCard1“ (entsperren Sie die Eigenschaften im linken Bereich).

  • Die Ankunftsdaten sind nur relevant, wenn der Container empfangen oder geliefert wird. Daher sollten sie nur in diesem Fall angezeigt werden. Ändern Sie die Eigenschaft „Visible“ in ThisItem.'Delivery State'<> ContainerStates.Waiting

  • Damit der Benutzer das Versanddatum eingeben muss, wenn er den Container empfängt**, ändern Sie die Eigenschaft „Required“ in:

    ThisItem.'Delivery State'<> ContainerStates.Waiting

  • Dieses Ankunftsdatum sollte einmal geändert werden, wenn der Container empfangen wird, andernfalls sollte es nur angezeigt werden. Ändern Sie die Eigenschaft „DisplayMode“ in:

    If(ThisItem.'Delivery State'= ContainerStates.Delivered,DisplayMode.View, DisplayMode.Edit)

Wir müssen jetzt die Logik erstellen, um den Status zu aktualisieren, wenn der Benutzer die Änderung übermittelt, und um zu verhindern, dass Änderungen vorgenommen werden, nachdem der Container geliefert wurde.

Edit "IconAccept1"

  • Um den Status auf „In Transit“ zu ändern, wenn der Container versendet und geliefert wird, wenn er empfangen wird und Änderungen übermittelt werden, ändern Sie die Eigenschaft „OnSelect“ in

    If(First(Filter('Container Shipments', Name = TextInput1.Text)).'Delivery State'= ContainerStates.Waiting, Set(valState, ContainerStates.'In Transit'), Set(valState, ContainerStates.Delivered));SubmitForm(EditForm1);

  • Damit die Schaltfläche zum Senden nicht angezeigt wird, wenn der Container bereits geliefert wurde, ändern Sie die Eigenschaft „Visible“ in:

    'Delivery State_DataCard1'.Default <> ContainerStates.Delivered

  • Um den Containerstatus automatisch zu aktualisieren,

    *edit "Delivery State_DataCard1" (unlock the properties on the left pane) change the "Update" property to valState

Sobald eine Änderung erfolgreich übermittelt oder abgebrochen wurde, müssen wir zum vorherigen Bildschirm wechseln. Wir müssen auch sicherstellen, dass das Formular bei jedem Aufrufen des Bildschirms zurückgesetzt wird.

  • Um das Formular beim Aufrufen des Bildschirms zu aktualisieren,

    ** edit "Screen2" and change "OnVisible" property to Refresh('Container Shipments');ResetForm(EditForm1);

  • Um zum Scanbildschirm zurückzukehren, wenn Änderungen vorgenommen wurden, bearbeiten Sie

    "EditForm1"

    und ändern Sie

    "OnSuccess" property to Navigate('Screen1')

  • Um zum Scanbildschirm zurückzukehren, wenn der Benutzer auf die Schaltfläche „Abbrechen“ klickt,** bearbeiten Sie „IconCancel1“ und ändern Sie die Eigenschaft „OnSelect“ in Navigate('Screen1')

Folgendes sollte angezeigt werden:

„Versand aktualisieren“ zeigt die angegebenen Werte für „Name“, „Herkunft“, „Versanddatum“, „Ziel“, „Ankunftsdaten“, „Ist fragil“ und „Lieferstatus“.

Zusammenfassung

Wir haben erfolgreich eine Smartphone-Anwendung erstellt zur Rationalisierung der Aufgabe von Mitarbeitern im Außendienst, Container Shipments mithilfe eines geführten Ablaufs zu aktualisieren. Jetzt kann die Aufgabe ausgeführt werden.