Можно ли создать динамическую ссылку для использования из представления в 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-адресами).
Шаги высокого уровня будут:
- Получить идентификатор пользователя из контекста формы.
- Загрузите подсеть, получите набор идентификаторов контактов.
- Создайте URL для каждого контакта.
- Заполните URL-адреса в мини-сетке в том же порядке, что и контакты во вспомогательной сетке, чтобы каждая строка в мини-сетке выровнялась со своей строкой контактов слева.
Другой идеей было бы изучить функциональность пользовательских значков в V9, чтобы увидеть, есть ли здесь какие-либо хуки, куда можно добавить динамический URL.
Вы также можете написать плагин RetrieveMultiple для динамического заполнения текстового поля в формате URL. RetrieveMultiple плагины имеют свои предостережения. Но насколько это плохо?
Неподдерживаемым вариантом может быть взлом DOM и помещение вашего динамического URL в пустое поле в формате URL в представлении.