#javascript #dynamics-crm #dynamics-365 #crm-ribbon-workbench
Вопрос:
У меня есть пользовательская кнопка, созданная на рабочем столе ленты под названием «отправить электронное письмо» (для краткости), в которой должно произойти следующее: создать запись электронной почты—>вставить шаблон электронной почты через сервис—>>открыть в режиме для пользователя.
С учетом сказанного я создал следующие конфигурации кнопок ленточного рабочего стола:
Как вы можете видеть, я добавил параметр, передающий контекст выполнения, и параметр, который, если я не ошибаюсь, должен передавать объект формы.
Я написал javascript, который запускается кнопкой. Javascript запускается и работает, но не работает при попытке захватить идентификатор записи. Ниже приведен мой фрагмент javascript:
function ltCreateIAafterPurchaseTemplate(executionContext, item){
alert("AFTER PURCHASE");
var formContext = executionContext;
var emailTemplateToLoad = "f22cb309-1fd9-eb11-bacb-000d3a361c51";
var selectedItem = item[0];
alert("selectedItem: " selectedItem.Id);
}
Вышеуказанные item
параметры передаются вместе с данными объекта, которые мне нужны, и, насколько мне известно, оператор var selectedItem = item[0]
является правильным способом их получения. Однако при попытке отобразить идентификатор в консоли я получаю следующую ошибку в предупреждении alert("selectedItem: " selectedItem.Id);
:
После наведения курсора на переданный параметр он имеет длину 0, указывающую на его пустоту:
Ответ №1:
Первый параметр-получение контекста выполнения с помощью PrimaryControl
параметра CRM в команде ленты.
Второй параметр SelectedControlSelectedItemReferences
получит ожидаемый массив элементов, когда вы выберете одну или несколько записей в представлении сетки. В противном случае он будет равен нулю, как и в вашем случае.
Выберите одну запись, и код будет работать.