Показать сообщение отдельно
Старый 06.06.2008, 18:43   #1  
Артем 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
Как программно очистить поле типа Customer?
Доброго времени суток коллеги. Давеча уперся в совершенно неожиданную проблему: необходимо через веб-сервис очистить значение атрибута "родительский клиент" объекта Контакт. Все простые атрибуты затираются нормально, а вот ссылочные ни в какую! Условно код следующий:

Код:
DynamicEntity de = new DynamicEntity();
de.Name = "contact";
de.Properties = new Properties[2];
de.Properties[0] = // создаю KeyProperty (в данном контексте не важно)

CustomerProperty prop = new CustomerProperty();
prop.Name = "parentcustomerid";
de.Properties[1]  = new CustomerProperty();

TargetUpdateDynamic targetUpdate = new TargetUpdateDynamic();
targetUpdate.Entity = de

UpdateRequest update = new UpdateRequest();
update.Target = targetUpdate;

Execute(update);
Запрос валится с ошибкой 80042003 - Object type must be specified for one of the attributes. Ситуация не изменится и если сделать так:

Код:
CustomerProperty prop = new CustomerProperty();
prop.Name = "parentcustomerid";
Customer customer = new Customer();
prop.Value = customer;
de.Properties[1]  = new CustomerProperty();
Ума ни приложу, как еще можно показать, что значение должно стать NULL.
Кто знает решение?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional