Dynamics CRM 2011: добавление полей формы, не связанных с сущностью - PullRequest
3 голосов
/ 20 июня 2011

Я продолжаю обнаруживать, что хочу добавить в формы CRM поля, которые на самом деле не представляют физические поля на объекте.Я хочу, чтобы эти поля были отправлены в сообщении об обновлении, для удобства моих плагинов ...

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

Теперь я знаю, как написать плагин, который берет поля адреса, введенные в сообщении «Создать / обновить», и фактически записывает ихвместо этого в объекте Address.Это достаточно просто.Кажется, что трудная часть убеждает CRM отображать поля в форме, чтобы пользователь мог ввести адресные данные.

Единственный способ, которым я могу это сделать, - создать «фальшивку»поля в контактно-эквивалентной форме, так что редактор форм позволяет мне добавлять поля в диалог.Затем я должен отфильтровать эти атрибуты в плагине, чтобы поддельные поля фактически не записывались в БД.

Это бы сработало, но включает заполнение схемы БД поддельными столбцами, которые будут (или должен ) никогда не иметь никаких данных в них.Это делает будущую настройку системы более запутанной, поскольку во всех графических интерфейсах присутствуют поля-приманки, называемые «НЕ ИСПОЛЬЗОВАТЬ - Адрес1».Проблема усугубляется, когда мне нужно поле поддельного поиска - это включает в себя создание поддельных отношений.

Итак: есть ли способ достичь того же самого, не сбрасывая поддельный мусор в схему базы данных?

Возможно, есть ли какой-нибудь способ создать поле формы для произвольного атрибута в Javascript на форме, чтобы атрибуты были включены в сообщение об обновлении?

Конечно, я понимаюЯ мог бы использовать IFrame или Silverlight для этого, но я бы предпочел использовать подлинные поля формы CRM и обрабатывать данные в хуке плагина Update / Create message.

1 Ответ

1 голос
/ 20 июня 2011

К сожалению, вы уже упомянули два варианта, которые я могу придумать: поддельные поля или пользовательские IFrames.

Я знаю, что это "грязно", но на самом деле у меня не было особых проблем с заполнением поддельных полейвещь.Стандартные соглашения об именах - ваш друг.Я предпочитаю поддельные поля, а не IFrames, потому что пользователи все еще могут запрашивать и фильтровать их в расширенном поиске, отчетах, представлениях и т. Д.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...