Liste ut barn fra folkeregister

Vi har utvidet søk i folkeregisteret. Ved forsøk på å hente ut barn (=PROFIL["Barn"]) får man et array i retur. Man kan for eksempel vise første barns navn ved hjelp av =PROFIL["Barn"][0]["NAVN"]. og tilsvarende fødselsnummer =PROFIL["Barn"][0]["INR"].

Men vi ønsker å kunne fylle en radioknappliste (eller evt. en nedtrekksmeny) der brukeren skal kunne velge hvilket barn hun ønsker å svare på vegne av. Og dette valgte barnets fødselsnummer ønsker vi til et skjult tekstfelt slik at vi kan bruke det for å legge skjemaet i rett journal senere.

Dette er vanskelig å få til basert på medfølgende dokumentasjonen av A-script. Spesielt vanskelig fordi man ikke kan se bakenforliggende kjørende kode da spørringen mot folkeregisteret ikke vil fungere i forhåndsvisningen. Det er også vanskelig å se hvor mye informasjon som ligger i arrayet ettersom jeg heller ikke finner noen god dokumentasjon på dette.

Alle tips mottas med takk :slight_smile:

Hei Nils. Her er det flere veier til mål, litt avhengig av hvordan du skal bruke dataene videre, men et godt sted å starte er nok å bruke en slik formel i nedtrekkslisten: = grab(PROFIL[“Barn”], “NAVN”).

Denne skal hente ut hvert barn som et eget dataobjekt, og sette verdien “NAVN” som label på objektet. Nedtrekkslisten skal da vise label for hvert objekt, altså barnets navn. Når du så refererer til nedtrekkslisten vil den returnere hele objektet. Du kan da f.eks. ha et tekstfelt “Fødselsår for valgt barn” med formel = Nedtrekk[“Fødselsår”].

Det går an å bruke noe annet enn grab i nedtrekkslisten for å dekke andre behov, for eksempel hvis du ikke er interessert i å få hele dataobjektet for barn med deg videre, men kun navnet. Da burde det være noe i denne gaten:

= var barn = [];
loop(PROFIL[“Barn”]) {barn = barn + val[“NAVN”]};
return barn;

Håper dette er til hjelp. Jeg har ikke testet nøyaktig disse eksemplene, men det burde være riktig fremgangsmåte.

Det var så enkelt ja!
Takker så mye! Dette løste hele problemet :slight_smile:

1 Like

Hei

Er det noen som har tips til hvordan kan man få ut barns fornavn og etternavn som “label” på nedtrekk? “NAVN” gir etternavn på barn som label, mens “NAVNF” gir fornavn på barn som label. Er det noen mulighet for å sette kombinasjon av “NAVNF” og “NAVNS” som label? Har videre forsøkt å få ut barns fødselsnummer, men ikke lykkes. INR er en persons internnummer i folkeregisteret og kan ikke brukes.

Hei Morten.

For å få til dette må du gjøre det litt mer manuelt enn med grab-funksjonen. Det burde gå an å gjøre noe sånt som dette:

= var barn = [];
loop(PROFIL[“Barn”]) {
	var navn = val["NAVNF"] + " " + val["NAVN"];
	barn = barn + navn:val;
};
return barn;

Med dette skal label bli satt som strengen du lager på linjen var navn = …, og så blir verdien bak hele dataobjektet for barn. Da kan du videre få tak i hver enkelt opplysning om valgt barn vha. = Nedtrekk[“NAVN”] osv.

1 Like

Er det mulig å begrense uttrekket til kun å gi barn/ungdom under 18 år eller som man har foreldreansvar til?

Så vidt jeg vet inneholder denne listen i utgangspunktet bare barn som innlogget bruker har foreldrerett for (fordi Interact har et innebygget filter på det). Filter på alder må man derimot lage ved hjelp av Ascript. Det skal være fullt mulig ved å utvide koden over med en if-setning som sjekker alder før den legger barnet til i listen. Jeg har ikke noe konkret kodeeksempel på det på stående fot, men her kan en av konsulentene våre bistå dere hvis dere trenger.

Årsaken til at jeg spurte er at en kollega testet et skjema der vi hadde satt opp dette, og hun fikk opp sin datter på over 18 år og barn under 18 år… Tror vi skal utvide koden med en if-setning.

Vi tester ut hos oss først og tar kontakt med support hvis vi strander.