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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.11.2011, 14:06   #1  
u.rastegaev is offline
u.rastegaev
Участник
 
64 / 10 (1) +
Регистрация: 03.08.2010
обнуление полей плагином
Добрый день, а вот такая простая задача, нужно плагином обнулить поля,


TargetRetrieveDynamic targetRetrieve = new TargetRetrieveDynamic();

targetRetrieve.EntityName = "contract";
targetRetrieve.EntityId = contractId;

// Create the request object.
RetrieveRequest retrieve = new RetrieveRequest();


retrieve.Target = targetRetrieve;
retrieve.ColumnSet = new AllColumns();

retrieve.ReturnDynamicEntities = true;

// Execute the request.
RetrieveResponse retrieved = (RetrieveResponse)service.Execute(retrieve);

// Extract the DynamicEntity from the request.
DynamicEntity entity = (DynamicEntity)retrieved.BusinessEntity;








entity.Properties.Remove("gar_state_contract");
entity.Properties.Remove("gar_contracts");
entity.Properties.Remove("title");
entity.Properties.Remove("activeon");

entity.Properties.Remove("gar_date_contract_expiry");
entity.Properties.Remove("gar_date_return_contract");




// Contact PreferredContactMethodCode property
PicklistProperty picklist = new PicklistProperty();
picklist.Name = "gar_state_contract";
picklist.Value = new Picklist();
picklist.Value.Value =1 ;



LookupProperty lkProp = new LookupProperty();
lkProp.Name = "gar_contracts";
lkProp.Value = new Lookup();



StringProperty strProp = new StringProperty();
strProp.Name = "title";
strProp.Value = "";



CrmDateTimeProperty dProp1 = new CrmDateTimeProperty();
dProp1.Name = "activeon";
dProp1.Value = new CrmDateTime(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:s}", "2/24/1955"));



CrmDateTimeProperty dProp2 = new CrmDateTimeProperty();
dProp2.Name = "gar_date_contract_expiry";
dProp2.Value = new CrmDateTime(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:s}", "2/24/1955"));



CrmDateTimeProperty dProp3 = new CrmDateTimeProperty();
dProp3.Name = "gar_date_return_contract";
dProp3.Value = new CrmDateTime(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:s}", "2/24/1955"));







// ArrayList arrProps = new ArrayList();

// Add properties to ArrayList.

entity.Properties.Add(picklist);
entity.Properties.Add(lkProp);
entity.Properties.Add(strProp);
entity.Properties.Add(dProp1);
entity.Properties.Add(dProp2);
entity.Properties.Add(dProp3);

// Update the properties array on the DynamicEntity.
//entity.Properties =
// (Property[])arrProps.ToArray(typeof(Property));

// Create the update target.
TargetUpdateDynamic updateDynamic = new TargetUpdateDynamic();

// Set the properties of the target.
updateDynamic.Entity = entity;

// Create the update request object.
UpdateRequest update = new UpdateRequest();

// Set request properties.
update.Target = updateDynamic;

// Execute the request.

UpdateResponse updated =
(UpdateResponse)service.Execute(update);
__________________
rurik
Старый 03.11.2011, 14:07   #2  
u.rastegaev is offline
u.rastegaev
Участник
 
64 / 10 (1) +
Регистрация: 03.08.2010
нужно вот этот участок кода или нет?

// Contact PreferredContactMethodCode property
PicklistProperty picklist = new PicklistProperty();
picklist.Name = "gar_state_contract";
picklist.Value = new Picklist();
picklist.Value.Value =1 ;



LookupProperty lkProp = new LookupProperty();
lkProp.Name = "gar_contracts";
lkProp.Value = new Lookup();



StringProperty strProp = new StringProperty();
strProp.Name = "title";
strProp.Value = "";



CrmDateTimeProperty dProp1 = new CrmDateTimeProperty();
dProp1.Name = "activeon";
dProp1.Value = new CrmDateTime(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:s}", "2/24/1955"));



CrmDateTimeProperty dProp2 = new CrmDateTimeProperty();
dProp2.Name = "gar_date_contract_expiry";
dProp2.Value = new CrmDateTime(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:s}", "2/24/1955"));



CrmDateTimeProperty dProp3 = new CrmDateTimeProperty();
dProp3.Name = "gar_date_return_contract";
dProp3.Value = new CrmDateTime(string.Format(System.Globalization.CultureInfo.InvariantCulture, "{0:s}", "2/24/1955"));







// ArrayList arrProps = new ArrayList();

// Add properties to ArrayList.

entity.Properties.Add(picklist);
entity.Properties.Add(lkProp);
entity.Properties.Add(strProp);
entity.Properties.Add(dProp1);
entity.Properties.Add(dProp2);
entity.Properties.Add(dProp3);
__________________
rurik
Старый 03.11.2011, 14:07   #3  
u.rastegaev is offline
u.rastegaev
Участник
 
64 / 10 (1) +
Регистрация: 03.08.2010
или достаточно ?



entity.Properties.Remove("gar_state_contract");
entity.Properties.Remove("gar_contracts");
entity.Properties.Remove("title");
entity.Properties.Remove("activeon");

entity.Properties.Remove("gar_date_contract_expiry");
entity.Properties.Remove("gar_date_return_contract");
__________________
rurik
Старый 03.11.2011, 14:16   #4  
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
Этого мало. Если вы убираете поле и вызываете апдейт, то с полем - ничего не происходит. Для очищения посмотрите следующее - http://a33ik.blogspot.com/2009/11/cl...-dynamics.html

Для очищения поля типа стринг - просто передайте в него пустую строку.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 03.11.2011, 14:21   #5  
u.rastegaev is offline
u.rastegaev
Участник
 
64 / 10 (1) +
Регистрация: 03.08.2010
со стрингом я догадался а вот с остальными спасибо)
__________________
rurik
Старый 03.11.2011, 14:25   #6  
u.rastegaev is offline
u.rastegaev
Участник
 
64 / 10 (1) +
Регистрация: 03.08.2010
кстати а с контрактом и строкой контракта прйдет обнуление дат начала и окончания?
там же у них привязка есть что даты строки между датами контракта
__________________
rurik
Старый 03.11.2011, 14:52   #7  
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
Сходу не скажу, потому что никогда такого не проверял, но написать простое консольное приложение чтобы проверить, как это работает - дело 15-20 минут.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

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

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
CRM 2011. Вопрос. Обновление значений полей связанных объектов Gennadi Dynamics CRM: Разработка 6 05.09.2011 15:25
Преобразование необязатаельных полей в обязательные(полнота полей) Alexey-IT Dynamics CRM: Функционал 4 22.07.2010 21:45
Ограничение прав на редактирование некоторых полей Tarasov E Dynamics CRM: Разработка 4 09.04.2010 13:20
Изменение полей типа State или Status Артем Enot Грунин Dynamics CRM: Разработка 3 10.06.2008 06:30
Видимость новых полей sam Dynamics CRM: Функционал 10 15.05.2006 17:57

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

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

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