Здравствуйте.

В версии TS CRM 3.0.2.245 (под Firebird) при создании шаблона e-mail сообщения, есть возможность использовать только четыре системных макроса CurrentContact, CurrentUser, Quotes, SysDate.

Есть ли возможность добавить к ним другие макросы, как в более поздних версиях системы. Например: Контакт.Обращение, Контакт.Должность и т.д.

Либо может есть другой вариант решения вопроса создания шаблонов?

(Переход на текущую версию на данный момент просьба не предлагать)

Нравится

1 комментарий

1. Объект MailUtils, который отсылает письма (см. scr_MailUtils) имеет свойство MacrosEngine (TSObjectLibrary.MacrosEngine) - см. scr_MailUtils
2. Этот объект обрабатывает 3 стандартных макроса
#SysDate#'
#CurrentUser#
#CurrentContact#
3. Кроме того, объект имеет свойства Dataset: IDataset и DatasetAlias: WideString
когда MacrosEngine имеет эти свойства - при парсинге макросов он заменяет макросы типа #Контакты.Имя# на текущее значение датасета.
Причем DatasetAlias должен был равен "Контакты" и заголовок датасета должен быть "Контакты". "Имя" - это заголовок нужного поля.
Вся эта схема реализована в модуле рассылки - там используется датасет ds_ContactCommunicationInMassMail.
Поэтому для добавления макросов, например при рассылке, нужно:

1. Датасету ds_ContactCommunicationInMassMail дать заголовок "Контакты".
2. Добавить в него нужное поле.
3. Создать шаблон в который вставить маросы #Контакты.Заголовок поля#

Прим.
Outlook иногда коверкает текст письма, заменяя символы на что-то вроде #8080#8811#8214#8120 - это невозможно отследить - так что нужно внимательно создавать шаблоны, чтобы макросы могли быть прочитаны системой.

Описанная функциональность будет работать только в разделе рассылка. Обращение к полям реализуется через заголовок поля, а не код.
Для реализации требуемой функциональности в остальных разделах необходимо изменить свойства (1, 2) объекта MacrosEngine (scr_MailUtils) - свойство объекта MailUtils.

1) Dataset (по умолчанию используется ds_contactCommunicationInMassMail )
2) DatasetAlias :WideString (в нашем случае нужно установить "Контакты")

Показать все комментарии