Подскажите, как создать бизнес процесс, который бы мог добавить в шаблон письма несколько строк из раздела CRM?
Например, необходимо из реестра Контрагенты получить всех Контрагентов, которые не имеют заполненного поля: Средства связи-web и отправить письмом каждому ответственному списком, указав название Контрагента.
Нравится
Игорь Г. пишет:
можно ли в один шаблон вставить несколько строк повторяющейся информации, так как модуль "Читать данные" - читает данные из первой записи выборки. Не понятно, как собрать эти данные в цикле и потом подтянуть в шаблон.
Можно настроить элемент "Чтение данных" на получение нужного количества записей.
Для этого в параметрах БП объявляете параметр с типом 'Коллекция объектов' и в значения этого параметра добавляете коллекцию из нужного элемента "Чтение данных": 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
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;