Источник:
http://axforum.info/forums/blog.php?b=6412
==============
Вчера меня посетила давняя проблема CRM - на форме Продукта для возможной сделки перестали фильтроваться продукты входящие в прайс. Проблема широко известна и сохраняется уже не в первой версии системы. Расследование показало, что виной всему может служить любая попытка настроить лукап продукта: разрешить поиск, или добавить обработчик изменения продукта (на моей форме, он автоматически подставляет единицу измерения по умолчанию). В результате, форма меняет значения полей
DefaultViewId (Представление по умолчанию) и
AvailableViewIds (Список доступных представлений).
Существует мнение, что если удалить обработчики событий, или отключить поиск, то ошибка исправится. В моем случае, это не сработало. Решение проблемы описано в этом блоге:
http://crmandsharepoint.blogspot.com...e-list-is.html
Последовательность действий:
- Создайте новое решение и включите в него объект Продукт для возможной сделки. Можете использовать свое текущее решение, тогда вам просто потребуется больше времени
- Экспортируйте его как неуправляемое, распакуйте архив и откройте в редакторе файл кастомизаций customizations.xml.
- Простой автозаменой, замените все вхождения строки "{8BA625B2-6A2A-4735-BAB2-0C74AE8442A4}" на "{BCC509EE-1444-4A95-AED2-128EFD85FFD5}". Это статичные системные идентификаторы, поэтому они общие для всех систем. Не нужно искать их в базе, как это советует автор цитированного поста.
- Запакуйте все как было и импортируйте решение обратно в систему
В моем случае система заработала полностью: сохранилась и фильтрация продуктов по прайсу и поиск продуктов (с учетом фильтра) и обработчик события.
Если у вас планируются какие-то сложные доработки связанные с этой формой, возможно лучшим решением будет динамически подключать обработчики событий из кода-обработчика OnLoad.
Источник:
http://axforum.info/forums/blog.php?b=6412