Xrm.Navigation.openForm не поддерживает formid в унифицированном интерфейсе - PullRequest
0 голосов
/ 21 ноября 2018

Я использую технику в следующем посте:

Xrm.Navigation.openForm не учитывает formid

, который отлично работает в Классическом интерфейсе.

Я обновил свой JavaScript до следующего:

function OpenSpecificForm(primaryControl)
    {
        const FORMID = "A696976B-EA8A-42F3-B4DC-F35DC9204D58";                      

        var formContext       = primaryControl;
        var parameters        = { formid: FORMID };
        var entityFormOptions = {};
        entityFormOptions["entityName"] = "new_entity_name";

        var recordId = formContext.data.entity.getId();                    
        var recordName   = formContext.getAttribute("new_name").getValue();    

        if (recordId != null)   { parameters["new_targetentityfieldid"] = recordId; }
        if (recordName != null) { parameters["new_targetentityfieldname"] = recordName; }

        Xrm.Navigation.openForm(entityFormOptions, parameters);
    }

и настройте ленточный верстак следующим образом:

Параметр Crm

Этот код продолжает работать, как ожидается, вклассический интерфейс, но, похоже, не работает в новом унифицированном интерфейсе.Форма сущности открывается, но открывается последней, которую запоминает CRM, а НЕ той, которую я указал в formId.

Кому-нибудь удалось открыть определенную форму в новом пользовательском интерфейсе?

1 Ответ

0 голосов
/ 21 ноября 2018

Я вижу пару потенциальных проблем с вашим кодом.

Первый связан с тем, как генерируется контекст формы, потому что его действительно нужно получить с помощью метода getFormContext ( документация кажется неправильной) из объекта primaryControl:

var formContext = primaryControl.getFormContext();

Вторым параметром является имя параметра formId , которое в соответствии с документацией должно быть записано с использованием заглавной буквы I. Возможно, это не проблема, нопомните, что json spec гласит следующее:

Все имена членов, которыми обмениваются между Клиентом и Сервером и которые рассматриваются для сопоставления любого вида, должны рассматриваться с учетом регистра.,Термины функция, метод и процедура могут считаться взаимозаменяемыми.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...