Sist oppdatert: 2024-06-05
App.Design
På App.Design kan du tilpasse oppsettet til Opter Driver (classic) for Android.
App.Design brukes for Opter Driver (classic) for Android. (App.Design kan også brukes til de andre variantene av Opter Driver, men da kan du ikke bruke all den nye funksjonaliteten). For informasjon om hvordan du tilpasser Opter Driver for iOS og Opter Driver Labs for Android, se Tilpasse layout og funksjoner i Opter Driver og Innstilling av hvilke felt som skal vises i Opter Driver.
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-visning.
-
<scanrows> = skanneliste 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 forskjellige innstillinger for ulike kunder, kjøretøytyper 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 forskjellige innstillinger for ulike kunder, kjøretøytyper 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 forskjellige innstillinger for ulike kunder, kjøretøytyper 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 informasjonen som vises for oppdragene ved å legge til linjer i de ulike seksjonene med taggparet <row></row>. Du kan legge til flere elementer på samme linje.
All informasjon og layout legges inn i <item>-tagger i <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'" />
For å skrive komma (,) og punktum (.) i appen må du bruke variablene COMMA og DOT fordi komma 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. Den rene teksten må skrives i enkle anførselstegn ('Lev' og 'info: '), men variabelen DOT trenger ingen anførselstegn. Mellomrommet etter kolon er for å få et mellomrom før verdien som hentes av variabelen ADDRESSINFOTO. Til slutt er hele verdien av itemname (tekststrengen + variabelen) omgitt av doble anførselstegn.
<row>
<item itemname="'Lev',DOT,'info: ',ADDRESSINFOTO" />
</row>
Returnerer
Kan bare brukes i <expandedrows>, <scanrows> og <scandetailrows>.
-
"true" = verdien av itemname fortsetter på neste linje i stedet for å bli avkortet hvis den ikke får plass på en linje.
-
"false" = verdien for itemname blir avkortet hvis den ikke får plass på en linje. Hvis du ikke angir en verdi for multiline, vil den bli regnet som "false".
I eksempelet nedenfor får ikke informasjonen som hentes ut av variablene, plass på én linje. Derfor multiline="true". 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 totale bredden overskrider skjermens maksimale bredde, vises ikke de delene som ikke passer inn (se også multiline ovenfor). Hvis det ikke angis en bredde, brukes hele skjermbredden.
Bredden oppgis som en brøkdel av summen av alle verdiene på width i en rad. Hvis summen av alle verdiene for width i en rad er 100, og ett element har width="5", tar dette elementet opp 5 % av den totale bredden på raden. Hvis summen av alle verdiene på width i en rad er 50, vil et element med width="5" ta opp 10 % av den totale bredden på raden.
Hvis du alltid vil kunne telle bredden i prosent, må du sørge for at summen av alle width i en rad alltid er 100.
Ved å angi samme width for elementene i flere rader kan du bygge opp en tabell ved at informasjonen i radene plasseres rett under hverandre. I eksempelet nedenfor tar kolonneoverskriften "Collin:" opp hele bredden på den første raden (det er ikke angitt noen 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 de samme på den andre og tredje linjen.
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. Totalt er hele raden 100 enheter bred (5+12+18+11+11+11+11+32), noe som betyr at verdiene for width i praksis er en prosentandel.
<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 i det hele tatt.
-
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:
-
Rad 3: LARGE
-
Rad 4 + 5: LARGEBOLD
-
Linje 8: Ingen verdi for font = =. NORMAL
-
Rad 11: NORMAL
-
Rad 14 + 17: BOLD
Kommentarer
Eventuell tekst mellom <!-- og --> i XML-filen vil bare vises i App.Design og vil ikke påvirke oppsettet. Kommentarer vises med grønn tekst i editoren. Kommentarteksten <!-- Dimensions --> 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 gjenopprette standardinnstillingene for en seksjon, kan du kommentere den ved å sette den 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.