Hente data fra bakke

Sist endret

June 29, 2026

Denne kapitlet beskriver hvordan man kan bruke dapla-suv-tools pakken for å hente utvalg, enhetsinformasjon, delregister og vareliste fra SFU i Dapla-miljøet. I tillegg finnes det funksjonalitet for å hente prefill fra ISEE.

Det finnes fortsatt avhengigheter til bakkesystemene for å kunne kjøre et fullstendig produksjonsløp på Dapla. SU-V har laget integrasjoner mellom bakke- og skyløsninger der det er behov for dette. Administrasjon av utvalg og enheter skjer fortsatt fra SFU på bakke.

Forberedelser

For å kunne hente enhetsinformasjon fra SFU må brukeren din ha tilgang til delregisteret i riktig miljø (DB1T/DB1P). Ta kontakt med Kundeservice dersom du opplever problemer med tilganger.

I tillegg må dapla-suv-tools være installert i en tjeneste på Dapla Lab:

terminal
poetry add dapla-suv-tools

Funksjonalitet

Under finner du eksempler på funksjonalitet som tilbys i dapla-suv-tools for å jobbe med SFU fra Dapla Lab.

Hente utvalg fra SFU

For å hente utvalg fra SFU, bruk metoden get_utvalg_from_sfu i SuvClient. Sørg for at du oppgir riktig delregisternummer og RA-nummer for utvalget.

notebook
client = SuvClient()

response = client.get_utvalg_from_sfu(
    delreg_nr=49430224,
    ra_nummer='RA-0666A3'
)

print(json.dumps(response, indent=4))

Disse parameterne kan brukes for å filtrere resultatet ytterligere:

Parameter Type Beskrivelse
pulje string Filtrer på én eller flere puljer. Angi puljenummer som kommaseparert streng, f.eks. “1” eller “1,2”. Verdien “0” brukes for å hente enheter uten pulje. “0” kan ikke kombineres med andre puljer. Dersom parameteren ikke oppgis, returneres hele utvalget uavhengig av pulje.
status string Hent spesifikk status. Mulige verdier er “besvart”, “ikke-besvart”, “alle”
max_results int Maks antall resultater som returneres
pagination_info object Pagineringsinformasjon

Eksempel:

response = client.get_utvalg_from_sfu(
    delreg_nr=49430224,
    ra_nummer='RA-0666A3',
    pulje='2',
    status='ikke-besvart',
    max_results=200,
    pagination_info=p_info
)

print(json.dumps(response, indent=4))
Verdi for pulje Resultat
"1" Hent kun pulje 1
"1,2" Hent pulje 1 og 2
"0" Hent kun enheter uten pulje
(ikke oppgitt) Hent hele utvalget uavhengig av pulje

Merk: Verdien “0” kan ikke kombineres med andre puljer. For eksempel er “0,1” ikke gyldig.

{
    "delreg_nr": 49430224,
    "ident_nr": "A3TF0001",
    "orgnr": "123456789",
    "enhets_type": "FRTK",
    "reportee_ident_nr": "A3TF0001",
    "reportee_orgnr": "123456789",
    "reportee_enhets_type": "FRTK",
    "foretak": "A3TF0001",
    "orgnr_foretak": "123456789",
    "flv": "0",
    "navn1": "Foretaket",
    "navn2": null,
    "avdeling": null,
    "f_adresse1": "Testvegen 1",
    "f_adresse2": null,
    "f_adresse3": null,
    "f_postnr": "0001",
    "f_poststed": "OSLO",
    "maalform": null,
    "kontaktperson": "Ola Nordmann",
    "kont_telefon": "12121212",
    "kont_mobiltlf": null,
    "kont_epost": "test@test.ssb",
    "h_var1_n": null,
    "h_var2_n": null,
    "h_var3_n": null,
    "h_var1_a": null,
    "h_var2_a": "1",
    "h_var3_a": null,
    "utvalgsstatus": null,
    "pulje_nr": 1,
    "vedtak_tvmulkt": "N",
    "sendt_si": "N",
    "status": null,
    "org_form": null,
    "sn07_1": "46.422",
    "str_kode": null,
    "viktig_enhet": null,
    "kommentar_int": null,
    "kommentar_ekst": null,
    "test_pulje": null,
    "skjema_type": "RA-0666A3",
    "dato_innkvittering": "2025-12-29T11:51:18.000",
    "kvitt_type": "K",
    "kvitt_format": "A",
    "kvitt_undertype": null,
    "kvitt_nivaa": "F",
    "sn2025_1": "46.422",
    "sektor_2014": "6100",
    "f_kommunenr": "0301"
}

Hente enhetsinformasjon fra SFU

For å hente enhetsinformajon fra SFU, bruk metoden get_enhet_from_sfu i SuvClient. Sørg for at du oppgir riktig delregisternummer og organisasjonsnummer.

notebook
client = SuvClient()

response = client.get_enhet_from_sfu(
    delreg_nr=49430224,
    orgnr='123456789' 
)

print(json.dumps(response, indent=4))

Hente delregister fra SFU

For å hente delregister fra SFU, bruk metoden get_delreg_from_sfu i SuvClient. Sørg for at du oppgir riktig delregisternummer. Metoden vil returnere alle enheter i angitt delregister.

notebook
client = SuvClient()

response = client.get_delreg_from_sfu(
    delreg_nr=49430224    
)

print(json.dumps(response, indent=4))

Disse parameterne kan brukes for å filtrere resultatet ytterligere:

Parameter Type Beskrivelse
enhets_type str Hent spesifikk enhetstype
max_results int Maks antall resultater som returneres
pagination_info object Pagineringsinformasjon

Eksempel:

response = client.get_delreg_from_sfu(
    delreg_nr=49430224,
    enhets_type='FRTK',
    max_results=200,
    pagination_info=p_info
)

print(json.dumps(response, indent=4))

Hente vareliste fra SFU

For å hente vareliste fra SFU, bruk metoden get_vareliste i SuvClient. Sørg for at du oppgir riktig delregisternummer og RA-nummer.

notebook
client = SuvClient()

response = client.get_vareliste(
    delreg_nr=769523,
    ra_nummer="RA-0830A3" 
)

print(json.dumps(response, indent=4))
{
    "delreg_nr": 769523,
    "ident_nr": "A3TF0001",
    "enhets_type": "FRTK",
    "skjema_type": "RA-0830A3",
    "katalog_id": 81,
    "felt": "ORGNR",
    "rad_nr": 1,
    "felt_verdi": "900000001",
    "aktiv": "Y",
    "endret_av": "ABC",
    "endret_dato": null
}

Disse parameterne kan brukes for å filtrere resultatet ytterligere:

Parameter Type Beskrivelse
ident_nr str Hent spesifikk enhet
enhets_type str Hent spesifikk enhetstype
katalog_id str Hent bare spesifikk katalog
aktiv str Hent spesifikk aktiv status
felt_ids list[str] Hent bare spesifikke felt
max_results int Maks antall resultater som returneres
pagination_info object Pagineringsinformasjon

Eksempel:

response = client.get_vareliste(
    delreg_nr=769523,
    ra_nummer="RA-0830A3",
    ident_nr="A3TF0001",
    enhets_type="FRTK",
    katalog_id=81,
    aktiv='Y',
    felt_ids=["ORGNR", "NAVN"],
    max_results=100,
    pagination_info=p_info
)

print(json.dumps(response, indent=4))

Prefill fra ISEE

Generere prefill

For å generere prefill fra ISEE brukes metoden initialize_prefill_isee i SuvClient. Metoden oppretter en jobb som genererer prefill-data og lagrer resultatet i DYNAREV.VW_PRE_SKJEMA_DATA. Sørg for at du oppgir riktig delregisternummer og RA-nummer.

notebook
client = SuvClient()

response = client.initialize_prefill_isee(
    delreg_nr=190125,
    ra_nummer="RA-0484A3" 
)

print(json.dumps(response, indent=4))

Hente generert prefill

Når genereringen er fullført kan prefill hentes med metoden fetch_prefill_isee i SuvClient. Sørg for at du oppgir riktig delregisternummer og RA-nummer.

Som standard returneres kun prefill-data som er generert de siste 24 timene. Dersom dataene er eldre må enten prefill genereres på nytt, eller parameteren max_age_minutes overstyres.

Standardverdi for max_age_minutes er 1440 minutter (24 timer).

notebook
client = SuvClient()

response = client.fetch_prefill_isee(
    delreg_nr=190125,
    ra_nummer="RA-0484A3" 
)

print(json.dumps(response, indent=4))
{
    "delreg_nr": 190125,
    "enhets_id": "ATB1149185",
    "skjema": "RA-0484A3",
    "lopenr": 3,
    "felt_id": "BESKRIVELSE",
    "felt_verdi": "Corona",
    "kilde": "DYNAREV",
    "endret_dato": "2025-11-07T09:35:42.000",
    "endret_av": "SUV_ORDS",
    "enhets_type": "BEDR",
    "rad_nr": 1,
    "for_kilde": "DEFAULT",
    "nokkel_verdier": null
}

Disse parameterne kan brukes for å filtrere resultatet ytterligere:

Parameter Type Beskrivelse
max_age_minutes int Maks alder på prefill-data i minutter. Standard er 1440 (24 timer)
ident_nr str Hent spesifikk enhet
enhets_type str Hent spesifikk enhetstype
felt_ids list[str] Hent bare spesifikke felt
max_results int Maks antall resultater som returneres
pagination_info object Pagineringsinformasjon

Eksempel:

response = client.fetch_prefill_isee(
    delreg_nr=190125,
    ra_nummer="RA-0484A3",
    max_age_minutes=2880,
    ident_nr="ATB1149212",
    enhets_type="BEDR",
    felt_ids=["VARENAVN", "VARENR"],
    max_results=200,
    pagination_info=p_info
)

print(json.dumps(response, indent=4))