Начал импортировал контакты (после импорта акаунтов) и получаю ошибку, что мол нет такого ИД. Не совсем ясно где вообще взялся этот ИД, и с какой сущности. Я найти такого не смог в двух системах
Посмотрел метаданные по контакту, там три ссылки на акаунт, две из которых - кастомные.
- accountid
- new_distributor
- new_hqaccount
В целевой системе нет поля accountid на сущности контакт, т.к в онлайне видимо от него избавились.
Теоретически проблема может быть в поле parentcustomerid, но в усломнов операторе SSIS стоит проверка
Цитата:
!ISNULL(parentcustomeridtype) && parentcustomeridtype == "contact"
Цитата:
Account With Id = e52affc4-aa60-e611-80e9-00155df17501 Does Not Exist (SSIS Integration Toolkit for Microsoft Dynamics 365, v8.0.0.6228 - DtsDebugHost, v13.0.4495.10)
X++:
static void findEntity()
{
var allEntities = GetEntities(connection);
foreach (EntityMetadata Entity in allEntities)
{
try
{
var entity = connection.Retrieve(Entity.LogicalName, new Guid("e52affc4-aa60-e611-80e9-00155df17501"), new ColumnSet(true));
Console.WriteLine($"Id found for entity {Entity.LogicalName}");
Console.ReadKey();
}
catch {
}
}
}
public static EntityMetadata[] GetEntities(IOrganizationService organizationService)
{
Dictionary<string, string> attributesData = new Dictionary<string, string>();
RetrieveAllEntitiesRequest metaDataRequest = new RetrieveAllEntitiesRequest();
RetrieveAllEntitiesResponse metaDataResponse = new RetrieveAllEntitiesResponse();
metaDataRequest.EntityFilters = EntityFilters.Entity;
metaDataResponse = (RetrieveAllEntitiesResponse)organizationService.Execute(metaDataRequest);
var entities = metaDataResponse.EntityMetadata;
return entities;
}