Senest opdateret: 2024-06-11

Gyldig fra og med: Opter 2024.06.00, Opter Driver til iOS 2.4.3, Opter Driver Labs til Android 2.4.3

Betingelser i App.OpterDriver.Design

Betingelser anvendes til at vise en bestemt tekst i appen baseret på, om der er bestemte oplysninger i ordren, f.eks. "vis afsenderens telefonnummer, hvis det står på ordren". Hvis der ikke er det, vises der ikke noget i appen. På den måde kan du undgå at vise tomme felter i appen, som kan forvirre, f.eks "Telefon: ".

Du kan finde eksempler på, hvordan betingelser bruges i kontekst, i standarddesignet i App.OpterDriver.Design for 2023.12.00 og 2024.06.00. I denne artikel ser vi på mere specifikke eksempler.

Syntaks

For at indstille en betingelse skal du anvende attributten condition i item-tagget. Oftest vil du vise oplysningerne i appen, hvis de er på ordren. Det betyder, at det samme tag normalt bruges til betingelsen og de oplysninger, der skal vises, kombineret med en forklarende tekst. Som ENTRECODE og PACKAGECOUNT i eksemplerne nedenfor.

Eksempel 1: Vis teksten "Portkode: <xxxx>", hvis afsenderadressens dørkode fremgår af ordren. $Design_PortCode henter teksten "Portkode" (se Teksttags i App.OpterDriver.Design).

Eksempel 1
<row>
    <item itemname="'$Design_PortCode',': ',ENTRECODEFROM" condition="ENTRECODEFROM != " width="100"/>
</row>

Eksempel 2: Vis teksten "Antal kolli: <xx>", hvis der er mindst én kolli på ordren. $Design_PackageCount henter teksten "Antal kolli" (seTeksttags i App.OpterDriver.Design).

Eksempel 2
<row>
    <item itemname="'$Design_PackageCount',': ',PACKAGECOUNT" condition="PACKAGECOUNT &gt; 0" width="100" font="LARGEBOLD" />
</row>

Flere betingelser på samme række

Du kan have en eller flere betingelser på samme række. "+" (plustegn) og "," (komma) betyder "og", og "|" (lodret streg) betyder "eller".

  • Række 2: Vis teksten "Bemærk! Tjek tilvalgene på ordren", hvis ordren har nogen af tilvalgene med koderne "V" og "L". DELIVERYOPTIONS er en liste tilvalgskoder.

  • Række 5: Vis teksten "Tilvalg: koldt og varmt", hvis ordren har tilvalgene "Koldt" og "Varmt". DELIVERYOPTIONNAMES er en liste tilvalgsnavne.

DELIVERYOPTIONS og DELIVERYOPTIONNAMES er lister med tilvalgskoder og tilvalgsnavne. De kan ikke anvendes som tags til at vise koden eller navnet på tilvalget i appen. Hvis betingelsen er "eller", som på række 2 i eksemplet nedenfor, er det således ikke muligt at vide, hvilket af tilvalgene der er på ordren, eller om det er begge to, når teksten vises i appen.

Eksempel 3
<row>
    <item itemname="'Obs! Tjek tilvalgene på ordren'" condition="DELIVERYOPTIONS : V | DELIVERYOPTIONS : L " />
</row>
<row>
    <item itemname="'Tilvalg: koldt og varmt'" condition="DELIVERYOPTIONNAMES : Koldt , DELIVERYOPTIONNAMES : Varmt " />
</row>

Betingelser for forskellige typer data

Der er fire forskellige typer data på ordrerne, som du kan bruge som betingelser:

  • Numeriske værdier (f.eks. hvis ordren har et bestemt nummer).

  • Tidspunkt (f.eks. hvis der er angivet et seneste leveringstidspunkt på ordren).

  • Tekst i et felt (f.eks. hvis kundereferencen indeholder "John").

  • Indstillinger til/fra (f.eks. hvis Tillad levering, selvom der ikke er nogen hjemme er markeret/ikke markeret på ordren).

Da App.OpterDriver.Design er en XML-fil, skal tegnene "<" og ">" skrives som &lt; og &gt; i betingelserne. Det er ikke muligt at bruge "<" og ">".

Betingelser for numeriske værdier og tidspunkt

Betingelser Betydning Skrives i App.OpterDriver.Design

!=

Ikke lig med. Bruges også til at vise en hvilken som helst værdi ved ikke at angive en værdi for betingelsen.

condition="ORDERID != " betyder "vis teksten, uanset hvad ordrenummeret er" (ordrenummeret er "ikke lig med ingenting", dvs. "lig med hvad som helst").

Se det første eksempel nedenfor (række 2).

!=

=

Lig med.

=

>

Større end.

&gt;

< Mindre end. &lt;

>=

Større end eller lig med.

&gt;=

<=

Mindre end eller lig med.

&lt;=

Eksempel 4: Viser teksten "Ordrenummer: <ordrenummer>" afhængigt af, hvad ordrenummeret er. $Design_OrderNumber henter teksten "Ordrenummer" (seTeksttags i App.OpterDriver.Design).

  • Række 2: Viser altid teksten, uanset hvad ordrenummeret er. Betingelsen "ikke lig med" efterfulgt af ingenting bruges i betingelsen.

  • Række 5: Viser teksten, hvis ordrenummeret ikke er 116. Hvis ordrenummeret er 116, vises der slet ingen tekst.

  • Række 8: Viser teksten, hvis ordrenummeret er nøjagtigt 116. Hvis ordrenummeret er et andet end 116, vises der slet ingen tekst.

  • Række 11: Viser teksten, hvis ordrenummeret er højere end 116. Hvis ordrenummeret er 1-116, vises der slet ingen tekst.

  • Række 14: Viser teksten, hvis ordrenummeret er lavere end 116. Hvis ordrenummeret er 116 eller højere, vises der slet ingen tekst.

  • Række 17: Viser teksten, hvis ordrenummeret er 116 eller højere. Hvis ordrenummeret er 1-115, vises der slet ingen tekst.

  • Række 20:  Viser teksten, hvis ordrenummeret er 116 eller lavere. Hvis ordrenummeret er 117 eller højere, vises der slet ingen tekst.

Eksempel 4
<row>
    <item itemname="'$Design_OrderNumber',': ',ORDERID" condition="ORDERID != " />
</row>
<row>
    <item itemname="'$Design_OrderNumber',': ',ORDERID" condition="ORDERID != 116" />
</row>
<row>
    <item itemname="'$Design_OrderNumber',': ',ORDERID" condition="ORDERID = 116" />
</row>
<row>
    <item itemname="'$Design_OrderNumber',': ',ORDERID" condition="ORDERID &gt; 116" />
</row>
<row>
    <item itemname="'$Design_OrderNumber',': ',ORDERID" condition="ORDERID &lt; 116" />
</row>
<row>
    <item itemname="'$Design_OrderNumber',': ',ORDERID" condition="ORDERID &gt;= 116" />
</row>
<row>
    <item itemname="'$Design_OrderNumber',': ',ORDERID" condition="ORDERID &lt;= 116" />
</row>

Eksempel 5: Viser teksten Leveringstidspunkt (senest): <dato og/eller klokkeslæt> afhængigt af, hvilke opgaver der er i ordren. Der findes tilsvarende tags for det tidligste afhentningstidspunkt, for eksempel EARLIESTPICKUPTIME og EARLIESTPICKUPDATE. $Design_Delivery henter teksten "Levering" (seTeksttags i App.OpterDriver.Design).

  • Række 2: Viser teksten, hvis den sidste leveringsdato eller det sidste leveringstidspunkt er på ordren. Hvis de begge to er til stede, vises begge adskilt af et mellemrum.

  • Række 5: Viser teksten, hvis det sidste leveringstidspunkt er 12:01 eller senere. Hvis det seneste leveringstidspunkt er 12:00 eller tidligere, vises der ingen tekst.

  • Række 8: Viser teksten, hvis det sidste leveringstidspunkt er 11:59 eller tidligere. Hvis det seneste leveringstidspunkt er 12:00 eller senere, vises der ingen tekst.

  • Række 11: Viser teksten, hvis det sidste leveringstidspunkt er 12:00 eller senere. Hvis det seneste leveringstidspunkt er 11:59 eller tidligere, vises der ingen tekst.

  • Række 14: Viser teksten, hvis det sidste leveringstidspunkt er 12:00 eller tidligere. Hvis det seneste leveringstidspunkt er 12:01 eller senere, vises der ingen tekst.

  • Række 17: Viser teksten, hvis der er en forventet leveringsdato eller et forventet leveringstidspunkt på ordren.

Eksempel 5
<row>
    <item itemname="'$Design_Delivery',': ',LATESTDELIVERYDATE,' ',LATESTDELIVERYTIME" condition="LATESTDELIVERYDATE != | LATESTDELIVERYTIME != " />
</row>
<row>
    <item itemname="'$Design_Delivery',': ',LATESTDELIVERYTIME" condition="LATESTDELIVERYTIME &gt; 12:00" />
</row>
<row>
    <item itemname="'$Design_Delivery',': ',LATESTDELIVERYTIME" condition="LATESTDELIVERYTIME &lt; 12:00" />
</row>
<row>
    <item itemname="'$Design_Delivery',': ',LATESTDELIVERYTIME" condition="LATESTDELIVERYTIME &gt;= 12:00" />
</row>
<row>
    <item itemname="'$Design_Delivery',': ',LATESTDELIVERYTIME" condition="LATESTDELIVERYTIME &lt;= 12:00" />
</row>
<row>
    <item itemname="'$Design_Delivery',': ',ESTIMATEDDELIVERYDATE,' ',ESTIMATEDDELIVERYTIME" condition="ESTIMATEDDELIVERYDATE != | ESTIMATEDDELIVERYTIME != " />
</row>

Betingelser for tekst

Betingelser Betydning Skrives i App.OpterDriver.Design

!=

Ikke lig med. Bruges også til at vise en hvilken som helst værdi ved ikke at angive en værdi for betingelsen.

condition="ORDERID != " betyder "vis teksten, uanset hvad ordrenummeret er" (ordrenummeret er "ikke lig med ingenting", dvs. "lig med hvad som helst").

Se det første eksempel nedenfor (række 2).

!=

=

Lig med.

=

:

Indeholder.

:

Eksempel 6: Viser teksten "Kundekontakt: <navn>" afhængigt af kundereferencens navn. $Design_CustomerContact henter teksten "Kundekontakt" (se Teksttags i App.OpterDriver.Design).

  • Række 2: Viser altid teksten, hvis der er en kundereference på ordren. Betingelsen "ikke lig med" efterfulgt af ingenting bruges i betingelsen.

  • Række 5: Viser kun teksten, hvis kundereferencens navn er "John Stattin"

  • Række 8: Viser teksten, hvis kundereferencens navn indeholder teksten "john". Teksten vises også, hvis efternavnet indeholder "john", for eksempel "Brian Johnson". Betingelsen skelner ikke mellem store og små bogstaver. Det fulde navn vises i appen, ikke kun den del, som betingelsen gælder for.

Eksempel 6
<row>
    <item itemname="'$Design_CustomerContact',':',CUSTOMERREFERENCE" condition="CUSTOMERREFERENCE != " />
</row>
<row>
    <item itemname=="'$Design_CustomerContact',':',CUSTOMERREFERENCE" condition="CUSTOMERREFERENCE = John Stattin" />
</row>
<row>
    <item itemname=="'$Design_CustomerContact',':',CUSTOMERREFERENCE" condition="CUSTOMERREFERENCE : John" />
</row>

Betingelser for indstillinger til/fra

Betingelser Betydning Skrives i App.OpterDriver.Design

true

Til

true

false

Fra

false

Eksempel 7: Viser forskellige tekster afhængigt af, om afkrydsningsfeltet Tillad levering, selvom der ikke er nogen hjemme er markeret eller ikke markeret på ordren.

  • Række 2: Viser teksten "Aflever ved døren, hvis der ikke er nogen hjemme", hvis Tillad levering, selvom der ikke er nogen hjemme er markeret på ordren.

  • Række 5: Viser teksten "Vend tilbage til terminalen, hvis der ikke er nogen hjemme", hvis Tillad levering, selvom der ikke er nogen hjemme ikke er markeret på ordren.

Eksempel 7
<row>
    <item itemname="'Aflever ved døren, hvis der ikke er nogen hjemme'" condition="ALLOWDELIVERYNOTHOME = true" />
</row>
<row>
    <item itemname="'Vend tilbage til terminalen, hvis der ikke er nogen hjemme'" condition="ALLOWDELIVERYNOTHOME = true" />
</row>