Microsoft Dynamics CRM 2011: обновление поля поиска с использованием SQL

#dynamics-crm-2011 #dynamics-crm

#dynamics-crm-2011 #dynamics-crm

Вопрос:

У меня в CRM тысячи инцидентов, которые либо разрешены, либо отменены. Недавно мы добавили новое поле поиска в форму инцидента, но, конечно, инциденты, которые уже закрыты, не имеют в нем никакого значения. Важно заполнить это поле поиска для всех инцидентов.

Я попытался создать консольное приложение, которое обновило бы все закрытые инциденты, но, по-видимому, я не могу обновить инцидент, если сначала не активирую его.

Повторное открытие (а затем повторное закрытие) любого инцидента на этом этапе в значительной степени нежелательное решение.

Итак, мне было интересно обновить это поле поиска, написав простой оператор SQL. Я знаю, что это сильно не поддерживается, поэтому мой вопрос в том, что может пойти не так? Я попытался обновить один инцидент с помощью SQL, и, похоже, он работает, но прежде чем обновлять их все, я хочу знать, почему я не должен этого делать? Достаточно ли обновить это одно поле поиска в таблице базы данных (чтобы ввести в него соответствующий идентификатор GUID) или есть что-то еще, что я тоже должен обновить?

Или, если у вас есть какие-либо другие решения, как я мог бы заполнить это поле без повторного открытия инцидента, я был бы рад это услышать.

Комментарии:

1. Несмотря на то, что он не поддерживается, это практически единственный вариант, доступный в ваших обстоятельствах. Обновления, которые вам могут сойти с рук, добавление или удаление я бы никогда не стал делать, поскольку это требует дополнительной координации с таблицами, такими как PrincipleObjectAccess

Ответ №1:

Как вы уже обнаружили с помощью SDK, сначала необходимо повторно активировать инцидент.

By SQL не поддерживается и предпочтительнее избегать прямых обновлений.

Вы можете столкнуться с некоторыми проблемами с SQL-способом, например, рабочие процессы не будут запускаться обновлениями SQL, в вашем случае, вероятно, вы не столкнетесь с проблемами при обновлении закрытых инцидентов (возможно, вам нужно заполнить этот поиск для требований к отчетности).

Насколько я знаю, если вы хотите использовать SQL, вам нужно обновить только один атрибут.

Окончательное решение за вами.