Senast uppdaterad: 2024-06-11

Villkor i App.OpterDriver.Design

Gäller för Opter Driver för iOS och Opter Driver Labs för Android.

Villkor används för att visa en viss text i appen baserat på om det finns viss info i ordern, till exempel ”visa avsändarens telefonnummer om det finns på ordern”. Om det inte finns visas ingenting i appen. På så sätt kan du undvika att visa tomma fält i appen som kan förvirra, till exempel ”Telefon: ”.

Exempel på hur villkor används i sitt sammanhang finns i standarddesignen i App.OpterDriver.Design för 2023.12.00 och 2024.06.00. I den här artikeln går vi in på mer specifika exempel.

Syntax

För att sätta ett villkor använder du attributet condition i item-taggen. Oftast vill man visa informationen i appen om den finns på ordern. Det innebär att samma tagg oftast används för villkoret och själva informationen som ska visas, i kombination med en förklarande text. Som ENTRECODE och PACKAGECOUNT i exemplen nedan.

Exempel 1: Visa texten ”Portkod: <xxxx>” om portkoden för avsändaradressen finns på ordern. $Design_PortCode hämtar texten ”Portkod” (se Texttaggar i App.OpterDriver.Design).

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

Exempel 2: Visa texten ”Antal kollin: <xx>” om det finns minst ett kolli på ordern. $Design_PackageCount hämtar texten ”Antal kollin” (se Texttaggar i App.OpterDriver.Design).

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

Flera villkor på samma rad

Du kan ha ett eller flera villkor på samma rad. ”+” (plustecken) och ”,” (kommatecken) betyder "och", och ”|” (lodstreck) betyder "eller".

  • Rad 2: Visa texten ”Obs! Kontrollera tillvalen på ordern” om ordern har något av tillvalen med koderna ”V” och ”L”. DELIVERYOPTIONS är en lista med tillvalskoder.

  • Rad 5: Visa texten ”Tillval: kyla och pirra” om ordern har tillvalen ”Kyla” och ”Pirra”. DELIVERYOPTIONNAMES är en lista med tillvalsnamn.

DELIVERYOPTIONS och DELIVERYOPTIONNAMES är listor över tillvalskoder och tillvalsnamn. De går inte att använda som taggar för att visa koden eller namnet på tillvalet i appen. Om villkoret är ”eller”, som på rad 2 i nedanstående exempel, går det alltså inte att veta vilket av tillvalen som finns på ordern, eller om det är båda, när texten visas i appen.

Exempel 3
<row>
    <item itemname="'Obs! Kontrollera tillvalen på ordern'" condition="DELIVERYOPTIONS : V | DELIVERYOPTIONS : L " />
</row>
<row>
    <item itemname="'Tillval: kyla och pirra'" condition="DELIVERYOPTIONNAMES : Kyla , DELIVERYOPTIONNAMES : Pirra " />
</row>

Villkor för olika typer av data

Det finns fyra olika typer av data på ordrarna som du kan använda som villkor:

  • Numeriska värden (t.ex. om ordern har ett visst nummer).

  • Tid (t.ex. om det finns en senaste leveranstid angiven på ordern).

  • Text i ett fält (t.ex. om kundreferensen innehåller ”John”).

  • Inställningar på/av (t.ex. om Tillåt leverans även om inte hemma är markerad/avmarkerad på ordern).

Eftersom App.OpterDriver.Design är en XML-fil måste tecknen ”<” och ”>” skrivas som &lt; och &gt; i villkoren. Det går inte att använda ”<” och ”>”.

Villkor för numeriska värden och tid

Villkor Betydelse Skrivs i App.OpterDriver.Design

!=

Inte lika med. Används även för att visa vilket värde som helst genom att inget värde anges för villkoret.

condition="ORDERID != " innebär ”visa texten oavsett vad ordernumret är” (ordernumret är ”ej lika med ingenting”, det vill säga ”lika med någonting”).

Se första exemplet nedan (rad 2).

!=

=

Lika med.

=

>

Större än.

&gt;

< Mindre än. &lt;

>=

Större än eller lika med.

&gt;=

<=

Mindre än eller lika med.

&lt;=

Exempel 4: Visar texten ”Ordernummer: <ordernummer>” beroende på vad ordernumret är. $Design_OrderNumber hämtar texten ”Ordernummer” (se Texttaggar i App.OpterDriver.Design).

  • Rad 2: Visar alltid texten oavsett vad ordernumret är. Villkoret ”ej lika med” följt av inget används i villkoret.

  • Rad 5: Visar texten om ordernumret inte är 116. Om ordernumret är 116 visas inte någon text alls.

  • Rad 8: Visar texten om ordernumret är exakt 116. Om ordernumret är något annat än 116 visas inte någon text alls.

  • Rad 11: Visar texten om ordernumret är högre 116. Om ordernumret är 1–116 visas inte någon text alls.

  • Rad 14: Visar texten om ordernumret är mindre än 116. Om ordernumret är 116 eller högre visas inte någon text alls.

  • Rad 17: Visar texten om ordernumret 116 eller högre. Om ordernumret är 1–115 visas inte någon text alls.

  • Rad 20:  Visar texten om ordernumret är 116 eller lägre. Om ordernumret är 117 eller högre visas inte någon text alls.

Exempel 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>

Exempel 5: Visar texten Leveranstid (senast): <datum och/eller tid> beroende på vilka uppgifter som finns på ordern. Motsvarande taggar finns för tidigaste upphämtningstid, till exempel EARLIESTPICKUPTIME och EARLIESTPICKUPDATE. $Design_Delivery hämtar texten ”Leverans” (se Texttaggar i App.OpterDriver.Design).

  • Rad 2: Visar texten om senaste leveransdatum eller senaste leveranstid finns på ordern. Om båda finns visas båda, med ett mellanslag mellan.

  • Rad 5: Visar texten om senaste leveranstid är 12:01 eller senare. Om senaste leveranstid är 12:00 eller tidigare visas inte någon text alls.

  • Rad 8: Visar texten om senaste leveranstid är 11:59 eller tidigare. Om senaste leveranstid är 12:00 eller senare visas inte någon text alls.

  • Rad 11: Visar texten om senaste leveranstid är 12:00 eller senare. Om senaste leveranstid är 11:59 eller tidigare visas inte någon text alls.

  • Rad 14: Visar texten om senaste leveranstid är 12:00 eller tidigare. Om senaste leveranstid är 12:01 eller senare visas inte någon text alls.

  • Rad 17: Visar texten om det finns ett uppskattat leveransdatum eller uppskattad leveranstid på ordern.

Exempel 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>

Villkor för text

Villkor Betydelse Skrivs i App.OpterDriver.Design

!=

Inte lika med. Används även för att visa vilket värde som helst genom att inget värde anges för villkoret.

condition="ORDERID != " innebär ”visa texten oavsett vad ordernumret är” (ordernumret är ”ej lika med ingenting”, det vill säga ”lika med någonting”).

Se första exemplet nedan (rad 2).

!=

=

Lika med.

=

:

Innehåller.

:

Exempel 6: Visar texten ”Kundkontakt: <namn>” beroende på kundreferensens namn. $Design_CustomerContact hämtar texten ”Kundkontakt” (se Texttaggar i App.OpterDriver.Design).

  • Rad 2: Visar alltid texten om det finns en kundreferens på ordern. Villkoret ”ej lika med” följt av inget används i villkoret.

  • Rad 5: Visar bara texten om kundreferensens namn är ”John Stattin

  • Rad 8: Visar texten om kundreferensens namn innehåller texten ”john”. Texten visas även om efternamnet innehåller ”john”, till exempel ”Brian Johnson”. Villkoret tar inte hänsyn till stora/små bokstäver. Hela namnet skrivs ut i appen, inte bara den del som villkoret gäller.

Exempel 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>

Villkor för inställningar på/av

Villkor Betydelse Skrivs i App.OpterDriver.Design

true

true

false

Av

false

Exempel 7: Visar olika texter beroende på om kryssrutan Tillåt leverans även om inte hemma är markerad eller avmarkerad på ordern.

  • Rad 2: Visar texten ”Lämna vid dörren om ingen är hemma” om Tillåt leverans även om inte hemma är markerad på ordern.

  • Rad 5: Visar texten ”Tillbaka till terminalen om ingen är hemma” om Tillåt leverans även om inte hemma inte är markerad på ordern.

Exempel 7
<row>
    <item itemname="'Lämna vid dörren om ingen är hemma'" condition="ALLOWDELIVERYNOTHOME = true" />
</row>
<row>
    <item itemname="'Tillbaka till terminalen om ingen är hemma'" condition="ALLOWDELIVERYNOTHOME = false" />
</row>

Se även