AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.11.2018, 16:07   #21  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Начал импортировал контакты (после импорта акаунтов) и получаю ошибку, что мол нет такого ИД. Не совсем ясно где вообще взялся этот ИД, и с какой сущности. Я найти такого не смог в двух системах

Посмотрел метаданные по контакту, там три ссылки на акаунт, две из которых - кастомные.
- 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;
        }

Последний раз редактировалось Ion; 22.11.2018 в 16:24.
Старый 22.11.2018, 16:44   #22  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
В общем, банально был битый контакт

Пришлось найти запись по атрибуту

X++:
            QueryExpression query = new QueryExpression
            {
                EntityName = "contact",
                ColumnSet = new ColumnSet(true),
                Criteria = new FilterExpression
                {
                    Conditions =
                                {

                    new ConditionExpression
                    {
                        AttributeName = "parentcustomerid",
                        Operator = ConditionOperator.Equal,
                        Values = { accountId }
                    }
                }
                }
            };
Старый 26.11.2018, 14:34   #23  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Привет,

Как корректно мигрировать сущность 'Lead to Opportunity Sales Process'?

В какой-то момент начинает падать data flow task с текстом

Цитата:
Participating entity must be part of traversed path. But input participating entity : "opportunity", does not belong to the traversed path:"f99b4d48-7aad-456e-864a-8e7d543f7495" [14]
Что это за ошибка и как ее разрешить? Буду благодарен за наводку.

Сущности лид и оппортюнити уже в системе.
Старый 26.11.2018, 16:26   #24  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Был у меня неприятный опыт миграции таких сущностей. Все свелось к тому, что я удалял все процессы которые создались автоматически и заливал эти сущности через создание. Правда отличие в том, что у меня не было процесса с несколькими сущностями. Думаю, что вы будете первопроходцем. Делитесь опытом, если решите задачу.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 27.11.2018, 18:16   #25  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Цитата:
Сообщение от a33ik Посмотреть сообщение
Был у меня неприятный опыт миграции таких сущностей. Все свелось к тому, что я удалял все процессы которые создались автоматически и заливал эти сущности через создание. Правда отличие в том, что у меня не было процесса с несколькими сущностями. Думаю, что вы будете первопроходцем. Делитесь опытом, если решите задачу.
Видимо прийдеться попариться с ними
Старый 05.12.2018, 18:24   #26  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Все привет!

В общем все шло гладко до момента миграции активностей.

Суть проблемы: есть 5 пользователей, которые уже не работают, так вот они встречаються в Звонках, Тасках, Апойментах и в других активностях. Если они являються овнерами или создателями, то проблем нет, просто указываем дефолтного пользователя и все, но если эти же юзера встечаються в таких полях как 'from/to' на звонках или Attendees в Апоинтах, то тут уже масса проблем.

Что предпочительней в данной ситуации: не мигрировать такие записи, есть вариант как установить дефолтного пользователя или что-то еще.
Старый 05.12.2018, 19:15   #27  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Есть несколько вариантов. Я планирую все расписать в блоге, когда доберусь до этого поста. Во что я делаю сейчас:
1. Собираю список всех пользователей, которые есть в старом CRM, а именно нужны следующие данные: FirstName, Last Name, Email Address. Создаю или файлик или таблицу в базе, которые содержат эти поля.
2. В SSIS делаете вычитку или из файла или из базы, чтобы получить следующие поля - FirstName, LastName, PrimaryEmailAddress, WindowsLiveId. Последние 2 колонки содержат одинаковые данные. Именно эти поля необходимы чтобы создать записи пользователей, но будьте очень внимательны и осторожны - вы не сможете эти записи удалить.
3. Средствами SSIS запускаю создание указанных пользователей - это создаст записи пользователей в онлайне. Пользователи буду неактивны, будут иметь роль SalesManager (или чтото вроде того), не будут занимать лицензию.

Таким образом я получал полный список активных и неактивных пользователей и мигрировал данные без проблем.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit

Последний раз редактировалось a33ik; 05.12.2018 в 19:20.
За это сообщение автора поблагодарили: Ion (1).
Старый 05.12.2018, 19:22   #28  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
На самом деле у меня все веселье началось, когда создание активностей начало падать изза ссылок на контакты, компании и лиды, которые были удалены. Что делать в таком случае я тоже распишу в посте. Когда только на все это найти время...
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 05.12.2018, 19:36   #29  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Цитата:
Сообщение от a33ik Посмотреть сообщение
Есть несколько вариантов. Я планирую все расписать в блоге, когда доберусь до этого поста. Во что я делаю сейчас:
1. Собираю список всех пользователей, которые есть в старом CRM, а именно нужны следующие данные: FirstName, Last Name, Email Address. Создаю или файлик или таблицу в базе, которые содержат эти поля.
2. В SSIS делаете вычитку или из файла или из базы, чтобы получить следующие поля - FirstName, LastName, PrimaryEmailAddress, WindowsLiveId. Последние 2 колонки содержат одинаковые данные. Именно эти поля необходимы чтобы создать записи пользователей, но будьте очень внимательны и осторожны - вы не сможете эти записи удалить.
3. Средствами SSIS запускаю создание указанных пользователей - это создаст записи пользователей в онлайне. Пользователи буду неактивны, будут иметь роль SalesManager (или чтото вроде того), не будут занимать лицензию.

Таким образом я получал полный список активных и неактивных пользователей и мигрировал данные без проблем.
То есть если банально создать пользователя в онлайн, который уже не работает и дать ему простую роль, то он не будет требовать лицензирования? С онлайном пока не так плотно знаком во всех деталях, тоже думал об этом.
Все пользователи синхронизированы, помимо пяти, наверное их создам.
Старый 05.12.2018, 19:38   #30  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Цитата:
Сообщение от a33ik Посмотреть сообщение
На самом деле у меня все веселье началось, когда создание активностей начало падать изза ссылок на контакты, компании и лиды, которые были удалены. Что делать в таком случае я тоже распишу в посте. Когда только на все это найти время...
Так а что делать? Искать по аттрибуту (Контакта, Лида и т.д.) активности и просто очищать ссылки? По крайней мере я так делал
Старый 05.12.2018, 19:40   #31  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Ion Посмотреть сообщение
То есть если банально создать пользователя в онлайн, который уже не работает и дать ему простую роль, то он не будет требовать лицензирования? С онлайном пока не так плотно знаком во всех деталях, тоже думал об этом.
Все пользователи синхронизированы, помимо пяти, наверное их создам.
С интерфейса у вас это не получится, но можно через эндпоинт. По поводу роли - вы не сможете дать или забрать роль. Роль дастся по умолчанию. По поводу лицензии - да, лицензия не будет требоваться для данного пользователя.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 06.12.2018, 09:04   #32  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Ion Посмотреть сообщение
Так а что делать? Искать по аттрибуту (Контакта, Лида и т.д.) активности и просто очищать ссылки? По крайней мере я так делал
А тут все зависело от того как с клиентом договориться. Для одного потребовалось воссоздавать записи, для другого договорились создать в активности доп поля и туда затягивал то, что есть по записи.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 09.12.2018, 23:51   #33  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Пишу сейчас статью про миграцию, потому как материальчик поднакопился и как раз домигрировал еще одного клиента в облако. Подписывайтесь на мой блог, если интересно.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 11.12.2018, 20:19   #34  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Уже подписался.)))

В Kingswaysoft как мне ассоцировать Opportunity and Competitors? Или с помощью C#, не нашел что-то связи
Старый 11.12.2018, 20:34   #35  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Ion Посмотреть сообщение
В Kingswaysoft как мне ассоцировать Opportunity and Competitors? Или с помощью C#, не нашел что-то связи
Плохо искали:
Нажмите на изображение для увеличения
Название: OpportunityCompetitor.png
Просмотров: 16
Размер:	30.2 Кб
ID:	12160
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 11.12.2018, 21:12   #36  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Цитата:
Сообщение от a33ik Посмотреть сообщение
Плохо искали:
Вложение 12160
То есть надо ручками все делать, писать код?
Старый 11.12.2018, 21:14   #37  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Кстати и я столкнулся с удаленными контактами в appointments. Такой солюшен по их воссозданию ок?

X++:
            Guid entityId = Guid.Parse("93c31bd0-848b-e811-8118-00155df17501");
            string entityLogicalName = "contact";

            // Retrieve the audit records for entity.
            RetrieveRecordChangeHistoryRequest changeRequest = new RetrieveRecordChangeHistoryRequest();
            changeRequest.Target = new EntityReference(entityLogicalName, entityId);

            RetrieveRecordChangeHistoryResponse changeResponse =
               (RetrieveRecordChangeHistoryResponse)connection.Execute(changeRequest);

            AuditDetailCollection details = changeResponse.AuditDetailCollection;

            for (int count = 0; count < details.Count; count++)
            {
                if (typeof(AttributeAuditDetail).Name == details[count].GetType().Name)
                {
                    AttributeAuditDetail detail = details[count] as AttributeAuditDetail;
       
                    if (detail.NewValue == null && detail.OldValue != null)
                    {
                        Entity entity = detail.OldValue;
                        connection.Create(entity);
                        break;
                    }
                }
            }
За это сообщение автора поблагодарили: a33ik (1).
Старый 11.12.2018, 21:15   #38  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Ion Посмотреть сообщение
То есть надо ручками все делать, писать код?
Зачем? KingswaySoft прекрасно с этим справляется.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 11.12.2018, 21:17   #39  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,117 / 842 (35) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Цитата:
Сообщение от Ion Посмотреть сообщение
Кстати и я столкнулся с удаленными контактами в appointments. Такой солюшен по их воссозданию ок?
Это сработает только если у вас аудит был включен. Кстати хорошая идея - я об этом и не подумал. Я создавал исходя из того, что есть в ActivityParty записи.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог и twitter
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 11.12.2018, 21:25   #40  
Ion is offline
Ion
Участник
 
271 / 15 (1) ++
Регистрация: 19.12.2012
Цитата:
Сообщение от a33ik Посмотреть сообщение
Плохо искали:
Вложение 12160
Цитата:
Сообщение от a33ik Посмотреть сообщение
Зачем? KingswaySoft прекрасно с этим справляется.
Ммм, окей, у меня в дата флоу тасках для оппортюнити и компетитора везде стоит "Upsert ", но почему-то связи не создаються или мне надо еще новую дата флоу таску создать?
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
NAV Team: Upgrading from Microsoft Dynamics NAV 2009 R2 or Microsoft Dynamics NAV 2009 SP1 to Microsoft Dynamics NAV 2015 Blog bot Dynamics CRM: Blogs 0 23.02.2015 13:00
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 17 Blog bot Dynamics CRM: Blogs 0 10.05.2014 06:30
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 16 Blog bot Dynamics CRM: Blogs 0 23.01.2014 03:15
crminthefield: Overview: Microsoft Dynamics CRM 4.0 Update Rollup 17 Blog bot Dynamics CRM: Blogs 0 06.05.2011 09:11
german_nav_developer: Buildnummern-Übersicht Microsoft Dynamics NAV 2009 SP1 Blog bot Dynamics CRM: Blogs 0 11.06.2010 16:33
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:54.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.