acumatica
Een fout weergeven die vereist is om entiteitsgegevens in te voeren
Zoeken…
Een fout weergeven waarbij de gebruiker entiteitsgegevens moet invoeren
Gebruikers verschijnen vaak in een situatie waarin een bedrijfsproces niet kan worden voltooid omdat de gebruiker niet alle benodigde informatie heeft ingevoerd.
Een voorbeeld van deze situatie is wanneer een gebruiker een drop-shiporder probeert te maken met een ontbrekend klantadres.
Volgens de best practices van UX moet het systeem vriendelijk zijn voor de gebruiker en niet alleen de gebruiker informeren over de situatie, maar ook leiden naar de oplossing van zijn probleem. Zoals we weten, heeft het systeem al een soortgelijk mechanisme dat wordt geactiveerd door PXSetup<TSetup>.Current
wanneer er geen records in de TSetup
tabel staan. Het wordt intern geïmplementeerd door een PXSetupNotEnteredException
gooien.
Onlangs is aan deze uitzondering een nieuwe functionaliteit toegevoegd, waarmee een applicatie-ontwikkelaar een fout kan gooien met een link naar de entiteit die opnieuw moet worden geconfigureerd:
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);
}
Het resultaat wordt als volgt aan de gebruiker getoond:
Als een parameter van het eerste type accepteert
PXSetupNotEnteredException
het type entiteit waarnaar de standaardgrafiekkoppeling wordt gegenereerd.De tweede parameter type geeft het sleutelveld aan van het record dat moet worden gebruikt om de koppeling te genereren. In het bovenstaande voorbeeld wordt navigatie naar de magazijnentiteit gemaakt met de CD-sleutel.
Het eerste constructorargument is de opmaakreeks voor het foutbericht. De nummering van de interne tijdelijke aanduidingen moet beginnen met 1: dat wil zeggen dat
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.
Het tweede constructorargument is de waarde van het sleutelveld dat is opgegeven als de tweede generieke parameter. In het voorbeeld is de link die wordt gegenereerd
/IN204000.aspx?siteCD=erroneousSite.SiteCDlnk
.Het derde constructorargument is de voor de mens leesbare waarde die moet worden weergegeven in het foutbericht:
...in this case an address and a contact must be configured for the 'erroneousSite.SiteCDinf' warehouse.