Adding Timeslots to datastore

From SMTX Wiki
Jump to navigation Jump to search

This script creates time slots in a datastore on a given date between 2 given hours with a given number of minutes between the slots.

//var FORMFIELD_DATUM = #1#; //formatted as YYYYMMDD
//var FORMFIELD_TIJDSTIPVAN = #2#;
//var FORMFIELD_TIJDSTIPTOT = #3#;
//var FORMFIELD_DUUR = #4#-0;
var FORMFIELD_DATUM = #REPLACE-FORMFIELD-Datum%yyyyMMdd#; //formatted as YYYYMMDD
var FORMFIELD_TIJDSTIPVAN = #REPLACE-FORMFIELD-Starttijd||Tijdstip#;
var FORMFIELD_TIJDSTIPTOT = #REPLACE-FORMFIELD-Eindtijd||Tijdstip#;
var FORMFIELD_DUUR = #REPLACE-FORMFIELD-LengteTijdsblokken||Code#-0;

var runningDate = new Date();
runningDate.setFullYear(FORMFIELD_DATUM.substring(0,4));
runningDate.setMonth(FORMFIELD_DATUM.substring(4,6)-1);
runningDate.setDate(FORMFIELD_DATUM.substring(6,8));
runningDate.setHours(FORMFIELD_TIJDSTIPVAN.substring(0,2), FORMFIELD_TIJDSTIPVAN.substring(3,5),0,0);
var endDate = new Date();
endDate.setFullYear(FORMFIELD_DATUM.substring(0,4));
endDate.setMonth(FORMFIELD_DATUM.substring(4,6)-1);
endDate.setDate(FORMFIELD_DATUM.substring(6,8));
endDate.setHours(FORMFIELD_TIJDSTIPTOT.substring(0,2), FORMFIELD_TIJDSTIPTOT.substring(3,5),0,0);
var entriesAdded = 0;
var entryDateFrom = null;
var entryDateTo = null;
var werkDatumMaand = '0' + runningDate.getMonth()+1;
werkDatumMaand = werkDatumMaand.substring(0,2);

//Maak datum leeg
CommonInterface.deleteParameterEntries('RDW - Terugbel - tijdstippen', { 'Datum': FORMFIELD_DATUM });

while (runningDate < endDate && entriesAdded < 1000) {
   CommonInterface.addParameterEntry('RDW - Terugbel - tijdstippen', { 'Datum': FORMFIELD_DATUM, 'Tijdstip': runningDate.getHours().toString().padStart(2, '0')+":"+ runningDate.getMinutes().toString().padStart(2, '0'), 'Status': 'Open', 'DatumddMMyyyy': runningDate.getDate().toString().padStart(2, '0')+"/"+String(runningDate.getMonth()+1).toString().padStart(2, '0')+"/"+runningDate.getFullYear().toString().padStart(4, '0')});
   runningDate.setMinutes(runningDate.getMinutes() + FORMFIELD_DUUR);
   
   entriesAdded++;
}

return('Entries added: '+entriesAdded);