Sök…


Visar ett fel som kräver att användaren ska ange entitetsdata

Användare dyker ofta upp i en situation då en affärsprocess inte kan slutföras eftersom användaren inte har angett all nödvändig information.

Ett exempel på denna situation är när en användare försöker skapa en drop ship-order med saknad kundadress.

Enligt UX: s bästa praxis bör systemet vara vänligt mot användaren och inte bara informera användaren om situationen utan också vägleda honom till lösningen på hans problem. Som vi vet har systemet redan en liknande mekanism aktiverad av PXSetup<TSetup>.Current när det inte finns några poster i TSetup tabellen. Det implementeras internt genom att kasta en PXSetupNotEnteredException .

Nyligen har en ny funktionalitet lagts till detta undantag, som gör det möjligt för en applikationsutvecklare att kasta ett fel med en länk till enheten som måste konfigureras om:

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);
}

Resultatet visas för användaren så här:

felsida utseende

  • Som en första PXSetupNotEnteredException accepterar PXSetupNotEnteredException typen av den enhet som standardgraflänken genereras till.

  • Den andra typparametern anger nyckelfältet för posten som ska användas för att generera länken. I exemplet ovan navigeras till lagerenheten med CD-tangenten.

  • Det första konstruktörargumentet är formatsträngen för felmeddelandet. Numreringen av dess interna platshållare bör börja med 1: dvs 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.

  • Det andra konstruktörargumentet är värdet på nyckelfältet som anges som den andra generiska parametern. I exemplet är länken som skulle genereras /IN204000.aspx?siteCD=erroneousSite.SiteCDlnk .

  • Det tredje konstruktörargumentet är det mänskliga läsbara värdet som ska visas i felmeddelandet: ...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
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow