When I worked as a tech writer, I wasn't allowed to have "writer's block" -- I was allowed to "write something else, today."
What I do now is, roughly in this order:
* If I'm just having a bad day because of external events, then I go take a Mental Health Day and take care of errands, visit friends, whatever.
* If I really don't want to write this scene I'm working on (for first drafts, I write in chronological order), I ask myself why.
- Is it boring? When it's boring for you, it's boring for the reader. - Does it feel wrong? Doesn't even matter what I mean by "wrong" there -- if it feels like the wrong thing to be writing, it's time to rethink the direction the book is going in. I've removed 15,000 word sections from books because it felt "wrong" (and boy, did I turn out to be right).
* If the book still feels good and this isn't a case of powering through the writer-blahs, then I work on another project, something with a totally different voice and genre.