19.11.2019, 01:56 | #1 |
Участник
|
Имя\id сабгрида, откуда вызывается Quick Create Form
Доброго времени суток.
Вопрос по Dynamics 365. Подскажите, как можно узнать из какого сабгрида вызывается быстрая форма? В данной ситуации на форме есть 2 сабргрида для одной и той же дочерней сущности, но использующие разные лукапы для связи. И при переходе на 365 появилась проблема, что старый код из 2015 перестал работать. Ранее, эту информацию на OnLoad быстрой формы в скрипте можно было почерпнуть через свойство opener.document.location.hash А вот теперь как это узнать, не понятно. |
|
19.11.2019, 03:05 | #2 |
Участник
|
В принципе решение найдено, но оно тоже ансаппортное. Если кому интересно, напишу
|
|
19.11.2019, 17:27 | #3 |
Чайный пьяница
|
Обязательно пишите.
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
19.11.2019, 20:10 | #4 |
Участник
|
1) Кастомизируем кнопку Add New в риббоонт эдиторе
2) Изменяем её команду, подменяя стандартный обработчик на свою кастомную функцию вида (црм параметры оставляем те же) X++: AddToSubgrid = function (selLogicCode, parentLogicName, parentId, primCtrl, selCtrl) { var subgridId = selCtrl.get_id(); sessionStorage.setItem("SubgridCallerName", subgridId); // call standard handler XrmCore.Commands.Open.addNewFromSubGridStandard(selLogicName, parentLogicName, parentId, primCtrl, selCtrl); 3) На OnLoad быстрой формы вешаем обработчик и считываем имя сабгрида из кеша X++: function onLoad(contex): void { var callerSubgridName = sessionStorage.getItem("SubgridCallerName"); ... } |
|
|
За это сообщение автора поблагодарили: a33ik (1). |
|
|