Я использую писец для переноса данных доступа к главному объекту из базы данных CRM 4.0 в CRM 2016. Исходный адаптер - это Адаптер данных SQL, который считывает данные из таблицы POA в 4.0. Адаптер назначения - это CRM-адаптер, и у меня есть шаг вставки для вставки данных в CRM 2016. В адаптере назначения Scribe не позволяет мне добавлять ссылки данных в поля PrincipalId и ObjectId из источника. Насколько я знаю, оба этих поля необходимы для создания основного объекта доступа. Однако, поскольку я не могу создать ссылки для передачи данных, я не знаю, как я могу скопировать эти данные в CRM 2016. Пробовал ли кто-нибудь когда-либо пытаться перенести таблицу доступа к главному объекту с помощью писца и предложить мне какие-нибудь предложения? Любая помощь будет принята с благодарностью.Scribe Insight: Перенос основных данных доступа к объекту доступа из CRM 4.0 в CRM 2016
ответ
Несколько вещей, которые я заметил с вашего экрана, которые могут помочь вам:
- Вы пытаетесь установить principalobjectaccessid на вставке. Я думаю, что это no-no, поскольку вы создаете запись crm и хотите, чтобы вместо этого был назначен новый guid.
- Вы просматриваете код типа, но не внешние ключи для objectid и основного id. Вам нужно будет обратиться к ним (возможно, по имени или в таблице xref, так как в качестве ссылок будут использоваться разные импортные сообщения), чтобы получить общий доступ.
- Чтобы просмотреть эти объекты и принципы, вам понадобятся их для ввода в CRM2016 на предыдущем шаге.
Одно замечание, которое я бы добавил, основанное на ограниченных знаниях, которые у меня есть, которые вы пытаетесь перенести процесс 4,0 мысли, связанный с совместным использованием CRM 2016, это очень хорошо может быть плохой идеей. Хотя совместное использование по-прежнему поддерживается, и, безусловно, часть приложения имеет проблемы с производительностью, которые приходят с широким обменом, и, честно говоря, гораздо сложнее работать с тогдашними командами. Как я уверен, вы сейчас заметили.
Таблица POA является внутренней для CRM и не должна записываться напрямую, даже через API.
В нем хранится информация о том, как записи (определенные объективом) предоставляются пользователям/командам (определяется принципатом).
Похоже, вы хотите перенести свои акции с CRM 4.0 на 2016. У Scribe есть механизм для этого, используя виртуальные поля. Посмотрите в справке «Адаптер для Microsoft Dynamics CRM» и выполните поиск «Предоставление доступа». Это объясняет, как использовать виртуальные поля.
Я попытался установить виртуальные поля из источника, но это не сработало. Кажется, он работает только для создания. Если объект имеет несколько строк в таблице POA, шаг обновления не записывает значения в новую среду CRM. – mahajan
Спасибо за ответ. 1. На вставке мы пытаемся сопоставить идентификатор так, чтобы идентификатор был таким же, как и в CRM 4.0. Я сделал это для учетной записи, контактов и других настраиваемых объектов, и он правильно копирует идентификаторы. Я попытаюсь удалить сопоставление с идентификатором и вставить с новым идентификатором и посмотреть, поможет ли это. 3. Я перенесил объекты и принципы из CRM 4.0, и они имеют те же подсказки, что и в 4.0. – mahajan
Что касается пункта 2. Я не понял. Я могу настроить поиск, но на самом деле это не решает проблему. Он по-прежнему не позволяет мне настроить каналы передачи данных для копирования объектов primaryId и ObjectId на объект. Не могли бы вы рассказать? Позвольте мне попробовать вышеупомянутые предложения, и я дам вам знать, как это происходит. – mahajan
Хорошо, я подожду, чтобы услышать этот фронт. Вы искали базу знаний Scribe для сообщения об ошибке, которое вы получаете? [openmind.scribesoft.com] (https://openmind.scribesoft.com/forums) –