Показать сообщение отдельно
Старый 26.04.2010, 10:11   #11  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Спасибо! В общем пока был дан зеленый свет для реализации подобного метода. Итак.
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;
            }
Миниатюры
Нажмите на изображение для увеличения
Название: 1.jpg
Просмотров: 452
Размер:	20.0 Кб
ID:	5744