Вопрос

Бизнес процесс

Добрый день!

Подскажите пожалуйста кто может помочь в написании бизнес процесса?
1.Бизнес процесс должен запускаться в определенное время каждый день.
2.Он должен читать данные из определенных столбцов.
3.Он должен сравнивать значения из одного столбца и на основании сравнения подставлять почту ( если в столбце написана транспортная компания dpd то он будет подставлять почту это транспортной компании).
4.Процесс должен выполняться если заполнены определенные столбцы.
5. На основании полученных данных он должен отправлять письмо с данному в нужную транспортную компанию.
5.После выполнения процесса он должен вставлять ссылку на данное письмо в определенный столбец.
6.Он должен отправлять только те значения которые не были отправлены(не должен отправлять повторно одно и тоже)

У меня такой же вопрос

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

Александр Королев пишет:
3.Он должен сравнивать значения из одного столбца и на основании сравнения подставлять почту ( если в столбце написана транспортная компания dpd то он будет подставлять почту это транспортной компании).

var esq = new EntitySchemaQuery(userConn.EntitySchemaManager, "Схема из которой берем значения");
esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.Equal, primaryColumn, primaryValue)); //условия фильтрации
esq.AddAllSchemaColumns(); //читаем все колонки, либо по необходимости только опеределенные через esq.AddColumn("Название колонки");
var collection = esq.GetEntityCollection(userConn);
foreach (var entity in collection)
{
	//пункт 4, делаем проверку на заполненность нужных полей
	//далее пункт 3 сравнения
	if (entity.GetTypedColumnValue<тип>("Нужная колонка") == "Нужному значению")//привести к одному типу в сравнении
	{
		//подставить почту
		//сформировать ссылку
		//записать ссылку в нужный столбец
	}
}
 
//пункт 6 отдельным процессом или подпроцессом в рамках этого процесса или же кодом сразу же отправку

 

Добрый вечер.

Для начала рекомендую ознакомиться с руководством по использованию дизайнера процессов.

Для построения описанного процесса Вы можете использовать такие элементы:

1. Для запуска по расписанию - элемент [Стартовый таймер].

2. Для чтения данных - элемент процесса [Читать данные].

3. Для сравнения - элемент [Формула].

4. Для отправки письма - элемент процесса [Отправить EMAIL].

5. Для внесения изменений - элемент [Изменить данные].

Может есть человек который может помочь ? хотя бы пример. Готов  даже на фриланс.

Или как составить формулу сравнения ?

Александр Королев пишет:
3.Он должен сравнивать значения из одного столбца и на основании сравнения подставлять почту ( если в столбце написана транспортная компания dpd то он будет подставлять почту это транспортной компании).

var esq = new EntitySchemaQuery(userConn.EntitySchemaManager, "Схема из которой берем значения");
esq.Filters.Add(esq.CreateFilterWithParameters(FilterComparisonType.Equal, primaryColumn, primaryValue)); //условия фильтрации
esq.AddAllSchemaColumns(); //читаем все колонки, либо по необходимости только опеределенные через esq.AddColumn("Название колонки");
var collection = esq.GetEntityCollection(userConn);
foreach (var entity in collection)
{
	//пункт 4, делаем проверку на заполненность нужных полей
	//далее пункт 3 сравнения
	if (entity.GetTypedColumnValue<тип>("Нужная колонка") == "Нужному значению")//привести к одному типу в сравнении
	{
		//подставить почту
		//сформировать ссылку
		//записать ссылку в нужный столбец
	}
}
 
//пункт 6 отдельным процессом или подпроцессом в рамках этого процесса или же кодом сразу же отправку

 

Можно сделать без скриптов сравнение, если сравнивать записи по одной (примерная схема процесса приведена ниже)
Немного сложнее с отправкой e-mail, так как стандартный метод "отправить e-mail", к сожалению, не создаёт записи в Creatio, и нечего привязать в поле в качестве ссылки.
Потому здесь лучше использовать создание активности, а потом её отправка скриптом.

Если нужно больше помощи, обращайтесь лично, сделаем и объясним

Войдите или зарегистрируйтесь, чтобы комментировать