Слово 'tonight' указывает на будущее. Для отрицания в будущем часто используется 'will not have'.
Ответ: She will not have (not / have) dinner with us tonight.