Dynamics CRM 2011: CommandProperties CrmParameter неправильно установлен при передаче в функцию JavaScript FlyoutAnchor - PullRequest
2 голосов
/ 17 февраля 2012

Я пытаюсь создать три динамически заполненные кнопки ленты FlyoutAnchor на основе следующего ответа SO: Добавить выпадающее меню на ленту CRM 2011

Все три кнопки FlyoutAnchor используют одинаковые PopulateQueryCommand .Функция JavaScript, которая связана с командой (см. Блок кода ниже), получает CommandProperties CrmParameter, переданный в качестве первого аргумента, чтобы иметь возможность идентифицировать всплывающую кнопку, по которой была нажата (и должна быть заполнена динамически добавляемым выпадающим менюitems).

function DynamicMenu(CommandProperties) {
    /// <summary>Dynamically generate menu items based on context</summary>
    /// <param name="CommandProperties">
    ///    Command properties crm parameter sent from the ribbon.  object used to inject the Menu XML
    /// </param>

    debugger;

    var menuXml = '<Menu Id=\"Sample.DynamicMenu\">' +
                       // ... Other menu XML stuff goes here
                  '</Menu>';

    CommandProperties.PopulationXML = menuXml;  // error here...PopulationXML is undefined... :-(

    // ...
}

Функция вызывается красиво и передается аргумент 'CommandProperties' (это не null и не undefined), но когда я пытаюсь установить PopulationXML, я получаюошибка, потому что это свойство undefined.Три других ожидаемых свойства, перечисленных ниже, также undefined:

  • SourceControlId : значение Id элемента управления ленты, который инициировал событие.
  • CommandValueId : Строка, отправляемая вместе с событием команды при нажатии кнопки.
  • MenuItemId : Ссылка от элемента управления на Id элемента меню.

Когда я передаю второй CrmParameter, например PrimaryEntityTypeName , этот аргумент корректно заполняется / устанавливается.

В чем может быть причина запутанного аргумента CommandProperties?

Обновление 21-2-2012 : Чтобы завершить, я также попробовал одну кнопкуподход, такой как описанный в Добавить выпадающее меню на ленту CRM 2011 , но это дало мне тот же результат (нет пригодного для использования объекта Commandproperties).Мой CRM-сервер работает под управлением Rollup 6, может быть, это как-то связано с этим?Есть ли другой способ получения такого типа всплывающих меню?Может быть, что-то в чистом JavaScript?Он также должен работать в клиенте Outlook CRM ...

1 Ответ

1 голос
/ 23 февраля 2012

Я столкнулся с той же проблемой, вместо использования разрешения '

...