我从某个记录表单上的功能区按钮调用crm对话框。有没有办法在对话框中获取此记录Guid?
答案 0 :(得分:2)
感谢所有回复。我找到了办法。 在对话框表单助手中,我们应该查找:{ EntityName },而不是在{ EntityName }下面的下拉列表中选择 - 存储了有关调用对话框的当前记录的所有数据。
答案 1 :(得分:0)
是的,这是一个很好的解决方法:
http://crmmongrel.blogspot.com/2011/06/launch-dialog-from-ribbon-button-in-crm.html
在步骤6中,您会注意到功能区包含以下内容:
<CrmParameter Value="FirstPrimaryItemId" />
答案 2 :(得分:0)
我的需求略有不同,因此提出的两个解决方案并不完全合适。如果这有助于其他人,我会张贴。我想在提示和响应页面上显示guid,然后将guid传递给自定义代码。
当然,CRM会将主键guid转换为记录名称。
在代码中这可以,因为我可以通过该名称查询实体以获取记录,但其中有很多额外的处理。
我们在所有表单上都有一个管理标签,以获取额外的支持信息。在这种情况下,我只是创建了一个字段,将其放在管理选项卡上,然后添加此javascript以形成OnLoad。
function PopulateRecordGuid()
{
if (Xrm.Page.ui.getFormType() != 1)
{
if(Xrm.Page.getAttribute('xxxx_recordguid').getValue() == null )
{
var Id = Xrm.Page.data.entity.getId();
Id = Id.replace('{', '');
Id = Id.replace('}', '');
Xrm.Page.getAttribute('xxxx_recordguid').setValue(Id);
}
}
}
当然,有许多变体,例如使用插件填充创建消息或触发记录创建的工作流等。