![]() |
#20 |
Участник
|
Доброе утро! Стал проверять передались ли параметры из CRM. Добавил код создания файла, и чтобы туда загонялся переданный параметр:
Код: namespace BP_CRMScaner { [CrmWorkflowActivity("Выполнить сканирование1", "Сканирование WEB-ресурсов")] public class Activity1 : SequenceActivity { protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext) { //получение контекста IContextService contextService = (IContextService)executionContext.GetService(typeof(IContextService)); IWorkflowContext workflowContext = contextService.Context; //Зачем нужна эта строка? ICrmService service = contextService.Context.CreateCrmService(false); //Получаем идентификатор записи, породившей запуск бизнес-процесса Guid _entityid = workflowContext.PrimaryEntityId; string _entitytype = workflowContext.PrimaryEntityName; //указываем, какие атрибуты надо получить из CRM //ColumnSet cols = new ColumnSet(); //cols.AddColumns(new string[] {"new_url"}); //Указываем ID записи, у которой надо получить атрибуты TargetRetrieveDynamic targetRetrieve = new TargetRetrieveDynamic(); targetRetrieve.EntityName = _entitytype; targetRetrieve.EntityId = _entityid; //устанавливаем свойства метода RetrieveResponse RetrieveRequest retrieve = new RetrieveRequest(); retrieve.Target = targetRetrieve;//из какой записи берем retrieve.ColumnSet = new AllColumns();//что берем retrieve.ReturnDynamicEntities = true;//о_О RetrieveResponse retrieved = (RetrieveResponse)service.Execute(retrieve); //Получили саму запись DynamicEntity retrievedEntity = (DynamicEntity)retrieved.BusinessEntity; //Получили необходимые атрибуты записи string url = retrievedEntity.Properties.Contains("new_url") ? (string)retrievedEntity["new_url"] : string.Empty; StreamWriter Sw = new StreamWriter("\\\\Uch5\\SHARE\\1.txt"); Sw.WriteLine(url); Sw.Close(); //Здесь выполняется пользовательская логика return base.Execute(executionContext); } Последний раз редактировалось Tarasov E; 02.11.2009 в 10:04. |
|