Sist oppdatert: 2024-06-05
Gjelder fra og med: Opter 2023.12.00
App.Design
I App.Design kan du tilpasse layouten i Opter Driver for Android (classic).
App.Design brukes for Opter Driver for Android (classic). Mer informasjon om hvordan du tilpasser Opter Driver for iOS og Opter Driver Labs for Android, finner du i Tilpasse layout og funksjoner i Opter Driver og Stille inn hvilke felt som skal vises i Opter Driver for iOS.
Denne artikkelen beskriver grunnlaget og strukturen i App.Design. Mer informasjon er tilgjengelig i spesialartiklene:
Du åpner App.Design i Opters interne editor ved å klikke på Innstillinger > Mobildata > Innstillinger mobildata, og deretter på Redigere ved siden av App.Design. Du bør ha grunnleggende kunnskaper om XML hvis du vil redigere filen.
Alle andre vinduer i Opter er låst når Presentasjon på mobile applikasjoner er åpen, men du kan veksle mellom forskjellige vinduer som allerede er åpne. Hvis du vil se informasjon i andre vinduer, kan du åpne dem før du åpner Presentasjon på mobile applikasjoner.
I en ny installasjon av Opter ser App.Design slik ut.
<?xml version="1.0" encoding="utf-8"?>
<designs>
<design designname="Standard" default="true">
<summaryrows>
<row>
<item itemname="CURRENTSTATUS" width="60" />
<item itemname="EARLIESTPICKUPTIME" width="20" />
<item itemname="LATESTDELIVERYTIME" width="20" />
</row>
<row>
<item itemname="ADDRESSFROM,' / ',STREETFROM,' ',STREETNOFROM,' / ',CITYFROM" width="100" />
</row>
<row>
<item itemname="ADDRESSTO,' / ',STREETTO,' ',STREETNOTO,' / ',CITYTO" width="100" />
</row>
</summaryrows>
<expandedrows>
<row>
<item itemname="CURRENTSTATUS" width="50" font="LARGE" />
<item itemname="CUSTOMER" width="50" font="LARGE" />
</row>
<row>
<item itemname="SERVICETYPE" width="50" font="LARGE" />
<item itemname="ORDERDATE" width="50" font="LARGE" />
</row>
<!-- Sender -->
<row>
<item itemname="'Lastas'" width="50" font="LARGEBOLD" />
<item itemname="EARLIESTPICKUPTIME" width="25" font="LARGEBOLD" />
<item itemname="'-'" width="5" font="LARGEBOLD" />
<item itemname="LATESTPICKUPTIME" width="25" font="LARGEBOLD" />
</row>
<row>
<item itemname="ADDRESSFROM" multiline="false" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="STREETFROM,' ',STREETNOFROM" width="100" font="LARGE" />
</row>
<row>
<item itemname="ADDRESS2FROM" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="ADDRESS3FROM" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="ZIPCODEFROM,' ',CITYFROM" width="100" font="LARGE" />
</row>
<row>
<item itemname="PHONEFROM" width="100" font="LARGE" />
<item itemname="'PK: ',ENTRECODEFROM" condition="ENTRECODEFROM" width="100" font="LARGE" />
</row>
<row>
<item itemname="SENDERREFERENCE" width="100" font="LARGE" />
</row>
<!-- Mottaker oppdrag -->
<row>
<item itemname="'Lossas'" width="50" font="LARGEBOLD" />
<item itemname="EARLIESTDELIVERYTIME" width="25" font="LARGEBOLD" />
<item itemname="'-'" width="5" font="LARGEBOLD" />
<item itemname="LATESTDELIVERYTIME" width="25" font="LARGEBOLD" />
</row>
<row>
<item itemname="ADDRESSTO" multiline="false" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="STREETTO,' ',STREETNOTO" width="100" font="LARGE" />
</row>
<row>
<item itemname="ADDRESS2TO" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="ADDRESS3TO" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="ZIPCODETO,' ',CITYTO" width="100" font="LARGE" />
</row>
<row>
<item itemname="PHONETO" width="100" font="LARGE" />-->
<item itemname="'PK: ',ENTRECODETO" condition="ENTRECODETO" width="100" font="LARGE" />
</row>
<row>
<item itemname="RECEIVERREFERENCE" width="100" font="LARGE" />
</row>
<row>
<item itemname="CUSTOMERPROJECT" width="50" font="LARGE" />
<item itemname="PROJECTNUMBER" width="50" font="LARGE" />
</row>
<!-- Avsender/Mottaker ordre -->
<row>
<item itemname="'Avsändare'" width="60" font="LARGEBOLD" />
</row>
<row>
<item itemname="DELIVERYADDRESSFROM" width="100" font="LARGE" />
</row>
<row>
<item itemname="DELIVERYSTREETFROM" width="100" font="LARGE" />
<item itemname="DELIVERYCITYFROM" width="100" font="LARGE" />
</row>
<row>
</row>
<row>
<item itemname="'Mottagare'" width="60" font="LARGEBOLD" />
</row>
<row>
<item itemname="DELIVERYADDRESSTO" width="100" font="LARGE" />
</row>
<row>
<item itemname="DELIVERYSTREETTO" width="100" font="LARGE" />
<item itemname="DELIVERYCITYTO" width="100" font="LARGE" />
</row>
<row>
</row>
<!-- Dimensions -->
<row>
<item itemname="PACKAGES,' kli'" condition="PACKAGES" width="40" font="LARGEBOLD" />
<item itemname="WEIGHT,' kg'" condition="WEIGHT" width="60" font="LARGEBOLD" />
</row>
<row>
<item itemname="VOLUME,' m3'" condition="VOLUME" width="33" font="LARGEBOLD" />
<item itemname="LOADMETER,' flm'" condition="LOADMETER" width="33" font="LARGEBOLD" />
<item itemname="AREA,' ppl'" condition="AREA" width="33" font="LARGEBOLD" />
</row>
<row>
<item itemname="'Tillägg:'" condition="ADDSERVICECOUNT" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="ADDSERVICE.QUANTITY" width="20" />
<item itemname="ADDSERVICE.NAME" width="80" />
</row>
<row>
<item itemname="'Lösaföremål:'" condition="LOOSEITEMCOUNT" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="LOOSEITEM.NAME" width="20" />
<item itemname="LOOSEITEM.STARTINGQUANTITY" width="80" />
<item itemname="LOOSEITEM.ENDINGQUANTITY" width="80" />
</row>
<row>
<item itemname="'Kollin:'" condition="PACKAGECOUNT" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="'A'" condition="PACKAGECOUNT" width="5" />
<item itemname="'KT'" condition="PACKAGECOUNT" width="12" />
<item itemname="'VIKT'" condition="PACKAGECOUNT" width="18" />
<item itemname="'L'" condition="PACKAGECOUNT" width="11" />
<item itemname="'B'" condition="PACKAGECOUNT" width="11" />
<item itemname="'H'" condition="PACKAGECOUNT" width="11" />
<item itemname="'KLI ID'" condition="PACKAGECOUNT" width="32" />
</row>
<row>
<item itemname="PACKAGE.QUANTITY" width="5" />
<item itemname="PACKAGE.PACKAGETYPE" width="12" />
<item itemname="PACKAGE.WEIGHT" width="18" />
<item itemname="PACKAGE.DEPTH" width="11" />
<item itemname="PACKAGE.WIDTH" width="11" />
<item itemname="PACKAGE.HEIGHT" width="11" />
<item itemname="PACKAGE.PACKAGEID" width="32" />
</row>
<row>
<item itemname="'POD:'" condition="PODCOUNT" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="POD.DATE" width="25" />
<item itemname="POD.TIME" width="25" />
<item itemname="POD.NAME" width="50" />
</row>
<row>
<item itemname="'Avvikelser:'" condition="DAMAGECOUNT" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="DAMAGE.TYPE" width="35" />
<item itemname="DAMAGE.COMMENT" width="65" />
</row>
<row>
<item itemname="'Artiklar:'" condition="PRICEITEMCOUNT" width="100" font="LARGEBOLD" />
</row>
<row>
<item itemname="PRICEITEM.UNIT1QUANTITY" width="25" />
<item itemname="PRICEITEM.UNIT1NAME" width="25" />
<item itemname="PRICEITEM.DESCR" width="50" />
</row>
<!-- Message -->
<row>
<item itemname="SENDERINSTRUCTION" width="100" font="LARGE" />
</row>
<row>
<item itemname="DRIVERMESSAGEFROM" width="100" font="LARGE" />
</row>
<row>
<item itemname="DRIVERMESSAGETO" width="100" font="LARGE" />
</row>
<row>
<item itemname="DRIVERMESSAGE" width="100" font="LARGE" />
</row>
</expandedrows>
<podrows>
<row>
<item itemname="CUSTOMER" width="50" />
<item itemname="CUSTOMERLOGOTYPE" width="40" />
</row>
<row>
<item itemname="'$from;',': ',DELIVERYADDRESSFROM"/>
</row>
<row>
<item itemname="'$to;',': ',ADDRESSTO"/>
</row>
<row>
<item itemname="'$package_quantity;',': ',PODPACKAGECOUNT" condition="PODPACKAGECOUNT"/>
</row>
</podrows>
<scanrows>
<row>
<item font="BOLD" itemname="CREDITEDTOOTHERRESOURCEBLOCK"/>
</row>
<row>
<item font="BOLD" itemname="CREDITEDTOOTHERRESOURCEWARNING"/>
</row>
<row>
<item font="BOLD" itemname="CREDITEDTOOTHERRESOURCE"/>
</row>
<row>
<item itemname="STATUS,PACKAGECOUNT"/>
</row>
<row>
<item itemname="PACKAGE.PACKAGEID,' ',PACKAGE.STATUS,' ',PACKAGE.SCANTIME,' ',PACKAGE.RESOURCE,' ',PACKAGE.HUBNAME,' ',PACKAGE.DIMENSIONS" multiline="true"/>
</row>
<row>
<item itemname="ADDRESSINDEXTITLE,ADDRESSINDEX"/>
</row>
<row>
<item itemname="FREIGHTBILLTITLE,FREIGHTBILL"/>
</row>
<row>
<item itemname="PACKAGEIDTITLE,PACKAGEID"/>
</row>
<row>
<item itemname="ADDRESSFROMTITLE,ADDRESSFROM"/>
</row>
<row>
<item itemname="ADDRESSTOTITLE,ADDRESSTO"/>
</row>
</scanrows>
<scandetailrows>
<row>
<item font="BOLD" itemname="CREDITEDTOOTHERRESOURCEBLOCK"/>
</row>
<row>
<item font="BOLD" itemname="CREDITEDTOOTHERRESOURCEWARNING"/>
</row>
<row>
<item font="BOLD" itemname="CREDITEDTOOTHERRESOURCE"/>
</row>
<row>
<item itemname="STATUS,PACKAGECOUNT"/>
</row>
<row>
<item itemname="ORDERIDTITLE,ORDERID"/>
</row>
<row>
<item itemname="FREIGHTBILLTITLE,FREIGHTBILL"/>
</row>
<row>
<item itemname="PACKAGEIDTITLE,PACKAGEID"/>
</row>
<row>
<item itemname="ADDRESSTOTITLE"/>
</row>
<row>
<item itemname="ADDRESSTO"/>
</row>
<row>
<item itemname="STREETTO,STREETNOTO"/>
</row>
<row>
<item itemname="ZIPCODETO,CITYTO"/>
</row>
<row>
<item itemname="ADDRESSFROMTITLE"/>
</row>
<row>
<item itemname="ADDRESSFROM"/>
</row>
<row>
<item itemname="STREETFROM,STREETNOFROM"/>
</row>
<row>
<item itemname="ZIPCODEFROM,CITYFROM"/>
</row>
</scandetailrows>
</design>
</designs>
Avsnittene i App.Design
Hver del av Opter Driver tilsvarer et avsnitt i App.Design. Du kan minimere og utvide avsnittene med og
i editoren. Hvis et av avsnittene ikke er med i din App.Design, brukes en standardvisning.
<summaryrows> = oppdragslistene på fanene Nytt, Å gjøre og Utført.
<expandedrows> = detaljvisning.
<podrows> = POD-visningen.
<scanrows> = skannelisten på fanen Skann.
<scandetailrows> = detaljvisning for skanninger.
Endringer som gjøres i App.Design, lagres når du klikker på Lagre i vinduet Mobildatainnstillinger og blir synlig i appen når sjåførene har logget ut og inn igjen.
Hvis et avsnitt du vil tilpasse, mangler i App.Design, kan du kopiere det fra fabrikkinnstillingene ovenfor og ta utgangspunkt i det i stedet for å begynne på et helt nytt avsnitt.
<summaryrows>, oppdragslistene på fanene Nytt, Å gjøre og Utført
Her stiller du inn hva som skal vises på oppdragene i oppdragslistene. Vilkår, farger og beregninger kan brukes. Du kan ha ulike innstillinger for ulike kunder, biltyper og tjenester.
<expandedrows>, detaljvisning
Her stiller du inn hva som skal vises når sjåføren åpner et oppdrag ved å trykke på det i en av oppdragslistene. Vilkår, farger og beregninger kan brukes. Du kan ha ulike innstillinger for ulike kunder, biltyper og tjenester.
<podrows>, POD-visningen
Her stiller du inn hva som skal vises når mottakeren skal signere leveringsbeviset etter at et oppdrag er losset. Vilkår, farger og beregninger kan brukes. Du kan ha ulike innstillinger for ulike kunder, biltyper og tjenester.
<scanrows>, skannelisten på fanen Skann
Her stiller du inn hva som skal vises i listen når sjåføren har skannet kolli eller fraktbrev. Vilkår, farger og beregninger kan ikke brukes. Mer informasjon er tilgjengelig i Skannelisten i Opter Driver.
<scandetailrows>, detaljvisning for skanninger
Her stiller du inn hva som skal vises når sjåføren åpner en skanning ved å trykke lenge på skanningen i listen og velge Mer informasjon. Vilkår, farger og beregninger kan ikke brukes.
Syntaks
Du tilpasser hvilken informasjon som skal vises for oppdragene, ved å legge til linjer i de ulike avsnittene med taggparet <row></row>. Du kan legge til flere elementer på samme linje.
All informasjon og layout legges i <item>-tagger inni <row>-taggene.
<row>
<item itemname="ORDERDATE" width="50" font="LARGE" />
</row>
<row>
<item itemname="CURRENTSTATUS" font="NORMAL" />
<item itemname="EARLIESTPICKUPTIME" font="NORMAL" />
<item itemname="LATESTDELIVERYTIME" font="NORMAL" />
</row>
Parametere for <item>
Verdiene for alle parametere må stå inni doble rette anførselstegn (") – se kodeeksempelet. Flere verdier for samme parameter avgrenses med kommategn (,).

Tekst og tall som skal vises i appen. Kan være ren tekst eller variabler som henter informasjon fra systemet. Du finner mer informasjon om variabler i Plassholdere i App.Design. Ren tekst må stå inni enkle anførselstegn (mens verdien må stå inni doble anførselstegn).
<item itemname="'Lastas'" />
Hvis du vil skrive komma (,) og punktum (.) i appen, bruker du variablene COMMA og DOT, siden kommategn og punktum brukes til å avgrense ulike verdier i en parameter.
Hvis du for eksempel vil skrive «Lev.info:», gjør du det som i eksempelet nedenfor. Hver del av «Lev.info:» regnes som enkeltverdier og avgrenses derfor med kommategn. Ren tekst må skrives i enkle anførselstegn ('Lev' og 'info:'), mens variabelen DOT ikke trenger anførselstegn. Mellomrommet etter kolonet skal lage et opphold før verdien som hentes av variabelen ADDRESSINFOTO. Til slutt settes hele verdien for itemname (tekststrengen + variabelen) inn i doble anførselstegn.
<row>
<item itemname="'Lev',DOT,'info: ',ADDRESSINFOTO" />
</row>
Returnerer

Kan bare brukes i <expandedrows>, <scanrows> og <scandetailrows>.
«True» = verdien for itemname fortsetter på neste linje i stedet for å deles opp hvis den ikke får plass på en linje.
«False» = verdien for itemname deles opp hvis den ikke får plass på en linje. Hvis du ikke angir en verdi for multiline, regnes den som «False».
I eksempelet nedenfor får ikke informasjonen som hentes ut av variablene, plass på én linje. Derfor er multiline="true" satt. Ellers ville teksten bli kuttet etter «2022-05-18».
<row>
<item itemname="PACKAGE.PACKAGEID,' ',PACKAGE.STATUS,' ',PACKAGE.SCANTIME,' ',PACKAGE.RESOURCE,' ',PACKAGE.HUBNAME,' ',PACKAGE.DIMENSIONS" multiline="true"/>
</row>

Elementenes bredde. Hvis du har flere elementer på en linje, plasseres de etter hverandre. Hvis den samlede bredden overstiger maksbredden på skjermen, vises ikke de delene som ikke får plass. (Se også multiline ovenfor.) Hvis det ikke angis en bredde, brukes hele skjermbredden.
Bredden angis som en del av summen av alle verdier for width på en linje. Hvis summen av alle verdier for width på en linje er 100, og et element har width="5", betyr det at elementet bruker 5 % av linjens totale bredde. Hvis summen av alle verdier for width på en linje er 50, vil et element med width="5" bruke 10 % av linjens totale bredde.
Hvis du vil at det alltid skal være mulig å regne bredden i prosent, må du passe på at summen av alle width på en linje alltid er 100.
Ved å angi samme width for elementene på flere linjer kan du bygge opp en tabell, siden informasjonen på linjene havner rett under hverandre. I eksempelet nedenfor tar kolonneoverskriften «Kolli:» opp hele bredden på den første linjen. (Det er ikke angitt en verdi for width). Den andre linjen er tabellhodet med overskrifter i ren tekst (enkle anførselstegn). Den tredje linjen er verdier som hentes fra systemet. Legg merke til at verdiene for width er like på andre og tredje linje.
Den første kolonnen, «A», er fem enheter bred, mens neste kolonne, «KT», ligger rett til høyre for kolonnen «A» og er tolv enheter bred. Til sammen er hele linjen 100 enheter bred (5+12+18+11+11+11+32), noe som betyr at verdiene for width i praksis er et prosenttall.
<row>
<item itemname="'Kollin:'" font="LARGEBOLD" />
</row>
<row>
<item itemname="'A'" width="5" />
<item itemname="'KT'" width="12" />
<item itemname="'VIKT'" width="18" />
<item itemname="'L'" width="11" />
<item itemname="'B'" width="11" />
<item itemname="'H'" width="11" />
<item itemname="'KLI ID'" width="32" />
</row>
<row>
<item itemname="PACKAGE.QUANTITY" width="5" font="SMALL" />
<item itemname="PACKAGE.PACKAGETYPE" width="12" font="SMALL" />
<item itemname="PACKAGE.WEIGHT" width="18" font="SMALL" />
<item itemname="PACKAGE.DEPTH" width="11" font="SMALL" />
<item itemname="PACKAGE.WIDTH" width="11" font="SMALL" />
<item itemname="PACKAGE.HEIGHT" width="11" font="SMALL" />
<item itemname="PACKAGE.PACKAGEID" width="32" font="SMALL" />
</row>
Returnerer

Forhåndsdefinert størrelse og stil på teksten i appen.
NORMAL: Tegnstørrelse 14. Brukes også hvis font ikke er spesifisert.
LARGE: Tegnstørrelse 20.
BOLD: Fet skrift i normal størrelse (14).
LARGEBOLD: Fet skrift, tegnstørrelse 20.
<summaryrows>
<row>
<item itemname="CURRENTSTATUS" font="LARGE" />
<item itemname="EARLIESTPICKUPTIME" font="LARGEBOLD" />
<item itemname="LATESTDELIVERYTIME" font="LARGEBOLD" />
</row>
<row>
<item itemname="'Lev',DOT,'info: ',ADDRESSINFOTO" condition="ADDRESSINFOTO" />
</row>
<row>
<item itemname="'Hämtn',DOT,'info: ',ADDRESSINFOFROM" condition="ADDRESSINFOFROM" font="NORMAL" />
</row>
<row>
<item itemname="ADDRESSFROM,' / ',STREETFROM,' ',STREETNOFROM,' / ',CITYFROM" width="100" font="BOLD" />
</row>
<row>
<item itemname="ADDRESSTO,' / ',STREETTO,' ',STREETNOTO,' / ',CITYTO" width="100" font="BOLD" />
</row>
</summaryrows>
Koden ovenfor produserer følgende skrifttype:
Linje 3: LARGE
Linje 4 + 5: LARGEBOLD
Linje 8: Ingen verdi for font = NORMAL
Rad 11: NORMAL
Linje 14 + 17: BOLD
Kommentarer
All tekst mellom <!-- og --> i XML-filen vises bare i App.Design og påvirker ikke layouten. Kommentarer vises med grønn tekst i editoren. Teksten i kommentaren <!-- Dimensjoner --> i eksempelet nedenfor er kun ment som informasjon.
<!-- Dimensions -->
<row>
<item itemname="PACKAGES,' kli'" condition="PACKAGES" width="40" font="LARGEBOLD" />
<item itemname="WEIGHT,' kg'" condition="WEIGHT" width="60" font="LARGEBOLD" />
</row>
Hvis du vil tilbakestille grunninnstillingene for et avsnitt, kan du anmerke det ved å plassere det mellom <!-- og --> i stedet for å slette endringene dine. Dermed kan du bruke dem om igjen ved en senere anledning eller bruke dem i et annet avsnitt.