Voer wekelijks uren in SAM in voor de ingelogde gebruiker. Opent SAM via Control Chrome MCP, leest projecten dynamisch uit de weekstaat, en vraagt login + uren in één bericht.
Voer de uren van de gebruiker in SAM (urenregistratiesysteem van SURF/Npuls) in voor de huidige week.
Doe dit gelijktijdig — wacht niet op de pagina voordat je de gebruiker aanspreekt:
Navigeer via het Control Chrome MCP naar de SAM urenregistratiepagina:
https://sam.surf.nl/?qvActie=launchmureig
Stuur de gebruiker meteen dit bericht:
"Goedemorgen! Ik heb SAM geopend in Chrome — log even in met tiqr als dat nog niet is gebeurd.
Geef ondertussen je uren voor deze week door: hoeveel uur per dag en op welk project? Geef ook aan als je een dag niet hebt gewerkt."
Wacht op het antwoord van de gebruiker (zowel bevestiging van login als de uren).
Lees de paginatekst via Control Chrome. Als er een login- of tiqr-scherm zichtbaar is, wacht dan op bevestiging van de gebruiker en laad de pagina opnieuw. Ga pas verder als de weekstaatpagina zichtbaar is (herkenbaar aan "Eigen Weekstaten" of "Jaar/week" in de tekst).
Haal de bestaande projectregels op uit de tabel:
var rows = document.querySelectorAll('#brwTable tbody tr');
var projecten = [];
rows.forEach(function(row, i) {
var cellen = row.querySelectorAll('td');
if (cellen.length > 3) {
projecten.push({
rij: i + 1,
nummer: cellen[2] ? cellen[2].innerText.trim() : '',
omschrijving: cellen[3] ? cellen[3].innerText.trim() : '',
fase: cellen[4] ? cellen[4].innerText.trim() : '',
activiteit: cellen[5] ? cellen[5].innerText.trim() : ''
});
}
});
JSON.stringify(projecten);
Gebruik deze projectnamen en -nummers als context bij het verwerken van de opgegeven uren. Vraag om verduidelijking als een projectnaam niet overeenkomt met een bestaande rij.
Als er nog geen projectregels bestaan, maak ze aan via "Nieuw" in het Acties-menu (projectnummer, fase, activiteitscode, uren per dag).
Voor elke projectregel (browserRow1, browserRow2, etc.):
1. Activeer bewerkmode:
document.querySelector('#browserRow1 a.editMode').click()
2. Vul uurvelden in (h-dag-uur1 = maandag t/m h-dag-uur7 = zondag):
document.getElementById('h-dag-uur1').value = '8'; // maandag
document.getElementById('h-dag-uur2').value = '0'; // dinsdag
// etc. — lege dagen leeg laten of '0'
3. Sla op en wacht 2 seconden:
document.querySelector('#browserRow1 a.save').click()
Herhaal voor elke rij (browserRow2, browserRow3, etc.).
var links = document.querySelectorAll('a');
links.forEach(function(l) {
if (l.textContent.indexOf('definitief') !== -1) l.click();
});
Wacht 2 seconden en lees de pagina opnieuw. Controleer of de status van alle regels "Definitief" is.
Stuur een overzicht van de ingevoerde uren per project en per dag, en bevestig dat de weekstaat definitief is gemeld.
WekenAchteruit en meld die weekstaat gereed.https://sam.surf.nl/?qvActie=launchmureig#browserRowN a.editModeh-dag-uur1 (maandag) t/m h-dag-uur7 (zondag)#browserRowN a.saveWekenAchteruit / WekenVooruit