AppAPI ļauj lietotājiem ielādēt sistēmas metadatus no lietotnes, izmantojot dažādas metodes FormEngine un DMView. Tas nodrošina piekļuvi dažādām datu atslēgām, lai iegūtu konkrētu informāciju no lietotnes.

XLSForm var izmantot funkciju pulldata() ar šādu sintaksi:

  • 'app-api': Šis atslēgvārds informē FormEngine, ka jāielādē dati no lietotnes API.
  • 'data-key': Šī ir datu atslēga, kuru vēlaties ielādēt no lietotnes API.
  • Ja datu atslēga ir nederīga vai netiek atbalstīta, aprēķins atgriezīs “n/a”.

Šeit ir atbalstītās datu atslēgas, ko var izmantot ar App-API:

osPlatform: Atgriež pašreizējo OS nosaukumu (Android vai iOS) un OS versiju. Tīmekļa platformas atgriezīs tukšu vērtību.

appPlatform: Atgriež lietotnes platformas nosaukumu, kas ir rtSurvey.

appVersion: Atgriež lietotnes versijas nosaukumu.

getDisplayWidth: Atgriež ierīces ekrāna platumu pikseļos.

getDisplayHeight: Atgriež ierīces ekrāna augstumu pikseļos.

getScreenSize: Atgriež ierīces ekrāna izmēru collās.

projectCode: Atgriež pašreizējo projekta kodu vietnē, kurā lietotājs ir pieteicies.

projectURL: Atgriež pašreizējo projekta URL vietnē, kurā lietotājs ir pieteicies. Noklusējuma/rezerves vērtība ir tukšs teksts ("").

startingPoint: Atgriež punkta ceļu, kas sāk formu. Sīkāk skatiet sadaļā “Formas sākumpunkts”.

serverTime: Atgriež labāko pieejamo servera datuma un laika aptuveno vērtību.

user.[attribute]: Atgriež pašreizējos lietotāja atribūtus, pamatojoties uz norādīto atribūta atslēgu. Pieejamās atribūtu atslēgas skatiet tabulā “Lietotāja atribūti”.

Apvienojiet zemāk norādītās atribūtu atslēgas ar “user.” parametros pulldata(), lai iegūtu pašreizējo lietotāja informāciju. Piemēram, izmantojiet user.username, user.email utt.

Atribūta atslēgaApraksts
usernameLietotāja lietotājvārds
nameLietotāja pilns vārds
staffCodeLietotāja personāla kods
phoneLietotāja tālruņa numurs
emailLietotāja e-pasta adrese
descriptionApraksta teksts lietotāja informācijā
organization_idOrganizācijas ID, kurai pieder lietotājs
organization_nameOrganizācijas nosaukums, kurai pieder lietotājs
team_idKomandas ID, kurai pieder lietotājs
supervisor_idLietotāja uzraudzītāja ID
is_supervisor1, ja lietotājs ir uzraudzītājs, 0 ja nē

instancePath: Atgriež pašreizējo instances mapes ceļu.

appLanguage: Atgriež pašreizējo lietotnes valodu, kas iestatīta lietotnes iestatījumos (piem., vi, en).

openArgs.[attribute]: Atgriež no ActionButton (act_fill_form, act_get_instance) padoto formas atvēršanas argumentu. Noklusējuma/rezerves vērtība ir tukšs teksts ("").

primaryAppColor: Izgūst lietotnes primāro krāsu.


Lietojuma piemēri

Enumeratora lietotājvārda un organizācijas saglabāšana

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

Izmantojiet tos piezīmju etiķetēs audita mērķiem:

  note | interviewer_info | Intervētājs: ${enumerator_name} (${enumerator_org})
  

Ierīces un ekrāna informācija

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

Noderīgs problēmu novēršanai: eksportējiet device_platform un app_ver kopā ar datiem, lai identificētu, kura ierīces versija tika izmantota katram iesniegumam.

Servera laiks vietā ierīces laika

Ierīces pulksteņi var būt neprecīzi. Izmantojiet serverTime uzticamākam laika zīmogam:

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

Nosacījuma loģika, pamatojoties uz lietotāja lomu

Rādīt tikai uzraudzītājiem paredzētu sadaļu tikai uzraudzītājiem:

typenamelabelrelevant
calculateis_supervisorpulldata('app-api', 'user.is_supervisor')
begin_groupsupervisor_sectionUzraudzītāja pārskats${is_supervisor} = '1'
textsupervisor_notesUzraudzītāja piezīmes
end_group

Argumentu padošana no darbības pogas

Kad forma tiek palaista no darbības pogas act_fill_form ar pielāgotiem argumentiem:

typenamelabelcalculation
calculatepassed_hh_idpulldata('app-api', 'openArgs.household_id')
calculatepassed_taskpulldata('app-api', 'openArgs.task_code')

Darbības pogai jāpadod argumenti ar atbilstošajām atslēgām (piem., household_id, task_code).

Projekta informācijas izmantošana

typenamelabelcalculation
calculateprojectpulldata('app-api', 'projectCode')
calculateproject_urlpulldata('app-api', 'projectURL')

Piezīmes

  • Visi pulldata('app-api', ...) izsaukumi tiek novērtēti, kad forma tiek atvērta, un sesijas laikā netiek pārvērtēti dinamiski (izņemot serverTime un now()).
  • Ja atslēga netiek atbalstīta vai dati nav pieejami, funkcija atgriež 'n/a' (nevis tukšu virkni — pārbaudiet ar != 'n/a', nevis != '').
  • openArgs vērtības ir pieejamas tikai tad, kad forma tiek palaista no darbības pogas; citādi tās atgriež tukšu virkni.
Vai šī lapa bija noderīga?