Я надеюсь, что это работает для вас или кого-либо еще.

amics 365 9.0 произошли довольно большие изменения в том, как получить доступ к атрибутам и элементам управления формы - вместоXrm.Page пространство имен, мы должны пройтиexecutionContext к функции и получитьformContext с помощьюgetFormContext() функция. Это работает нормально, и у меня никогда не было проблем с использованием этого подхода.

Однако я пока не разобрался, как правильно получить доступformContext в функциях, которые вызываются из ленты. Документация говорит, что это должно быть действительно просто:

https://docs.microsoft.com/en-us/dynamics365/customer-engagement/developer/customize-dev/pass-dynamics-365-data-page-parameter-ribbon-actions

function myFunction(executionContext) {
    var formContext = executionContext.getFormContext();
    var focusFieldValue = formContext.ui.controls.get(PrimaryControlId).getAttribute().getValue();
}

Но это не говорит, как пройтиexecutionContext функция ленты. В обычных функциях есть флажок«Передать контекст выполнения в качестве первого параметра» а как насчет функций ленты? Есть параметры, которые мы можем передать в эти функции, но они просто GUID выбранных записей, или тип выбранной записи, или даже список объектов, но я не смог найти в документации, если есть параметр, равныйexecutionContext, Кто-нибудь уже решил эту проблему?

Также я знаю, что могу использовать Xrm.Page, и он будет работать (на данный момент, по крайней мере ...), но я хотел бы знать, как это можно сделать, используя последние рекомендации в версии 9.0

Обновление 1:

Согласно предложению Скотта иэта статья я передал PrimaryControl моей команде ленты, но, к сожалению, аргумент имеет типMscrm.FormControlLite и это не имеетgetAttribute функция или любая функция, которая позволила бы получить доступ к formContext (по крайней мере, я не вижу ничего полезного). Несколько скриншотов из инструментов разработчика:

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

Ответы на вопрос(4)

Ваш ответ на вопрос