Попробуйте так... сделайте две внешне одинаковые кнопки, но вызывающие разные функции (JS Веб-ресурса) т распаложенные, соотвветственно на ленте основной формы и связанныз записей. Для получения GUID’ов выделенных записей:
X++:
<RibbonDiffXml>
<CustomActions>
<CustomAction Id="new_MyFirstButton"
Location="Mscrm.HomepageGrid.{!EntityLogicalName}.MainTab.Management.Controls._children"
Sequence="31" >
<CommandUIDefinition>
<Button Id="B_MyFirstButton"
LabelText="Супер кнопка"
ToolTipTitle="Подсказка для супер кнопки"
ToolTipDescription="Описание для супер кнопки"
TemplateAlias="o1"
Image32by32="$webresource:new_cub32.png"
Command="Form.account.CustomButton" />
</CommandUIDefinition>
</CustomAction>
</CustomActions>
<Templates>
<RibbonTemplates Id="Mscrm.Templates"></RibbonTemplates>
</Templates>
<CommandDefinitions>
<CommandDefinition Id="Form.account.CustomButton">
<EnableRules>
<EnableRule Id="Mscrm.Enabled" />
</EnableRules>
<DisplayRules/>
<Actions>
<JavaScriptFunction FunctionName="AlertGUID" Library="$Webresource:new_AlertGUID.js" >
<CrmParameter Value="SelectedControlSelectedItemIds" />
</JavaScriptFunction>
</Actions>
</CommandDefinition>
</CommandDefinitions>
<RuleDefinitions>
<TabDisplayRules/>
<DisplayRules/>
<EnableRules/>
</RuleDefinitions>
<LocLabels />
</RibbonDiffXml>
JavaScript Beб-ресурс с именем new_AlertGUID.js:
X++:
function AlertGUID(SelectedControlSelectedItemIds) {
alert("SelectedControlSelectedItemIds: " + SelectedControlSelectedItemIds); // Все GUID'ы разделенные запятыми
}
Ну а для второй кнопки чтобы получить id текущей записи:
X++:
Xrm.Page.data.entity.getId();
ну или можно пошаманить с
CrmParameter и PrimaryItemIds (http://msdn.microsoft.com/en-us/library/gg309332.aspx).
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога