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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.06.2017, 23:38   #1  
Анатолий Вешемирский is offline
Анатолий Вешемирский
Участник
 
52 / 11 (1) +
Регистрация: 10.03.2017
Set OwnerID for a new task
Всем привет.
У меня такой вопрос:
Програмно (через плагин) проверяю все возможные сделки (выбираю нужные записи фильтрами) и для выбранных записей создаю задачи. Все нормально - задачи создаются, но ответственным за созданную новую задачу должен быть владелец возможной сделки, для которой была создана задача. Я конечно могу это решить с помощью workflow (assign), но хотелось бы кодом в плагине решить проблему.
Пытался использовать opportunity.Attribute["ownerid"] и передать значение в ownerid сущности "task", но получаю ошибку что "приходит" не Guid.. Подскажите, пожалуйста, что я не так делаю.

Заранее спасибо.
Старый 18.06.2017, 06:40   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
MCP
Лучший по профессии 2011
Лучший по профессии 2009
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
 
2,974 / 801 (32) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Код покажите, пожалуйста.

Должно быть чтото вроде:

Код:
task["ownerid"] = opportunity["ownerid"];
Учтите, что значение атрибута ownerid это не гуид, а экземпляр класса EntityReference.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Читайте мой блог
Старый 18.06.2017, 09:48   #3  
Анатолий Вешемирский is offline
Анатолий Вешемирский
Участник
 
52 / 11 (1) +
Регистрация: 10.03.2017
DateTime today = DateTime.Now;
Guid opportunity = Guid.Empty;

ConditionExpression condition2 = new ConditionExpression();
condition2.AttributeName = "statecode";
condition2.Operator = ConditionOperator.Equal;
condition2.Values.Add(0);
FilterExpression filter1 = new FilterExpression();
filter1.Conditions.Add(condition2);
QueryExpression query = new QueryExpression("opportunity");
query.ColumnSet.AllColumns=true;
query.Criteria.AddFilter(filter1);
EntityCollection retrieved = service.RetrieveMultiple(query);
if (retrieved.Entities.Count != 0)
{
foreach (Entity act in retrieved.Entities)
{
try
{
opportunity = Guid.Parse(act["opportunityid"].ToString());
CreateTask(service,subject, body, today.AddDays(1), opportunity); //пока без передачи ownerid
}
catch (Exception e)
{
throw new InvalidPluginExecutionException(e.Message);
}
}
}

Последний раз редактировалось Анатолий Вешемирский; 18.06.2017 в 09:51.
Старый 18.06.2017, 09:49   #4  
Анатолий Вешемирский is offline
Анатолий Вешемирский
Участник
 
52 / 11 (1) +
Регистрация: 10.03.2017
public Guid CreateTask(IOrganizationService _service, string subject, string body, DateTime schedule, Guid entityId)
{
Guid taskId = Guid.Empty;
Entity objTask = new Entity("task");
objTask.Attributes["regardingobjectid"] = new EntityReference("opportunity", entityId);
objTask.Attributes["subject"] = subject;
objTask.Attributes["description"] = body;
objTask.Attributes["scheduledend"] = schedule;
taskId = _service.Create(objTask);
return taskId;
}
Старый 18.06.2017, 22:41   #5  
Анатолий Вешемирский is offline
Анатолий Вешемирский
Участник
 
52 / 11 (1) +
Регистрация: 10.03.2017
Разобрался.
ownerId = ((EntityReference)act.Attributes["ownerid"]).Id;
Старый 19.06.2017, 06:31   #6  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
MCP
Лучший по профессии 2011
Лучший по профессии 2009
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
 
2,974 / 801 (32) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Вообще то и без Attributes всё работает.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Читайте мой блог
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Microsoft Dynamics CRM Team Blog: What are task flows and how do they compare to other tools in Dynamics CRM? Blog bot Dynamics CRM: Blogs 0 11.12.2015 04:14
Microsoft Dynamics CRM Team Blog: Creating and customizing task flows Blog bot Dynamics CRM: Blogs 0 11.12.2015 04:14
NAV Team: How to: Set up your Microsoft Dynamics NAV installation for Single Sign-on with Office 365 using Windows PowerShell Blog bot Dynamics CRM: Blogs 0 19.12.2013 15:10
Новый Task Kipetcoff Dynamics CRM: Разработка 10 08.06.2009 15:15
wiki.dynamicsbook: Changes Made in Navision Attain 3.60 Blog bot Dynamics CRM: Blogs 0 02.09.2008 13:23
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 18:48.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.