// last execution: Fri Feb 06 2026 09:50:10 GMT+0100 (Midden-Europese standaardtijd) $par_nascholings_jaar=2025; logAdd(log); $year = $par_nascholings_jaar; $list_name = string\concatenate('Na te scholen - ', $year); $entities = Entity\GetMany('TargetList', 1, 'name', 'asc', 'name=', $list_name); $n = array\length($entities); ifThenElse($n == 0, logAdd(log, 'warning', 'Geen distributielijst met naam: "', $list_name, '", maak deze eerst aan!'); , logAdd(log, 'info', 'Distributielijst 'Na te scholen' aanwezig, leden worden vervangen...'); $doellijst = array\at($entities, 0); $id = attr($doellijst, 'id'); logAdd(log, 'info', 'Leegmaken distributielijst...'); $rows = record\fetchRelatedManyHash('TargetList', $id, 'contacts', 'id, lastName, regiocode', 'lastName', 'asc' ); $n = array\length($rows); logAdd(log, 'info', 'Aantal gerelateerde leden: ', $n); $i = 0; $rcnt = 0; while($i < $n, $row = array\at($rows, $i); $contact_id = hash\get($row, 'id'); record\unrelate('TargetList', $id, 'contacts', $contact_id); $rcnt = $rcnt + 1; $i = $i + 1; ); logAdd(log, 'info', 'Relateren leden met regiocode < 30 en nascholingen = 0 en niet dispensatie en niet geregistreerd in het opgegeven jaar'); $rows = record\fetchManyHash('Contact', 'id, lidnummer, lastName, regiocode, dispensatie, datumRegistratie', 'lastName', 'asc'); $n = array\length($rows); logAdd(log, 'info', 'Aantal leden om te beoordelen: ', $n); $i = 0; $cnt = 0; $hom_cnt = 0; while($i < $n, $row = array\at($rows, $i); $code = hash\get($row, 'regiocode') + 0; ifThen($code < 8 || $code == 10, $datum_registratie = hash\get($row, 'datumRegistratie'); $jaar_reg = datetime\year($datum_registratie); $dispensatie = hash\get($row, 'dispensatie'); $lastname = hash\get($row, 'lastName'); $lidnummer = hash\get($row, 'lidnummer'); $niet = ($jaar_reg >= $year) || $dispensatie; logAdd(log, 'info', 'lid ', $lidnummer, ' (', $lastname, '): jaar_reg=', $datum_registratie, ', dispensatie = ', $dispensatie, ' registratiejaar = ', $jaar_reg); ifThenElse($niet, logAdd(log, 'info', 'lid ', $lastname, ': dispensatie = ', $dispensatie, ' registratiejaar = ', $jaar_reg); , $hom_cnt = $hom_cnt + 1; $contact_id = hash\get($row, 'id'); // Opvoeren lid als deze voor de nascholingstotalen op 0 zit en // niet is aangegeven dat hij/zij geen nascholingen heeft gevolgd $t_rows = record\fetchManyHash('Nascholingstotaal', 'contactId, dagenHomeopathie, dagenMedisch, dagen, geenNascholingGevolgd', 'jaar', 'asc', 'jaar=', $year, 'contactId=', $contact_id ); $t_rows_n = array\length($t_rows); ifThenElse($t_rows_n == 0, logAdd(log, 'error', 'Geen nascholingstotaal voor contact ', $lastname); , ifThenElse($t_rows_n > 1, logAdd(log, 'error', 'Onverwacht! aantal records nascholingstotaal > 1 voor ', $lastname); , $t_row = array\at($t_rows, 0); $dagenHomeopathie = hash\get($t_row, 'dagenHomeopathie'); $dagenMedisch = hash\get($t_row, 'dagenMedisch'); $dagenOverig = hash\get($t_row, 'dagen'); $geen = hash\get($t_row, 'geenNascholingGevolgd'); ifThenElse($geen, $geen=1;, $geen=0); $tot = $dagenHomeopathie + $dagenMedisch + $dagenOverig + $geen; ifThenElse($geen == 0, $nv = "niet aangevinkt", $nv = "wel aangevinkt"); logAdd(log, 'info', $lidnummer, ': homeopathie=', $dagenHomeopathie, ', medisch=', $dagenMedisch, ', overig=', $dagenOverig, ', niet gevolgd=', $nv, ', tot=', $tot); ifThen($tot <= 0, $cnt = $cnt + 1; logAdd(log, 'warning', 'Toevoegen lid: ',$cnt, ' - lidnummer:', $lidnummer, ', naam:', $lastname); record\relate('TargetList', $id, 'contacts', $contact_id); ); ) ); ) ); $i = $i + 1; ); logAdd(log, 'info', $cnt, ' leden op de lijst'); );