Можно ли создать динамическую ссылку для использования из представления в Dynamics CRM?

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

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

По сути, ссылка создаст URL, а затем откроется новое окно с этим URL. Вот моя структура URL: https://example.com/mscrm/ticketing/Activity/PhoneCallSave.aspx?cId=00000000-0000-0000-0000-000000000000&id=%7b00000000-0000-0000-0000-000000000000%7d&orgname=00000000- 0000-0000-0000-000000000000 & =% Идентификатор_пользователя 7b00000000-0000-0000-0000-000000000000% 7d & тип = контакт & маркер = Zf7Hi3PFokqRn3RnTD6hPA

1 ответ

Решение

Это интересная просьба, с которой я раньше не сталкивался...

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

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

Таким образом, вы используете основную контактную сетку для получения контактной информации, а мини-сетка содержит ваши динамические URL-адреса (с правильными именами ссылок, а не с необработанными URL-адресами).

Шаги высокого уровня будут:

  1. Получить идентификатор пользователя из контекста формы.
  2. Загрузите подсеть, получите набор идентификаторов контактов.
  3. Создайте URL для каждого контакта.
  4. Заполните URL-адреса в мини-сетке в том же порядке, что и контакты во вспомогательной сетке, чтобы каждая строка в мини-сетке выровнялась со своей строкой контактов слева.

Другой идеей было бы изучить функциональность пользовательских значков в V9, чтобы увидеть, есть ли здесь какие-либо хуки, куда можно добавить динамический URL.

Вы также можете написать плагин RetrieveMultiple для динамического заполнения текстового поля в формате URL. RetrieveMultiple плагины имеют свои предостережения. Но насколько это плохо?

Неподдерживаемым вариантом может быть взлом DOM и помещение вашего динамического URL в пустое поле в формате URL в представлении.

Другие вопросы по тегам