Ich habe den folgenden Code:Hinzufügen DynamicPropertyInstance markiert nicht das Salesorderdetail als gültig
var propertyInstance = new DynamicPropertyInstance()
{
DynamicPropertyId = new EntityReference(DynamicProperty.EntityLogicalName, Guid.Parse("0ceedfcc-68b2-e711-8168-e0071b658ea1")),
ValueString = jobId.ToString(),
RegardingObjectId = line.ToEntityReference(),
};
crmContext.AddObject(dynamicPropertyInstance);
crmContext.SaveChanges();
Es wird erfolgreich eine DynamicPropertyInstance zu einem SalesOrderLine hinzufügen, aber wenn die Bestellung im CRM-UI sieht es nicht das passieren Validierung (wie es eine erforderliche Eigenschaft ist). Ich habe keinen Weg gefunden, diese Eigenschaft gültig zu machen. Durch das Bearbeiten der Eigenschaft, die ich in der Benutzeroberfläche hinzugefügt habe (Zurücksetzen des Werts), wird die Instanz auch nicht als gültig markiert. Das Hinzufügen derselben Eigenschaft über die UI macht als gültig.
Die ID der DynamicProperty ist korrekt, wie durch das Laden der 2 Instanzdatensätze über das SDK und den Vergleich der Eigenschaften überprüft. Sonderbarerweise, wenn ich die 2 Datensätze über das SDK lade, hat die, die ich im Code erstellt habe, eine validationstatus
von true (obwohl es nicht ist) und die, die ich in der UI erstellt habe, hat eine validationstatus
von false und ValueString
gibt zurück null (was falsch ist). Alle anderen Eigenschaften stimmen entweder überein oder haben relevante Werte (wie Daten, Objekt-IDs usw.)
Ich vermisse wahrscheinlich einen Methodenaufruf, um neu zu berechnen, ob die Instanz gültig ist oder nicht, aber ich kann nichts darin finden die Dokumentation, um das zu unterstützen. Gelingt das nicht, es ist möglicherweise ein Fehler in CRM