Спасибо! В общем пока был дан зеленый свет для реализации подобного метода. Итак.
1. Я создал сущность new_userfiltr и поместил на нее атрибуты "Фильтр по словам" и "Связанный субъект" (см.аттач). Кстати поле связанный субъект почему-то не отображает имя выбранного субъекта в связанной сущности new_web, возможно потому что это имя так же является связанным полем с сущностью интересы? Как это можно решить?
2.
Цитата:
Запускаете ваш циклический бизнес процесс. В нем ваш код запрашивает из базы все объекты "new_userfilter" связанные с конкретным экземпляром new_web для которого запущен процесс.
Вот здесь вопрос по реализации. Запись, породившую бизнес-процесс я получаю так:
Код:
//Получаем идентификатор записи, породившей запуск бизнес-процесса
Guid _entityid = workflowContext.PrimaryEntityId;
string _entitytype = workflowContext.PrimaryEntityName;
А далее как найти в сущности new_userfiltr все записи, связанные с породившей бизнес-процесс?
Цитата:
Далее в цикле (условно) из этого объекта вычитывается id пользователя (владельца new_userfilter) и заданный им фильтр.
Здесь мы просто получаем значения атрибутов...
Цитата:
После этого вызывается тот код который уже есть: тот который отсканирует что нужно, но уведомит владельца new_userfilter, а не new_web, как это было ранее.
Уведомлять следующим образом?
Код:
//Получиние ссылки на запись
//I need organization name for Url Creation
organization org = (organization)service.Retrieve(EntityName.organization.ToString(), workflowContext.OrganizationId, new ColumnSet(new string[] { "name" }));
string orgname = org.name;
url = string.Format("{0}{1}/CRMReports/viewer/drillopen.aspx?ID={2}&LogicalName={3}",
new object[] {
//I retrieve url of crm server with MSCRMServices part and clear it
((string)(Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\MSCRM").GetValue("ServerUrl"))).Replace("MSCRMServices", ""),
orgname,
_entityid,
_entitytype});
return ActivityExecutionStatus.Closed;
}