Показать сообщение отдельно
Старый 26.10.2009, 09:10   #1  
Tarasov E is offline
Tarasov E
Участник
Аватар для Tarasov E
 
100 / 11 (1) +
Регистрация: 01.09.2009
Бизнес-процесс: применение определенного алгоритма к каждой записи CRMGrid
Доброе утро! Нужно создать бизнес-процесс, который бы пробегал по всем записям данной сущности и если у записи определенный атрибут установлен в Активен, то получить из этой записи определенные атрибуты, как параметры и выполнить заданный алгоритм. Начал писать правило для бизнес-процесса, для этого воспользовался примером из книги Майка Снайдера:
Код:
using System;
using System.Workflow.ComponentModel;
using System.Workflow.Activities;
using Microsoft.Crm.Workflow;

namespace BP_CRMScaner
{
    [CrmWorkflowActivity("Выполнить сканирование", "Сканирование WEB-ресурсов")]
    public partial class Activity1 : SequenceActivity
    {
        protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
        {
            //получение контекста
            IContextService contextService = (IContextService)executionContext.GetService(typeof(IContextService));
            IWorkflowContext ctx = contextService.Context;
            //Здесь выполняется пользовательская логика

            //Доступ к свойствам ввода и вывода осуществляется следующим образом
            this.InputExample = "foo";
            this.OutputExample = this.InputExample + "bar";

            return base.Execute(executionContext);
        }
        //Задание свойств ввода
        public static DependencyProperty InputExampleProperty = DependencyProperty.Register("InputExample", typeof(string), typeof(Activity1));
        [CrmInput("InputExample")]
        public string InputExample
        {
            get
            {
                return (string)base.GetValue(InputExampleProperty);
            }
            set
            {
                base.SetValue(InputExampleProperty, value);
            }
        }
        //Задание свойства вывода
        public static DependencyProperty OutputExampleProperty = DependencyProperty.Register("OutputExample", typeof(string), typeof(Activity1));
        [CrmOutput("OutputExample")]
        public string OutputExample
        {
            get
            {
                return (string)base.GetValue(OutputExampleProperty);
            }
            set
            {
                base.SetValue(OutputExampleProperty, value);
            }
        }
    }
}
Не знаю как сделать так, чтобы процесс пробегался по каждой записи и из нее получал значения определенных атрибутов. Ранее извлекал параметры с помощью SOAP запроса по GUID и передавал их asp странице. Как мне быть в случае с workflow activity?

Последний раз редактировалось Tarasov E; 26.10.2009 в 09:31.