Où est affiché sur le bouton d’action ? Sur la liste ou formulaire ?
Dans mon exemple, c’est le hook onload du formulaire qui est implémenté, il est donc exécuté à chaque affichage du formulaire de l’objet - c’est donc applicable à un bouton sur formulaire.
Si votre bouton est affiché en liste, il faut implémenter le hook onload de la liste.
p.list.onload = function(ctn, obj, params){
...
}