Behov for innsendt tidspunkt i XML-avlevering

Vi har behov for å få med oss tidspunkt for når skjema er innsendt i XML (avlevering til egendefinert fil). En mulig løsning kan muligens være å lage et skjult felt i skjema som inneholder now(), men det vil vel ikke gi tidspunkt for innsending, men for påbegynt utfylling. Dessuten gir vel now() kun dato og ikke klokkeslett (som er viktig her). Noen tips til løsning?

Du kan benytte et et API til dette. Du kan f.eks. bruke dette: https://webapi.no/api/v1/calendar/now og få det du trenger. Forsøk det og gi en lyd og gjerne et skjermbilde når du har fått det til :slight_smile:

sjekk forresten ut Helge sitt innlegg som også viser til dette API’et i dette emnet: Åpne APIer (Webservicer) som du kan benytte i Interact

Dette API’et har maaaange nyttige tjenester som kan benyttes. Bare sjekk her! https://webapi.no/api/swagger/index.html

1 Like

Takk for raskt svar! Denne vil jo også bare gi tidspunkt for påbegynt utfylling (eller underveis), ikke nøyaktig tidspunkt for innsending. Men det kan tenkes dette er godt nok. Jeg tester :slight_smile:

Det stemmer. Det er ikke tilgjengelig noe timestamp for innsending annet enn i pdf’en som sendes inn.

Men du kan forsøke å kjøre servicen som en knapp i stedt på slutten av skjemaet. Det gir heller ingen garanti, men det blir “nærmeste” tidspunkt

God ide!
Ser at det i brukerdokumentasjonen står at JSON ikke støttes. Gjelder dette fremdeles? Så vidt jeg kan se er det en JSON som returneres.

Dette er feil i dokumentasjonen. Dette må vi fikse. Json støttes fullt ut i REST-API.

Jeg har selv testet now-funksjonen til webapi, og det går fint an å lese dataene. Kanskje litt knot å få hentet ut alle variabler fra arrayet, men det er fullt mulig.

2 Likes

Hehe, godt å høre Helge!
Kodeeksempler mottas med stort takk! Knot tar tid…

1 Like

Jeg tror jeg fikk det til på egenhånd. Mulig dette ble litt tungvindt, så gi gjerne en kommentar om det kan gjøres enklere.

Jeg definerte først WS’en:

Funksjonen definerte jeg slik:

Deretter dro jeg WS’en inn i skjemaet, samt en Funksjonsmodul og et skjult tekstfelt som kun har verdien = Funksjon.

I Funksjonen la jeg inn denne koden:

 var tid = timestamp[0];
 var data = tid["data"];
 var DatoTid = data["day"] + "." + data["month"] + "." + data["year"] + " - " + data["hour"]+":"+data["minute"];
 return DatoTid;

Når dette kjøres, vises dato og klokkeslett i tekstfeltet:

Denne kan jeg videre mappe inn i XML’en min.

Som et endringsønske til fremtidig versjon kan jeg ønske meg at denne informasjonen er tilgjengelig for bruk direkte fra løsningen, for tidspunktet er jo tilgjengelig i PDF’en.

Takk for god hjelp til å guide meg i rett retning :slight_smile:

2 Likes

Dette ser ganske bra ut det :-).

Utvidelse:
Ser raskt at behovet for å bruke to siffer i dag, måned, time og minutt. Nytt Ascript blir dermed:

 var tid = timestamp[0];
 var data = tid["data"];
 var minute = data["minute"];
 var hour = data["hour"];
 var day = data["day"];
 var month = data["month"];
 if(minute < 10){minute = "0" +""+ minute};
 if(hour < 10){hour = "0" +""+ hour};
 if(day < 10){day = "0" +""+ day};
 if(month < 10){month = "0" +""+ month};
 var DatoTid = day + "." + month + "." + data["year"] + " - " + hour+":"+minute;
 return DatoTid;

To fnutter mellom null og variabel benyttes for å tvinge Ascript til å konkatenere som strenger (beskrevet i brukerdok’en): https://dok.acos.no/SkjemaDesigner/online/Content/AScript/Tall_matematikk.htm?tocpath=Avansert%20programmering%20i%20Interact|_____7

4 Likes

Det kommer trolig en utvidelse av Interact med egen scriptfunksjon for å hente tidspunkt etter hvert, sannsynligvis tidlig i 2020.

2 Likes

Ny scriptfunksjon for dato og tidspunkt er nå ferdigstilt i utviklingsmiljøet vårt. Det kommer ut i versjon 2.27 av Interact, trolig i februar/mars.

2 Likes