Deze custom functie laat je toe om een gestructureerde mededeling te genereren aan de hand van een getal (integer) van maximaal 10 cijfers.
De functie wordt aangeroepen zoals een andere custom fuctie met
=OGMDigit(A1)
Het genereren van het getal kan dmv een standaard sheet formule, zoals deze waarbij de row gebruikt wordt als index naar de volgorde waarin de inschrijving via een formulier is gebeurt.
De onderstaande code moet je toevoegen via
Uitbreiding/Apps Script
/**
* Function OGMDigit(dGetal)
* @param {string} dGetal,10 digit string
* @return {string} OGM string +++123/4567/89002+++
* https://www.gestructureerdemededeling.be/generate
*
*/
function OGMDigit(dGetal) {
if(typeof dGetal === 'number'){
let d= dGetal.toString()
var st=""
for(c=0;c<(10 - d.length);c++){
st=st+"0"
}
var dGetal=st+d
}
// if(typeof dGetal==='number'){
// let d = dGetal.toString()
// let s=""
// for(c=0;10-d.length;c++){
// s=s+"0"
// }
// dGetal=s+d
// }
const iDELER = 97
var sCheckDigit = ""
var sTempOGM = ""
if (dGetal.length != 10) {
throw "Getal moet string van 10 cijfers zijn! Is nu: "+dGetal + "\n"+ "code_error at:"
} else {
let dGetalI = parseInt(dGetal)
sCheckDigit = dGetalI - (parseInt(dGetalI / iDELER) * iDELER)
//bij 0 moet 97 gegeven worden als check.
sCheckDigit==0?sCheckDigit=97:sCheckDigit
let s = sCheckDigit.toString()
//moet twee tekens zijn
s.length == 1 ? s = "0" + s : s
sTempOGM = dGetal + s.substring(s.length - 2, s.length)
var OGM = "+++" + sTempOGM.substring(0, 3) + "/" + sTempOGM.substring(3, 7) + "/" + sTempOGM.substring(7, 12) + "+++"
return OGM
}
}