La classe printJobSettings possède une méthode mailSubject pour définir l'objet de l'e-mail généré, mais il n'existe aucune méthode pour définir le corps du message. printJobSettings est une classe de noyau, donc vous ne pouvez pas le modifier. Pour envoyer réellement l'email, le noyau passe un objet printJobSettings à la méthode Info.ReportSendMail, que vous pouvez modifier. Pour contourner le problème, emballez votre sujet et votre corps dans le sujet, puis décompressez-les dans ReportSendMail.
Dans votre rapport:
printJobSettings.mailSubject(msgSubject + '|' + msgBody);
En Info.ReportSendMail:
subjectAndBody=printJobSettings.mailSubject();
delimiterPos=strFind(subjectAndBody,'|',1,strlen(subjectAndBody));
if(delimiterPos>0)
{
msgSubject=subStr(subjectAndBody,1,delimiterPos-1);
msgBody=subStr(subjectAndBody,delimiterPos+1,strlen(subjectAndBody)-delimiterPos);
}
else
{
msgSubject=subjectAndBody;
msgBody='Axapta Report';
}