AppAPI mahdollistaa järjestelmän metatietojen lataamisen sovelluksesta eri menetelmillä FormEnginessä ja DMViewissä. Se tarjoaa pääsyn erilaisiin datavaavinaimiin, joilla haetaan tiettyjä tietoja sovelluksesta.

Xlsformissa voit käyttää pulldata()-funktiota seuraavalla syntaksilla:

  • 'app-api': Tämä avainsana ilmoittaa FormEnginelle, että data ladataan App API:sta.
  • 'data-key': Tämä on ladattavan datan avain App API:sta.
  • Jos datavain on virheellinen tai sitä ei tueta, laskenta palauttaa “n/a”.

Tässä ovat tuetut datavaimet, joita voit käyttää App-API:n kanssa:

osPlatform: Palauttaa nykyisen käyttöjärjestelmän nimen (Android tai iOS) ja käyttöjärjestelmäversion. Webalustat palauttavat tyhjän arvon.

appPlatform: Palauttaa sovellusalustan nimen, joka on rtSurvey.

appVersion: Palauttaa sovelluksen versionimen.

getDisplayWidth: Palauttaa laitteen näytön leveyden pikseleinä.

getDisplayHeight: Palauttaa laitteen näytön korkeuden pikseleinä.

getScreenSize: Palauttaa laitteen näytön koon tuumina.

projectCode: Palauttaa käyttäjän kirjautumiskohteen nykyisen projektin koodin.

projectURL: Palauttaa käyttäjän kirjautumiskohteen nykyisen projektin URL-osoitteen. Oletusarvo/varavalinta on tyhjä teksti ("").

startingPoint: Palauttaa lomakkeen aloittavan pisteen polun.

serverTime: Palauttaa parhaan saatavilla olevan arvion palvelimen päivämäärästä ja kellonajasta.

user.[attribute]: Palauttaa nykyisen käyttäjän attribuutit määritetyn attribuuttiavaimen perusteella. Katso “Käyttäjäattribuutit”-taulukko käytettävissä olevista attribuuttiavaimista.

Yhdistä alla olevat attribuuttiavaimet “user.” kanssa pulldata()-parametreissa hakiaksesi nykyisen käyttäjän tietoja. Esimerkiksi käytä user.username, user.email jne.

AttribuuttiavainKuvaus
usernameKäyttäjän käyttäjätunnus
nameKäyttäjän koko nimi
staffCodeKäyttäjän henkilöstökoodi
phoneKäyttäjän puhelinnumero
emailKäyttäjän sähköpostiosoite
descriptionKuvailuteksti käyttäjätiedoissa
organization_idOrganisaation tunnus, johon käyttäjä kuuluu
organization_nameOrganisaation nimi, johon käyttäjä kuuluu
team_idTiimin tunnus, johon käyttäjä kuuluu
supervisor_idKäyttäjän esihenkilön tunnus
is_supervisor1 jos käyttäjä on esihenkilö, 0 jos ei

instancePath: Palauttaa nykyisen instanssikansion polun.

appLanguage: Palauttaa sovelluksen nykyisen kielen, joka on asetettu sovelluksen asetuksissa (esim. fi, en).

openArgs.[attribute]: Palauttaa ActionButtonilta (act_fill_form, act_get_instance) välitetyn avoimenlomakkeen argumentin. Oletusarvo/varavalinta on tyhjä teksti ("").

primaryAppColor: Hakee sovelluksen ensisijaisen värin.


Käyttöesimerkkejä

Tallenna luetteloijan käyttäjätunnus ja organisaatio

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

Käytä näitä note-otsikoissa kirjanpitoa varten:

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

Laite- ja näyttötiedot

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

Hyödyllinen vianmääritykseen: vie device_platform ja app_ver yhdessä tietojesi kanssa tunnistamaan, mitä laiteversioita käytettiin kussakin lähetyksessä.

Palvelinaika laitteen ajan sijaan

Laitteiden kellot voivat olla väärin. Käytä serverTime-arvoa luotettavampana aikaleimana:

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

Ehdollinen logiikka käyttäjäroolin perusteella

Näytä vain esihenkilölle tarkoitettu osio vain esihenkilöille:

typenamelabelrelevant
calculateis_supervisorpulldata('app-api', 'user.is_supervisor')
begin_groupsupervisor_sectionEsihenkilön tarkistus${is_supervisor} = '1'
textsupervisor_notesEsihenkilön muistiinpanot
end_group

Välitä argumentteja toimintopainikkeelta

Kun lomake käynnistetään act_fill_form-toimintopainikkeelta mukautetuilla argumenteilla:

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

Toimintopainikkeen on välitettävä argumentit vastaavilla avaimilla (esim. household_id, task_code).

Projektitietojen käyttö

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

Huomiot

  • Kaikki pulldata('app-api', ...)-kutsut arvioidaan lomakkeen avautuessa eikä niitä arvioida uudelleen dynaamisesti istunnon aikana (paitsi serverTime ja now()).
  • Jos avain ei ole tuettu tai data ei ole saatavilla, funktio palauttaa 'n/a' (ei tyhjä merkkijono — testaa != 'n/a'-ehdolla eikä != ''-ehdolla).
  • openArgs-arvot ovat käytettävissä vain, kun lomake käynnistetään toimintopainikkeelta; muutoin ne palauttavat tyhjän merkkijonon.
Oliko tämä sivu hyödyllinen?