Suche…


Anzeigen eines Fehlers, der den Benutzer zur Eingabe von Entitätsdaten auffordert

Benutzer erscheinen häufig in einer Situation, in der ein Geschäftsprozess nicht abgeschlossen werden kann, weil der Benutzer nicht alle erforderlichen Informationen eingegeben hat.

Ein Beispiel für diese Situation ist, wenn ein Benutzer versucht, einen Drop-Ship-Auftrag mit fehlender Kundenadresse zu erstellen.

Gemäß den Best Practices von UX sollte das System für den Benutzer freundlich sein und den Benutzer nicht nur über die Situation informieren, sondern ihn auch zur Lösung seines Problems führen. Wie wir wissen, verfügt das System bereits über einen ähnlichen Mechanismus, der durch PXSetup<TSetup>.Current aktiviert wird, wenn keine Datensätze in der TSetup Tabelle vorhanden sind. Es wird intern implementiert, indem eine PXSetupNotEnteredException .

Vor kurzem wurde dieser Ausnahme eine neue Funktionalität hinzugefügt, die es einem Anwendungsentwickler ermöglicht, einen Fehler mit einer Verknüpfung zu der Entität auszulösen, die neu konfiguriert werden muss:

INSite erroneousSite = PXSelect<
    INSite,
    Where<
        INSite.siteID, Equal<Current<SOCreateFilter.siteID>>, 
        And<INSite.active, Equal<True>, 
        And<Where<INSite.addressID, IsNull, Or<INSite.contactID, IsNull>>>>>>
    .SelectSingleBound(this, new object[] { e.Row });

if (erroneousSite != null)
{
    throw new PXSetupNotEnteredException<INSite, INSite.siteCD>(
        Messages.WarehouseWithoutAddressAndContact, 
        erroneousSite.SiteCDlnk, 
        erroneousSite.SiteCDinf);
}

Das Ergebnis wird dem Benutzer folgendermaßen angezeigt:

Fehlerseiten-Look

  • Als erster PXSetupNotEnteredException akzeptiert PXSetupNotEnteredException den Typ der Entität, zu der die Standardgraphenverknüpfung generiert wird.

  • Der zweite Typparameter gibt das Schlüsselfeld des Datensatzes an, das zur Erzeugung der Verknüpfung verwendet werden soll. Im obigen Beispiel wird die Navigation zur Lagerentität über den CD-Schlüssel vorgenommen.

  • Das erste Konstruktorargument ist die Formatzeichenfolge für die Fehlernachricht. Die Nummerierung der internen Platzhalter sollte mit 1 beginnen: dh The Multiple Warehouses feature and the Transfer order type are activated in the system, in this case an address and a contact must be configured for the '{1}' warehouse.

  • Das zweite Konstruktorargument ist der Wert des Schlüsselfelds, das als zweiter generischer Parameter angegeben ist. In diesem Beispiel würde der Link /IN204000.aspx?siteCD=erroneousSite.SiteCDlnk generiert.

  • Das dritte Konstruktorargument ist der in der Fehlernachricht anzuzeigende, vom Menschen lesbare Wert: ...in this case an address and a contact must be configured for the 'erroneousSite.SiteCDinf' warehouse.



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow