Вопрос

Создание бизнес процесса с отправкой письма по шаблону

Подскажите, как создать бизнес процесс, который бы мог добавить в шаблон письма несколько строк из раздела CRM?

Например, необходимо из реестра Контрагенты получить всех Контрагентов, которые не имеют заполненного поля: Средства связи-web и отправить письмом каждому ответственному списком, указав название Контрагента.

Нравится

4 комментария
Лучший ответ

Игорь Г. пишет:

можно ли в один шаблон вставить несколько строк повторяющейся информации, так как модуль "Читать данные" - читает данные из первой записи выборки. Не понятно, как собрать эти данные в цикле и потом подтянуть в шаблон.

Можно настроить элемент "Чтение данных" на получение нужного количества записей.

Для этого в параметрах БП объявляете параметр с типом 'Коллекция объектов' и в значения этого параметра добавляете коллекцию из нужного элемента "Чтение данных": https://prnt.sc/l7j5xs

Нужное количество вычитываемых данных указываете в расширенных параметрах элемента "Чтение данных": https://prnt.sc/l7j69n

А потом в элементе "Задание-сценарий" обращаетесь к параметру процесса и вычитываете из него коллекцию:

var userConnection = UserConnection;

for(int i = 0; i < PCBCollection.Count; i++)

{

        EntitySchema schema2 = userConnection.EntitySchemaManager.GetInstanceByName("BTPatienCardBlock");

        Entity entity2 = schema2.CreateEntity(userConnection);

        entity2.SetDefColumnValues();

        entity2.SetColumnValue("Id", Guid.NewGuid());

        entity2.SetColumnValue("Name",                                       PCBCollection[i].GetTypedColumnValue<string>("Name"));

        entity2.Save();

}

return true;

Данная информация давно прочитана и разобрана. К сожалению, она не дает понимания, можно ли в один шаблон вставить несколько строк повторяющейся информации, так как модуль "Читать данные" - читает данные из первой записи выборки. Не понятно, как собрать эти данные в цикле и потом подтянуть в шаблон.

Здравствуйте! Я вижу тут 2 варианта.

1) Писать свой макрос для шаблона. Описание как делать свой макрос описана здесь - https://academy.terrasoft.ru/documents/technic-sdk/7-13/dobavlenie-obra…

2) Формировать тело письма непосредственно в БП заносить его в переменную процесса, а в элементе отправки письма подставлять параметр - http://prntscr.com/l7fj1f&nbsp;

http://prntscr.com/l7fkqf и так можно наполнить тело письма разными параметрами.

Игорь Г. пишет:

можно ли в один шаблон вставить несколько строк повторяющейся информации, так как модуль "Читать данные" - читает данные из первой записи выборки. Не понятно, как собрать эти данные в цикле и потом подтянуть в шаблон.

Можно настроить элемент "Чтение данных" на получение нужного количества записей.

Для этого в параметрах БП объявляете параметр с типом 'Коллекция объектов' и в значения этого параметра добавляете коллекцию из нужного элемента "Чтение данных": https://prnt.sc/l7j5xs

Нужное количество вычитываемых данных указываете в расширенных параметрах элемента "Чтение данных": https://prnt.sc/l7j69n

А потом в элементе "Задание-сценарий" обращаетесь к параметру процесса и вычитываете из него коллекцию:

var userConnection = UserConnection;

for(int i = 0; i < PCBCollection.Count; i++)

{

        EntitySchema schema2 = userConnection.EntitySchemaManager.GetInstanceByName("BTPatienCardBlock");

        Entity entity2 = schema2.CreateEntity(userConnection);

        entity2.SetDefColumnValues();

        entity2.SetColumnValue("Id", Guid.NewGuid());

        entity2.SetColumnValue("Name",                                       PCBCollection[i].GetTypedColumnValue<string>("Name"));

        entity2.Save();

}

return true;

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