Как сделать рассылку с помощью инструмента отчетности? - PullRequest
0 голосов
/ 30 августа 2010

Кон .: Службы отчетов или XTraReport, SqlServer Express 2008 R2, VS2008, WinForms, C #

Привет всем,

Мое приложение WinForms должно отправить настроенное письмо группе людей (чья контактная информация находится в SqlServer). Это типичная работа для Word Mail / Merge.

Но я бы хотел сделать это без Word, установленного на клиентских компьютерах. Я бы лучше использовал MS Reporting Services (или DevExpress XtraReport).

Проблема в том, что эти инструменты позволяют мне помещать текстовые поля для имени и адреса (это нормально), но они не являются настоящими текстовыми процессорами. Мне нужно встраивать пользовательские поля в поток текста. Это легко сделать в Word, но я не могу найти способ сделать это в службах Reporting Services.

Примечание: я новичок в том, что касается отчетности.

Пожалуйста, помогите,

ТИА.

Serge.

Ответы [ 2 ]

0 голосов
/ 01 сентября 2010

Я обнаружил, что DevExpress XtraReport может делать то, что я хочу: можно вставлять поля в текст элементов управления RichEdit:

Hello [firstName], your subscription elapsed on [lastDay!dd/MM/yyyy]

Кроме того, проблема с почтовой рассылкой решается с помощью отчета, который состоит только из полосы данных.

Я бы предпочел решение MS Reporting Services, но оно прекрасно соответствует моим потребностям.

0 голосов
/ 30 августа 2010

В MS Reporting Services вы можете установить значение текстового поля для выражения VB, а не для фиксированной строки.Используйте это выражение для вставки полей вашей базы данных в текст.

Например, у вас может быть такое выражение:

="Dear "+Fields!FirstName.Value+","

Для более сложного подхода вы можете использовать заполнители в вашемтекст и заменить их некоторыми регулярными выражениями.В этом случае вы, вероятно, захотите встроить код в отчет или сборку и просто вызвать его как функцию из своего текстового поля.

...