Benutzer mit den meisten Antworten
service.Retrieve unvollständiges Ergebnis

Frage
-
Hallo,
ich verwende die Methode service.Retrieve um zu einer Opportunity die transactionCurrencyID zu erhalten.
Die Methode rufe ich wie folgt auf:
public static IOpportunity GetOpportunityById(ICrmService service, Guid id, ColumnSet cols)
{
IOpportunity opportunity = new DynamicOpportunity((DynamicEntity)response.BusinessEntity);opportunity op = (opportunity)service.Retrieve(EntityName.opportunity.ToString(), id, cols);
Logger.WriteVerbose("OpportunityID " + op.opportunityid.Value);
Logger.WriteVerbose("TransactionID " + op.transactioncurrencyid.Value);retrun opportunity;
}
Als ColumsSet verwende ich den Entitätsname (habe auch schon einzelne Spalten versucht)
Die Zeile Logger.WriteVerbose("OpportunityID " + op.opportunityid.Value); wird wie gewünscht ausgeführt und der gefordetre Wert angezeigt.
Die Zeile Logger.WriteVerbose("TransactionID " + op.opportunityid.Value); erzeugt hingegen den folgenden Fehler:
"Error! Object reference not set to an instance of an object.", obschon in der Datenbanik ein gültiger Wert steht. Mit anderen Attributen habe ich das gleich Problem. Was mache ich falsch?
Gruß, Eckart
Antworten
-
Hallo Eckart,
bei dem Währungsfeld handelt es sich um ein Lookup, das du entsprechend auslesen musst (ungetestet):
Lookup lookupId = (Lookup op.opportunityid.Properties["TransactionID"];
Logger.WriteVerbose("TransactionID " + lookupId.Value;
Viele Grüße
Michael Sulz
MVP für Microsoft Dynamics CRM
Blog
Website- Als Antwort markiert Michael Sulz Mittwoch, 30. März 2011 13:45
-
Hallo,
der Hinweis mit dem Lookup war doch richtig, zudem brauchte ich aber die Spaltennamen wie in der Datenbank. Das Interface hatte fehlerhafte Namen (Groß-/Kleinschreibung), dies führte zum Fehler.
Gruß, Eckart
- Als Antwort markiert Eegi Mittwoch, 30. März 2011 13:38
Alle Antworten
-
Hallo Eckart,
bei dem Währungsfeld handelt es sich um ein Lookup, das du entsprechend auslesen musst (ungetestet):
Lookup lookupId = (Lookup op.opportunityid.Properties["TransactionID"];
Logger.WriteVerbose("TransactionID " + lookupId.Value;
Viele Grüße
Michael Sulz
MVP für Microsoft Dynamics CRM
Blog
Website- Als Antwort markiert Michael Sulz Mittwoch, 30. März 2011 13:45
-
Hallo,
der Hinweis mit dem Lookup war doch richtig, zudem brauchte ich aber die Spaltennamen wie in der Datenbank. Das Interface hatte fehlerhafte Namen (Groß-/Kleinschreibung), dies führte zum Fehler.
Gruß, Eckart
- Als Antwort markiert Eegi Mittwoch, 30. März 2011 13:38