AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.11.2007, 18:48   #1  
Lida is offline
Lida
Участник
 
21 / 12 (1) ++
Регистрация: 26.06.2007
Закрыть задачи
Доброго времени суток!
Задача состоит в следующем: есть несколько задач (объектов CRM) с одинаковым признаком - групповым ключом. При завершении одной из задач должны автоматически завершиться все задачи с тем же групповым ключом.
Делаю так: callout на смену статуса Задачи
Код:
if (newSateCode==1)
{
 
task currTask = (task)service.Retrieve(EntityName.task.ToString(),entityContext.InstanceId,new AllColumns());
     if (currTask.af_groupkey!=null&&currTask.af_groupkey!="0")//есть групповой ключ
     {
      //найти все задачи с таким же групповым ключом
      ConditionExpression exp = new ConditionExpression();
      exp.AttributeName = "af_groupkey";
      exp.Operator = ConditionOperator.Equal;
      exp.Values = new string[]{currTask.af_groupkey};
      ConditionExpression exp2 = new ConditionExpression();
      exp2.AttributeName = "state";
      exp2.Operator = ConditionOperator.Equal;
      exp2.Values = new string[]{TaskState.Open.ToString()};
      FilterExpression filter = new FilterExpression();
      filter.Conditions = new ConditionExpression[]{exp,exp2};
      filter.FilterOperator = LogicalOperator.And;
      QueryExpression qu = new QueryExpression();
      qu.EntityName = EntityName.task.ToString();
      qu.ColumnSet = new AllColumns();
      qu.Criteria = filter;
      BusinessEntityCollection tasks = service.RetrieveMultiple(qu);
      foreach (BusinessEntity entity in tasks.BusinessEntities)
      {
       task oTask = entity as task;
       SetStateTaskRequest setState = new SetStateTaskRequest();
       setState.EntityId = oTask.activityid.Value;
       setState.TaskState = TaskState.Canceled;
       setState.TaskStatus = 6;
       SetStateInvoiceResponse setedState = (SetStateInvoiceResponse)service.Execute(setState);
      }
     }
}
Но, увы, не работает - статус не изменяется. Кто-нибудь знает в чем ошибка?
Спасибо.
Старый 02.11.2007, 09:32   #2  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
А дебаггер что говорит?
Старый 02.11.2007, 15:11   #3  
Lida is offline
Lida
Участник
 
21 / 12 (1) ++
Регистрация: 26.06.2007
Спасибо за ответ. Нашла ошибку
SetStateTaskResponse setedState = (SetStateTaskResponse)service.Execute(setState);
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Plugin на для обновления задачи (Task) Bondonello Dynamics CRM: Разработка 14 25.02.2009 12:13
Как можно автоматически копировать тему обращения в тему задачи при создании "Дальнейшего действия"? Bakai Madybaev Dynamics CRM: Разработка 5 28.08.2008 14:48
Как программно закрыть Opportunity? Alir Dynamics CRM: Разработка 7 20.08.2008 16:38
назначение задачи valk Dynamics CRM: Функционал 3 12.01.2008 02:06
Письма в "Списки ожидания" - "Мои задачи" ДмитрийCол Dynamics CRM: Функционал 0 10.01.2007 09:46

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 15:43.