Senest opdateret: 2024-06-05
App.Design
På App.Design kan du tilpasse layoutet af Opter Driver (classic) til Android.
App.Design bruges til Opter Driver (classic) til Android. (App.Design kan også bruges til de andre varianter af Opter Driver, men så kan man ikke bruge alle de nye funktioner). For oplysninger om, hvordan du tilpasser Opter Driver til iOS og Opter Driver Labs til Android, se Tilpas layout og funktioner i Opter Driver og Indstilling af, hvilke felter der vises i Opter Driver.
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> = missionslisterne på fanerne Ny, Opgaveliste og Udført.
-
<expandedrows> = detaljevisning.
-
<podrows> = POD-visning.
-
<scanrows> = scanningsliste på 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 tjenester..
<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 tjenester..
<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 tjenester..
<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 tilpasser de oplysninger, der vises for opgaverne, ved at tilføje linjer til de forskellige afsnit med tagparret <row></row>. Du kan føje flere elementer til den samme række.
Al information og layout placeres i <item> tags inden for <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 bruge variablerne COMMA og DOT, fordi komma og punktum bruges til at afgrænse forskellige værdier i en 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 almindelige tekst skal skrives i enkle anførselstegn ('Lev' og 'info: '), men variablen DOT behøver ingen anførselstegn. Mellemrummet efter kolon er for at få et mellemrum før den værdi, der hentes af variablen ADDRESSINFOTO. Endelig er hele værdien af itemname (tekststrengen + variablen) omgivet af dobbelte anførselstegn.
<row>
<item itemname="'Lev',DOT,'info: ',ADDRESSINFOTO" />
</row>
Returnerer
Kan kun bruges i <expandedrows>, <scanrows> og <scandetailrows>.
-
"true" = værdien af itemname fortsætter på næste linje i stedet for at blive afkortet, hvis den ikke passer på en linje.
-
"false" = værdien for itemname afkortes, hvis den ikke passer på en linje. Hvis du ikke indtaster en værdi for multiline, vil det blive regnet som "false".
I nedenstående eksempel er der ikke plads til de oplysninger, der hentes af variablerne, på samme linje. Derfor multiline="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 overskrider skærmens maksimale bredde, vises de dele, der ikke passer, ikke (se også multiline ovenfor). Hvis der ikke er angivet en bredde, anvendes hele skærmens bredde.
Bredden angives som en brøkdel af summen af alle værdier på width i en række. Hvis summen af alle værdier for width i en række er 100, og et element har width="5", fylder det element 5 % af rækkens samlede bredde. Hvis summen af alle værdier for width i en række er 50, fylder et element med width="5" 10 % af rækkens samlede bredde.
Hvis du altid vil kunne tælle bredden i procent, skal du sørge for, at summen af alle width i en række altid er 100.
Ved at angive den samme width for elementerne i flere rækker kan man opbygge en tabel, da oplysningerne i rækkerne placeres lige under hinanden. I eksemplet nedenfor fylder kolonneoverskriften "Collin:" 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. Læg mærke til, at værdierne for width er de samme på anden og tredje linje.
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. I alt er hele rækken 100 enheder bred (5+12+18+11+11+11+32), hvilket betyder, at værdierne for width faktisk er en procentdel.
<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. Bruges også, hvis font slet 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
Enhver tekst mellem <!-- og --> i XML-filen vil kun blive vist i App.Design og vil ikke påvirke layoutet. Kommentarer vises med grøn tekst i editoren. Teksten i kommentaren <!-- Dimensions --> i eksemplet nedenfor 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 kommentere det ved at sætte det mellem <!-- og --> i stedet for at slette dine ændringer. Dette tillader dig at bruge dem igen på et senere tidspunkt eller i et andet afsnit.