Jeg har ofte bruk for kode som kan hente ut informasjon og fylle en dropdownliste.
Eksempel høringer:
Skjema hvor man velger tittel på høring. En høring har høringsfrist. Tittel og frist for høring registeres i tabell under “Datakilder”.
Hvis dato har passert skal ikke valget være tilgjengelig i dropdownlisten.
Det kunne være sådan her. Det kan ske at Høringsfrestdato fra tabellen skal ind i en var som date hvis ikke det er det rigtige date format i datasourcen:
var DSList = datatabeller.høringsfrist;
var DSHøringsfrest = ;
loop(DSList) {
if (now() < val["Høringsfrestdato]) {
DSHøringsfrest += val[“HøringsTitel”] + ", " + val[“Høringsfrestdato”]:val;
}
};
return DSHøringsfrest;
Vi har påmelding til feriope SFO, og da skal det bare være muleg å melde seg på dersom det er meir enn 28 dager til denne starter.
Du kan modifisere dette scriptet slik at det passer for høyringsuttaler og din frist, men i vårt tilfelle er det brukt sjekkboks, og ikkje nedtrekksliste. Faren er at ein kan hake av for fleire, men du kan sikkert gjøre det om til radioknapp eller nedtrekksliste. Lykke til
Aktuelle ferier er angitt i datakilde “Skulerute”
var ferier = datatabeller.Skulerute;
//lager en tom liste som skal fylles med feriene som kan søke på
var muligeFerier = ;
//lager en variabel som er 28 dager frem i tid fra dagens dato
var dagensDatoPluss28Dager = now() + date(0,0,28);
//leter gjennom datakilden
loop (ferier) {
//endrer formatet på startdatoene fra dataikilden
var dato = date(substr(val[“Startdato”], 6, 4), substr(val[“Startdato”], 3, 2), substr(val[“Startdato”], 0, 2));
//dersom det er mer eller akkurat 28 dager til ferien starter
if (dato >= dagensDatoPluss28Dager) {
//så skal ferien legges til i listen over ferier det er mulig å søke på
muligeFerier += val[“Navn”];
};
};
//returnerer listen over ferier det er mulig å søke på
return muligeFerier;
Har kontoet og forsket. Har du mulighet til å sende ditt skjema i .xml-format, slik at jeg kan se koden i praksis i Interact?
Vil tro det er enkelt, men jeg har for lite erfaring med scripting.
//Henter tabell Høringer Bokstaven Ø/ø er byttet ut med bokstaven O/o alle steder.
var ListeHoringer = datatabeller.Horinger;
//Variabel som skal fylles med aktive høringer. Settes til tom.
var VelgHoring =“”;
//Finne dagens dato
var DagensDato = now();
//Loop for å gå gjennom alle forekomster i tabellen Høringer
loop (ListeHoringer) {
//endrer formatet på startdatoene fra datakilden og lagrer i variabelen “dato”
// Fra åååå.mm.dd til dd.mm.åååå
var dato = date(substr(val[“DatoFrist”], 6, 4), substr(val[“DatoFrist”], 3, 2), substr(val["DatoFrist’], 0, 2));
//Sjekk. Hvis datoen i variabelen “dato” er større eller lik dagens dato.
If (dato >=DagensDato) {
//Hvis sann, en liste med gyldige høringer legges inni variabelen “VelgHoring”
VelgHoring +=val[“SaksTittel”];
};
};
//Vise liste med aktive høringer
return VelgHoring;
Systematisk gjennomgang av koden i editoren:
Koden får feilmelding i linje 19 (se vedlagte bilde), der hvor loop starter.
Det kan jeg godt.
Det løser likevel ikke at koden stopper allerede ved start av loop på linje 19. Det virker som at variabelen “ListeHoringer” er gyldig.
Der er en fejl i linien var dato = date(substr(val[“DatoFrist”], 6, 4), substr(val[“DatoFrist”], 3, 2), substr(val["DatoFrist’], 0, 2));
Du har et ’ som skal være " i den sidste Datofrist, måske det er det som er fejlen