|
![]() |
#1 |
Чайный пьяница
|
Цитата:
Сообщение от Tarasov E
![]() Добрый день! Есть вот какая задача: есть дву сущности A и B. В сущности а есть поле new_barcode в которое вводится GUID записи из сущности B. Так вот нужно, чтобы при вводе данных в это поле в записи сущности B с соответствующим GUID изменялось значение поля new_status типа bit с 0 на 1. Я так понимаю, что это задача больше подходит для написания плагина, нежели БП. В таком случае с чего начать? Как получить значение поля new_barcode? Далее я так понимаю после получения значения работать с сущностью B через Querry Expression?
Код: DynamicEntity target = (DynamicEntity)context.InputParameters["Target"]; if (!target.Properties.Contains("new_barcode")) return; string barcode = (string)target["new_barcode"]; Код: ICrmService crmservice = context.CreateCrmService(true); try { Guid barcodeid = new Guid(barcode); DynamicEntity barcodeentity = new DynamicEntity("<название схему сущности Б>"); barcodeentity["<название схему сущности Б>id"] = new Key(barcodeid); barcodeentity["new_status"] = new CrmBoolean(true); crmservice.Update(barcodeentity); } catch{}
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
|
За это сообщение автора поблагодарили: Tarasov E (1). |
![]() |
#2 |
Участник
|
Имею вот такой вот рабочий код:
Код: public void Execute(IPluginExecutionContext context) { DynamicEntity entity = null; if (context.InputParameters.Properties.Contains(ParameterName.Target) && context.InputParameters.Properties[ParameterName.Target] is DynamicEntity) { entity = (DynamicEntity)context.InputParameters.Properties[ParameterName.Target]; } else { return; } try { ICrmService crmService = context.CreateCrmService(true); if (entity.Properties.Contains("new_barcode")) { Guid id = new Guid(entity["new_barcode"].ToString()); UpdateRequest updateRequest = new UpdateRequest(); TargetUpdateDynamic targetUpdateDynamic = new TargetUpdateDynamic(); DynamicEntity reglament = new DynamicEntity("new_reglament"); reglament["new_reglamentid"] = new Key(id); reglament["new_status"] = new CrmBoolean(true); targetUpdateDynamic.Entity = reglament; updateRequest.Target = targetUpdateDynamic; crmService.Execute(updateRequest); } } Последний раз редактировалось Tarasov E; 06.09.2010 в 14:33. |
|
|
|