Коллеги, простенький вопрос :)
задача: автоматически создать контакт по входящему email.
Создала БП. Сигнал=входящий email, читаем данные из Активности, тип Email
Необходимо получить отдельно email и отдельно ФИО отправителя.
К сожалению, вижу только одно поле [От кого], которое объединяет данные - SenderEnum
Пример: Сергей Петрович Петров ;
Подскажите, как прочитать отдельно ФИО и отдельно email ?
Пыталась читать объект [Email] - данные не вычитываются. Спасибо.
Нравится
Милова Марина Федоровна,
Действитель, забыл using)
должно быть так:
Можно попробовать в скрипт-таске обработать результат:
var senderEnum = @"TEST TESTER <test@test.ru>"; var mail = Regex.Match(senderEnum, "<.*>").Captures[0].Value.Replace("<", "").Replace(">", ""); var user = Regex.Match(senderEnum, "^.*?<").Captures[0].Value; user = user.Substring(0, user.Length - 2);
Варфоломеев Данила,
Спасибо. К сожалению, не являюсь разработчиком. В каком элементе БП добавить скрипт-таск? [Добавить данные]?
В смысле «в элементе добавить скрипт-таск»? Скрипт сам по себе является элементом. Читаете из одного параметра, пишете в другой и третий. Как в коде работать с параметрами, описано тут.
А ещё можно попробовать эту логику вставить в элемент-формулу. Отдельно формулы для имени и для адреса.
Милова Марина Федоровна,
Ок. Упростим задачу.
1) Создайте 3 переменные в БП (строки). В SenderEnum с помощью Формулы передавайте значение поля (которое считываете из активности/письма)
2) Добавьте задание-сценарий (script-task)
3) Вставьте туда код (копипаста).
var senderEnum = Get<string>("SenderEnum"); var mail = Regex.Match(senderEnum, "<.*>").Captures[0].Value.Replace("<", "").Replace(">", ""); var user = Regex.Match(senderEnum, "^.*?<").Captures[0].Value; user = user.Substring(0, user.Length - 2); Set("User", user); Set("Email", mail); return true;
Выглядеть в итоге должно так:
Всё. После выполнения сценария в параметре User будет лежать текст с фио пользователя, в Email - почта.
Варфоломеев Данила,
И все свалится если не добавлять using в БП, а как это сделать и не все программисты найдут :)
Коллеги, уже писала, что не программист. У меня сейчас вот такой процесс
Варфоломеев Данила,
Вставила задание-сценарий. Идет публикация
В журнале процессов зафиксировано, что задание сценарий не выполнилось.
По совету Григория добавьте в Usings значение «System.Text.RegularExpressions». Usings находится на вкладке «МЕТОДЫ» свойств процесса.
Поле обязательное для заполнения. Не знала что написать. Могу изменить :)))
Милова Марина Федоровна,
Действитель, забыл using)
должно быть так:
Коллеги, спасибо огромное за поддержку. В очередной раз поняла, что права аналитика в бизнес-процессах очень ограничены :(