Senest opdateret: 2024-06-05
Gyldig fra og med: Opter 2023.12.00
App.Design
I App.Design kan du tilpasse layoutet af Opter Driver til Android (classic).
App.Design anvendes for Opter Driver til Android (classic). Du finder flere oplysninger om, hvordan du tilpasser Opter Driver til iOS og Opter Driver Labs til Android, i Tilpas layout og funktioner i Opter Driver og Vælg, hvilke felter der skal vises i Opter Driver til iOS.
Denne artikel beskriver det grundlæggende i og strukturen af App.Design. Du kan finde yderligere oplysninger i specialartiklerne:
Du åbner App.Design i Opters interne editor ved at klikke på Indstillinger > Mobildata > Indstillinger for mobildata og derefter på Rediger ved siden af App.Design. Du bør have et vist grundlæggende kendskab til XML, hvis du vil redigere filen.
Alle andre vinduer i Opter er låste, når Layout på mobile applikationer er åbent, men du kan skifte mellem forskellige vinduer, der allerede er åbne. Hvis du har brug for at se oplysninger i andre vinduer, kan du åbne dem, inden du åbner Layout på mobile applikationer.
I en nyinstallation af Opter ser App.Design således ud.
<?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>
Afsnittene i App.Design
Hver del i Opter Driver svarer til et afsnit i App.Design. Du kan minimere og udvide afsnittene med og
i editoren. Hvis et af afsnittene ikke er med i din App.Design, anvendes en standardvisning.
<summaryrows> = opgavelisterne under fanerne Ny, Opgaveliste og Udført.
<expandedrows> = detaljevisning.
<podrows> = POD-visning.
<scanrows> = scanningslisten under fanen Scan.
<scandetailrows> = detaljevisning for scanninger.
Ændringer, som foretages i App.Design, gemmes, når du klikker på Gem i vinduet Mobildataindstillinger, og vises i appen, når chaufførerne har logget ud og ind igen.
Hvis et afsnit, du ønsker at tilpasse, mangler i App.Design, kan du kopiere afsnittet fra fabriksindstillingerne ovenfor og tage udgangspunkt i det i stedet for at opbygge et afsnit fra bunden.
<summaryrows>, opgavelisterne under fanerne Ny, Opgaveliste og Udført
Her kan du indstille, hvad der skal vises på opgaverne i opgavelisterne. Betingelser, farver og beregninger kan anvendes. Du kan have forskellige indstillinger for forskellige kunder, køretøjstyper og servicetyper .
<expandedrows>, detaljevisning
Her kan du indstille, hvad der skal vises, når chaufføren åbner en opgave ved at trykke på den i en af opgavelisterne. Betingelser, farver og beregninger kan anvendes. Du kan have forskellige indstillinger for forskellige kunder, køretøjstyper og servicetyper .
<podrows>, POD-visning
Her kan du indstille, hvad der skal vises, når modtageren underskriver leveringsbeviset, efter en opgave er blevet leveret. Betingelser, farver og beregninger kan anvendes. Du kan have forskellige indstillinger for forskellige kunder, køretøjstyper og servicetyper .
<scanrows>, scanningslisten under fanen Scan
Her kan du indstille, hvad der skal vises på listen, når chaufføren har scannet kolli eller fragtbreve. Betingelser, farver og beregninger kan ikke anvendes. Du kan finde yderligere oplysninger i Scanningslisten i Opter Driver.
<scandetailrows>, detaljevisning for scanninger
Her kan du indstille, hvad der vises, når chaufføren åbner en scanning, ved at trykke og holde nede på en scanning på listen og vælge Mere information. Betingelser, farver og beregninger kan ikke anvendes.
Syntaks
Du kan tilpasse, hvilke oplysninger der vises for opgaverne, ved at føje rækker til de forskellige afsnit med tagparret <row></row>. Du kan føje flere elementer til den samme række.
Alle oplysninger og layout placeres i <item>-tags i <row>-tags.
<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>
Parametre for <item>
Værdierne for alle parametre skal stå i dobbelte lige anførselstegn (") – se kodeeksemplet. Flere værdier for den samme parameter skal afgrænses med komma (,).

Tekst og tal, der vises i appen. Kan være ren tekst eller variabler, der henter oplysninger fra systemet. Du kan finde flere oplysninger om variabler i Pladsholdere i App.Design. Ren tekst skal stå i enkelte anførselstegn (') (udover at selve værdien skal stå i dobbelte anførselstegn).
<item itemname="'Lastas'" />
Hvis du vil skrive komma (,) og punktum (.) i appen, skal du benytte variablerne COMMA og DOT, da komma og punktum bruges til at afgrænse forskellige værdier inden for et parameter.
Hvis du for eksempel vil indtaste "Lev.info:", skal du følge eksemplet nedenfor. Hver del af "Lev.info:" tæller som en individuel værdi og afgrænses derfor med kommaer. Den rene tekst skal stå i anførselstegn ('Lev' og 'info: '), men variablen DOT behøver ikke anførselstegn. Mellemrummet efter kolonet er til for at lave et mellemrum før den værdi, der hentes af variablen ADDRESSINFOTO. Til slut er hele værdien af itemname (tekststrengen + variablen) omsluttet af dobbelte anførselstegn.
<row>
<item itemname="'Lev',DOT,'info: ',ADDRESSINFOTO" />
</row>
Returnerer

Kan kun anvendes i <expandedrows>, <scanrows> og <scandetailrows>.
"true" = værdien for itemname fortsætter på næste række i stedet for at blive afkortet, hvis der ikke er plads til den på én række.
"false" = værdien for itemname afkortes, hvis der ikke er plads til den på én række. Hvis du ikke angiver nogen værdi for multiline, tæller den som "false".
I nedenstående eksempel er der ikke plads til de oplysninger, der hentes af variablerne, på samme linje. Derfor skal den indstilles tilmultiline="true". Ellers ville teksten blive kappet efter "2022-05-18".
<row>
<item itemname="PACKAGE.PACKAGEID,' ',PACKAGE.STATUS,' ',PACKAGE.SCANTIME,' ',PACKAGE.RESOURCE,' ',PACKAGE.HUBNAME,' ',PACKAGE.DIMENSIONS" multiline="true"/>
</row>

Bredden på elementet. Hvis du har flere elementer på en række, placeres de efter hinanden. Hvis den samlede bredde er større end skærmens maksimale bredde, vil de elementer, der ikke er plads til, ikke blive vist (se også multiline oven for). Hvis der ikke er angivet en bredde, anvendes hele skærmens bredde.
Bredden angives som en del af summen af alle værdier for width på en række. Hvis summen af alle værdier for width på en række er 100, og et element har width="5", fylder dette element 5 % af rækkens samlede bredde. Hvis summen af alle værdier for width på en række er 50, fylder et element med width="5" 10 % af rækkens samlede bredde.
Hvis du ønsker altid at kunne beregne bredden i procent, skal du sørge for, at summen af alle width på en række altid er 100.
Når du angiver samme width for elementer på flere rækker, kan du lave en tabel, fordi oplysningerne i rækkerne ligger direkte under hinanden. I eksemplet nedenfor fylder kolonneoverskriften "Kolli:" hele bredden af den første række (der er ikke angivet nogen værdi for width). Den anden række er tabelhovedet med overskrifter i ren tekst (enkelte anførselstegn). Den tredje række er den værdi, der hentes fra systemet. Bemærk, at værdierne for width er de samme på anden og tredje række.
Den første kolonne, "A", er 5 enheder bred, den næste kolonne, "KT", er direkte til højre for kolonne "A" og er 12 enheder bred. Rækken er i alt 100 enheder bred (5+12+18+11+11+11+32), hvilket betyder, at værdierne for width i praksis er et procenttal.
<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

Foruddefineret størrelse og tekststil i appen.
NORMAL: Skriftstørrelse 14. Anvendes også, hvis font ikke er angivet.
LARGE: Skriftstørrelse 20.
BOLD: Fed skrift i normal størrelse (14).
LARGEBOLD: Fed skrift, skriftstø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>
Ovenstående kode giver følgende skrifttype:
Række 3: LARGE
Række 4+5: LARGEBOLD
Række 8: Ingen værdi for font = NORMAL
Række 11: NORMAL
Række 14+17: BOLD
Kommentarer
Tekst mellem <!-- og --> i XML-filen vises kun i App.Design og påvirker ikke layoutet. Kommentarer vises med grøn tekst i editoren. Teksten i kommentaren <!-- Dimensions --> i nedenstående eksempel er kun til orientering.
<!-- 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 gendanne standardindstillingerne for et afsnit, kan du skjule det ved at sætte det mellem <!-- og --> i stedet for at slette ændringerne. Dette tillader dig at bruge dem igen på et senere tidspunkt eller i et andet afsnit.