Показать сообщение отдельно
Старый 02.11.2009, 10:36   #36  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Tarasov E Посмотреть сообщение
Доброе утро! Стал проверять передались ли параметры из 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);
        }
Никакого файла на диске я не получил. Или так делать нельзя?
У учётной записи, под которой выполняется создание/модификация файлов - есть доступ за создание/редактирование в том сетевом каталоге?
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit