2009-03-31 5 views
1

J'ai plusieurs rapports dans SharePoint qui sont servis par SQL Server Reporting Services en mode intégré SharePoint. Certains de ces rapports doivent être générés automatiquement le dernier jour du mois. Bien que SSRS dispose lui-même d'une option "dernier jour du mois", SharePoint n'a pas cette fonctionnalité dans ses options de planification.Comment puis-je planifier un rapport dans SharePoint pour s'exécuter le dernier jour du mois?

Quelle est la meilleure façon d'ajouter cette fonctionnalité? Cela ne me dérange pas d'écrire du code, ou d'installer quelque chose, ou de permettre quelque chose que je ne connais pas. IMO, je voudrais regarder dans l'écriture d'un travail de minuterie

Répondre

1

Afaik vous ne pouvez pas le configurer pour fonctionner le dernier jour du mois.

Je créerais un travail du minuteur en cours d'exécution tous les jours et effectuerais le rapport si aujourd'hui est le dernier jour du mois. Créez un SPJobDefinition avec un SPDailySchedule pour y parvenir.

Here est un howto.

if(DateTime.Now.Month != DateTime.Now.AddDays(1).Month) 
{ 
//Do report 
} 
+0

J'ai compris comment écrire un travail de minuteur, mais je ne peux pas comprendre comment indiquer à SSRS d'exécuter le rapport. –

+0

BTW, +1 pour le lien HowTo agréable. –

1

J'en ai écrit un pour une importation de données bihebdomadaire. Je suis sûr que vous pourriez faire une génération de rapport MOE avec elle.

1

Rechercher google pour SPMonthlySchedule (classe de travail du minuteur dans le modèle d'objet SharePoint). SPMonthlySchedule ne peut s'exécuter qu'à une date spécifique.

+0

Pouvez-vous développer un peu, peut-être donner un exemple sur la façon de l'utiliser? –

+0

Peut-être que vous pouvez trouver plus de réponses à cette URL: http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/d196dfd0-a58f-4c9d-ae24-8f54e082ad84/ –

1

Ceci est assez vieux mais j'ai juste eu le même problème.

Une manière simple de procéder est de configurer 3 abonnements pour le rapport.

Avoir un e-mail le rapport le 31 janvier mars, mai, juillet, août, octobre, décembre Demandez à un e-mail le rapport sur le 30 avril, juin, septembre, novembre Demandez à un email sur le rapport le 28 février

Notez que cela ne prend pas les années bissextiles en considération.