AppAPI dozvoljava korisnicima da učitavaju sistemske metapodatke iz aplikacije koristeći različite metode u FormEngine-u i DMView-u. Pruža pristup raznim ključevima podataka za preuzimanje specifičnih informacija iz aplikacije.

U xlsform-u možete koristiti funkciju pulldata() sa sledećom sintaksom:

  • 'app-api': Ova ključna reč informiše FormEngine da učita podatke iz App API-ja.
  • 'data-key': Ovo je ključ podataka koje želite da učitate iz App API-ja.
  • Ako je ključ podataka nevažeći ili nije podržan, proračun će vratiti “n/a”.

Evo podržanih ključeva podataka koje možete koristiti sa App-API-jem:

osPlatform: Vraća naziv trenutnog OS sistema (Android ili iOS) i verziju OS sistema. Veb platforme vraćaju praznu vrednost.

appPlatform: Vraća naziv platforme aplikacije, što je rtSurvey.

appVersion: Vraća naziv verzije aplikacije.

getDisplayWidth: Vraća širinu ekrana uređaja u pikselima.

getDisplayHeight: Vraća visinu ekrana uređaja u pikselima.

getScreenSize: Vraća veličinu ekrana uređaja u inčima.

projectCode: Vraća trenutni kod projekta sajta na koji se korisnik prijavljuje.

projectURL: Vraća trenutni URL projekta sajta na koji se korisnik prijavljuje. Podrazumevana/rezervna vrednost je prazan tekst ("").

startingPoint: Vraća putanju tačke koja pokreće formular. Pogledajte “Početna tačka formulara” za više detalja.

serverTime: Vraća najboljу dostupnu aproksimaciju datuma i vremena na serveru.

user.[attribute]: Vraća atribute trenutnog korisnika zasnovane na specificiranom ključu atributa. Pogledajte tabelu “Atributi korisnika” za dostupne ključeve atributa.

Kombinirajte dolje navedene ključeve atributa sa “user.” u parametrima pulldata() da biste preuzeli informacije o trenutnom korisniku. Na primer, koristite user.username, user.email, itd.

Ključ atributaOpis
usernameKorisničko ime korisnika
namePuno ime korisnika
staffCodeKod osoblja korisnika
phoneBroj telefona korisnika
emailEmail adresa korisnika
descriptionTekst opisa u informacijama korisnika
organization_idID organizacije kojoj korisnik pripada
organization_nameNaziv organizacije kojoj korisnik pripada
team_idID tima kojoj korisnik pripada
supervisor_idID supervizora korisnika
is_supervisor1 ako je korisnik supervizor, 0 ako nije

instancePath: Vraća putanju fascikle trenutne instance.

appLanguage: Vraća trenutni jezik aplikacije postavljen u podešavanjima aplikacije (npr. vi, en).

openArgs.[attribute]: Vraća argument otvorene forme prosleđen od ActionButton-a (act_fill_form, act_get_instance). Podrazumevana/rezervna vrednost je prazan tekst ("").

primaryAppColor: Preuzima primarnu boju aplikacije.


Primeri upotrebe

Čuvanje korisničkog imena i organizacije anketara

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

Koristite ovo u oznakama napomena za svrhe revizije:

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

Informacije o uređaju i ekranu

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

Korisno za rešavanje problema: izvezite device_platform i app_ver zajedno sa podacima da biste identifikovali koja je verzija uređaja korišćena za svako slanje.

Vreme servera umesto vremena uređaja

Satovi uređaja mogu biti pogrešni. Koristite serverTime za pouzdaniju vremensku oznaku:

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

Uslovna logika zasnovana na ulozi korisnika

Prikazujte odeljak samo za supervizore isključivo supervizorima:

typenamelabelrelevant
calculateis_supervisorpulldata('app-api', 'user.is_supervisor')
begin_groupsupervisor_sectionPregled supervizora${is_supervisor} = '1'
textsupervisor_notesNapomene supervizora
end_group

Prosleđivanje argumenata iz dugmeta za akciju

Kada je formular pokrenut iz act_fill_form dugmeta za akciju sa prilagođenim argumentima:

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

Dugme za akciju mora prosleđivati argumente sa odgovarajućim ključevima (npr. household_id, task_code).

Korišćenje informacija o projektu

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

Napomene

  • Svi pozivi pulldata('app-api', ...) se procenjuju kada se formular otvori i ne procenjuju se ponovo dinamički tokom sesije (osim serverTime i now()).
  • Ako ključ nije podržan ili podaci nisu dostupni, funkcija vraća 'n/a' (ne prazan string — testirajte sa != 'n/a' umesto != '').
  • Vrednosti openArgs su dostupne samo kada je formular pokrenut iz dugmeta za akciju; inače vraćaju prazan string.
Da li je ova stranica bila korisna?