AppAPI giver brugere mulighed for at indlæse systemmetadata fra appen ved hjælp af forskellige metoder i FormEngine og DMView. Det giver adgang til forskellige datanøgler til hentning af specifik information fra appen.

I XLSForm kan du bruge funktionen pulldata() med følgende syntaks:

  • 'app-api': Dette nøgleord informerer FormEngine om at indlæse data fra App API.
  • 'data-key': Dette er nøglen til de data, du vil indlæse fra App API.
  • Hvis datanøglen er ugyldig eller ikke understøttet, returnerer beregningen “n/a”.

Her er de understøttede datanøgler, du kan bruge med App-API:

osPlatform: Returnerer det aktuelle OS-navn (Android eller iOS) og OS-versionen. Webplatforme returnerer en tom værdi.

appPlatform: Returnerer appplatformnavnet, som er rtSurvey.

appVersion: Returnerer appens versionsnavn.

getDisplayWidth: Returnerer enhedsskærmens bredde i pixels.

getDisplayHeight: Returnerer enhedsskærmens højde i pixels.

getScreenSize: Returnerer enhedsskærmens størrelse i tommer.

projectCode: Returnerer den aktuelle projektkode for det websted, brugeren logger ind på.

projectURL: Returnerer den aktuelle projekt-URL for det websted, brugeren logger ind på. Standardfaldet er en tom tekst ("").

startingPoint: Returnerer stien til det punkt, der starter formularen.

serverTime: Returnerer den bedst tilgængelige tilnærmelse af dato og klokkeslæt på serveren.

user.[attribute]: Returnerer de aktuelle brugerattributter baseret på den angivne attributnøgle.

Kombiner nedenstående attributnøgler med “user.” i pulldata()-parametrene for at hente aktuelle brugeroplysninger. For eksempel user.username, user.email osv.

AttributnøgleBeskrivelse
usernameBrugerens brugernavn
nameBrugerens fulde navn
staffCodeBrugerens medarbejderkode
phoneBrugerens telefonnummer
emailBrugerens e-mailadresse
descriptionBeskrivelsestekst i brugeroplysninger
organization_idOrganisations-ID, som brugeren tilhører
organization_nameOrganisationsnavn, som brugeren tilhører
team_idHold-ID, som brugeren tilhører
supervisor_idID for brugerens supervisor
is_supervisor1 hvis brugeren er supervisor, 0 hvis ikke

instancePath: Returnerer den aktuelle instansmappesti.

appLanguage: Returnerer det aktuelle appsprog angivet i appens indstillinger (f.eks. da, en).

openArgs.[attribute]: Returnerer det åbne-formular-argument sendt fra ActionButton. Standardfaldet er en tom tekst ("").

primaryAppColor: Henter appens primærfarve.


Brugseksempler

Gem interviewerens brugernavn og organisation

typenamelabelcalculation
calculateenumerator_namepulldata('app-api', 'user.name')
calculateenumerator_orgpulldata('app-api', 'user.organization_name')
calculateenumerator_emailpulldata('app-api', 'user.email')

Brug disse i note-labels til revisionsformål:

  note | interviewer_info | Interviewer: ${enumerator_name} (${enumerator_org})
  

Enhed og skærminfo

typenamelabelcalculation
calculatedevice_platformpulldata('app-api', 'osPlatform')
calculateapp_verpulldata('app-api', 'appVersion')
calculatescreen_wpulldata('app-api', 'getDisplayWidth')

Servertid i stedet for enhedstid

typenamelabelcalculation
calculateserver_tspulldata('app-api', 'serverTime')

Betinget logik baseret på brugerrolle

Vis en supervisor-eksklusiv sektion kun til supervisorer:

typenamelabelrelevant
calculateis_supervisorpulldata('app-api', 'user.is_supervisor')
begin_groupsupervisor_sectionSupervisorgennemgang${is_supervisor} = '1'
textsupervisor_notesSupervisornoter
end_group

Noter

  • Alle pulldata('app-api', ...)-kald evalueres, når formularen åbnes, og genevalueres ikke dynamisk under sessionen (undtagen serverTime og now()).
  • Hvis en nøgle er ustøttet eller data er utilgængelige, returnerer funktionen 'n/a' (ikke tom streng – test med != 'n/a' frem for != '').
  • openArgs-værdier er kun tilgængelige, når formularen startes fra en handlingsknap; de returnerer ellers en tom streng.
Var denne side nyttig?