AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.06.2020, 14:43   #1  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
:( Как получить ID элемента сущности в новом интерфейсе CRM?
Доброго дня.
Возможно кто то знает, как получить ID - элемента сущности скриптом в гриде в новом интерфейсе?

Небольшая предыстория:
Мы находимся на пороге обновления CRM-ки и знаем что там сменился интерфейс, в .т.ч гридов (на React кажется они теперь написаны).

Ранее у нас был самописный фунционал, который срабатывал на выделение строки в гриде и по ID выделенного элемента получал некоторые данные см. скрин.

Этот же фкнционал в новом интерфейсе работать отказывается по той причине что грид больше не несет в себе ID элемента.

Новый интерфейс см. скрин.
Старый 18.06.2020, 16:37   #2  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
UCI в принципе написан на React + Office UI Fabric (Fluent UI) - не только гриды.
Скрин предоставьте, на который ссылаетесь. Также код не помешает.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 19.06.2020, 08:16   #3  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
Цитата:
Сообщение от a33ik Посмотреть сообщение
UCI в принципе написан на React + Office UI Fabric (Fluent UI) - не только гриды.
Скрин предоставьте, на который ссылаетесь. Также код не помешает.
Так я вроде оба скрина приложил. Сейчас перезалью. А код извлечения ID на странице грида в старом интерфейсе выглядит так:

X++:
var currentContentFrameName = window.top.document.getElementById('crmContentPanel').attributes['currentcontentid'].value;
var frame = window.top.document.getElementById(currentContentFrameName);
var idSelectRow = frame.contentWindow.document.getElementsByClassName('ms-crm-List-SelectedRow')[0].attributes['oid'].value;
Старый интерфейс: https://priscree.ru/img/7464d3aa9a3974.png
Новый интерфейс: https://priscree.ru/img/3ba419bebe0969.png
Старый 19.06.2020, 17:10   #4  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
То, что вы пытаетесь сделать - мягко сказать неподдерживаемое решение.
Перед тем, как что-либо посоветовать, чтобы чинить это, давайте попробуем найти поддерживаемый способ.

Можете, пожалуйста, описать свой сценарий - именно не то, что вы пытаетесь сделать с технической стороны, а бизнес-задачу.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 20.06.2020, 22:20   #5  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
Задача состоит в том, что бы пользователь при выделении из списка определенной организации видел справа этого списка количественную информацию о лидах с его участием, сделках и тедерах в нашей CRM, с предустановленными фильтрами дат и контактной информации.

Реагировать это должно на нажатие на строку из грида. По нажатию на любую другую строку с клиентом предыдущее окно обновляется с информацией по новому клиенту.
Старый 22.06.2020, 04:02   #6  
a33ik is offline
a33ik
Чайный пьяница
Аватар для a33ik
MCP
MCBMSS
Злыдни
Соотечественники
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,243 / 896 (36) +++++++
Регистрация: 02.07.2008
Адрес: Greenville, SC
Есть несколько вариантов решить вашу задачу:
1. Используйте Editable Grid, у которого есть событие выделения определенного ряда - https://docs.microsoft.com/en-us/pow...onrecordselect
2. Если хотите продолжать использовать стандартный грид, то из него можно получить выделенные строки - https://docs.microsoft.com/en-us/pow...etselectedrows
Как отслеживать, что выделение строк/строки изменилось - хороший вопрос. Я бы посмотрел в сторону setInterval и периодически проверял что выбрано - если выделение изменилось - то обрабатывал бы это соответсвенным образом.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством.

Подписывайтесь на мой блог, twitter и YouTube канал.
Пользуйтесь моим Ultimate Workflow Toolkit
Старый 22.06.2020, 10:02   #7  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
Спасибо, буду рассматривать оба способа
Старый 23.06.2020, 17:09   #8  
ximik33rus is offline
ximik33rus
Участник
 
58 / 10 (1) +
Регистрация: 05.03.2018
Адрес: Россия, Владимир
В общем, Editable Grid помог в решении задачи.

X++:
function showInfoFrame(primaryControl)
{
let idSelectRow = primaryControl._formContext._entityId.guid
}
1.Editable Grid добавляется в элементах упрапвления сущности (см. первый скрин: https://screenshare.ru/static/item/TC3rYZuO.png)

2.primaryControl передается при выполнении скрипта (см. галку на вором скриншоте: https://screenshare.ru/static/item/6J0mWjSS.png)

Спасибо за помощь, надеюсь это поможет еще кому то.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 8 Blog bot Dynamics CRM: Blogs 1 30.04.2016 10:26
Leon's CRM Musings: Book Review: Microsoft Dynamics CRM 2013 Unleashed Blog bot Dynamics CRM: Blogs 0 31.10.2014 10:11
Microsoft Dynamics CRM Team Blog: Looking for help for the CRM product family Blog bot Dynamics CRM: Blogs 0 04.10.2014 05:14
crminthefield: Podcast and Overview: Microsoft Dynamics CRM 2011 Update Rollup 11 Blog bot Dynamics CRM: Blogs 0 06.10.2012 05:27
Microsoft Dynamics CRM Team Blog: List Web Part for Microsoft Dynamics CRM 4.0 Deployment Scenarios Blog bot Dynamics CRM: Blogs 0 30.01.2009 22:05

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:43.