Цитата:
Сообщение от
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{}
Обработку исключений конечно тоже надо доделать.