CRM SDK Zugriff auf Lead Entity

20. Oktober 2016 15:38

Hallo,

kann mir jemand sagen, warum ich im CRM SDK in C# bei folgendem Codeausschnitt die Spalten "firstname und "lastname" in der EntityCollection nicht zurückgekomme? Kann dies an der Feldsicherheit liegen, diese steht im CRM auf "ungültig" was mir nicht einleuchten will...

m_ServerConnection = new ServerConnection();
ServerConnection.Configuration m_Config = m_ServerConnection.GetServerConfiguration();

try
{
// Connect to the Organization service.
// The using statement assures that the service proxy will be properly disposed.
using (_serviceProxy = new OrganizationServiceProxy(m_Config.OrganizationUri, m_Config.HomeRealmUri, m_Config.Credentials, m_Config.DeviceCredentials))
{
// This statement is required to enable early-bound type support.
_serviceProxy.EnableProxyTypes();

_service = (IOrganizationService)_serviceProxy;

QueryByAttribute querybyattribute = new QueryByAttribute("lead");
querybyattribute.ColumnSet = new ColumnSet("salutation", "telephone1", "firstname", "lastname", "kundenursprungbt");

// Attribute to query.
querybyattribute.Attributes.AddRange("kundenursprungbt");

// Value of queried attribute to return.
querybyattribute.Values.AddRange(true);

// Query passed to service proxy.
EntityCollection retrieved = _service.RetrieveMultiple(querybyattribute);

if (retrieved.Entities.Count > 0)
{
salesLeads = new List<SalesLead>();
}

// Iterate through returned collection.
foreach (var retrievedEntities in retrieved.Entities)
{
SalesLead salesLead = new SalesLead();
salesLead.Salutation.Value = retrievedEntities.Attributes["salutation"].ToString();
salesLead.FirstName.Value = retrievedEntities.Attributes["firstname"].ToString(); // Hier kann nicht auf firstname zugegriffen werden...
salesLead.LastName.Value = retrievedEntities.Attributes["lastname"].ToString();
salesLeads.Add(salesLead);
}
}
}
catch (Exception exception)
{

}

Re: CRM SDK Zugriff auf Lead Entity

20. Oktober 2016 17:55

Hallo,

Kann dies an der Feldsicherheit liegen, diese steht im CRM auf "ungültig" was mir nicht einleuchten will...

Nein, damit hat das nichts zu tun, das ist Standard da du die Feldsicherheit auf diese Felder nicht einschalten kannst.

Ansonsten findest du hier ein Beispiel, wie die Daten eines Lead abgeholt und geändert werden können:
Sample: Create, read, update, and delete lead (including UDF custom fields)