Dynamics CRM,功能区按钮,添加链接的子实体

时间:2012-07-06 15:44:52

标签: xml dynamics-crm microsoft-dynamics

我正在尝试向联系表单添加一个按钮,该按钮创建一个链接到父联系人的子活动记录。

我正在使用Ribbon Workbench来尝试这个。 我已经成功显示按钮,但我无法创建子记录。 Ribbon Workbench不会发布以下xml

我到目前为止的XML是:

    <?xml version="1.0" encoding="utf-16"?>
<RibbonDiffXml xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <CustomActions>
    <CustomAction Id="new.contact.Button1.Button.CustomAction" Location="Mscrm.Form.contact.MainTab.Actions.Controls._children" Sequence="19">
      <CommandUIDefinition>
        <Button Command="new.contact.Command0.Command" Description="Send SMS" Id="new.contact.Button1.Button" Image32by32="$webresource:new_sms32" Image16by16="$webresource:new_sms16" LabelText="$LocLabels:new.contact.Button1.Button.LabelText" Sequence="19" TemplateAlias="o1" ToolTipTitle="$LocLabels:new.contact.Button1.Button.ToolTipTitle"     ToolTipDescription="$LocLabels:new.contact.Button1.Button.ToolTipDescription" />
      </CommandUIDefinition>
    </CustomAction>
  </CustomActions>
  <Templates>
    <RibbonTemplates Id="Mscrm.Templates" />
  </Templates>
  <CommandDefinitions>
    <CommandDefinition Id="new.contact.Command0.Command">
      <EnableRules />
      <DisplayRules />
      <Actions>
        <JavaScriptFunction FunctionName="AddSMS" Library="$webresource:new_WFTrigger">
          <StringParameter Name="child" Value="new_sms" />
          <CrmParameter Name="parentRecordId" Value="PrimaryItemIds" />
          <CrmParameter Name="parente" Value="PrimaryEntityTypeCode" /> <!--The ribbon workbench refuses to fill the Name of this parameter and tries to publish it as blank -->
        </JavaScriptFunction>
          </Actions>
    </CommandDefinition>
  </CommandDefinitions>
  <RuleDefinitions>
    <TabDisplayRules />
        <DisplayRules />
    <EnableRules />
  </RuleDefinitions>
  <LocLabels>
    <LocLabel Id="new.contact.Button1.Button.LabelText">
      <Titles>
        <Title description="Send SMS" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="new.contact.Button1.Button.ToolTipTitle">
      <Titles>
        <Title description="Send SMS" languagecode="1033" />
      </Titles>
    </LocLabel>
    <LocLabel Id="new.contact.Button1.Button.ToolTipDescription">
      <Titles>
        <Title description="Send SMS" languagecode="1033" />
      </Titles>
    </LocLabel>
  </LocLabels>
</RibbonDiffXml>

我拥有的javascript网络资源是:

function AddSMS(child, parente, parentRecordId) {
    var url = Xrm.Page.context.getServerUrl() + "main.aspx?etn= " + child + " &extraqs=%3f_CreateFromId%3d" + parentRecordId + "%26_CreateFromType%3d" + parente + "%26etn%" + child + " &pagetype=entityrecord";
open(url, 'Create SMS');
}

更新:我的环境中出现了一个问题,所以我开始了一个新的组织来开发这个问题。当我回到同一点时,我会回到这个主题。谢谢!

2 个答案:

答案 0 :(得分:0)

导入屏幕的最后一页上应该有一个错误,可能有助于您推断出问题。我花了一段时间才意识到错误日志甚至在该页面上。如果我没记错的话,它看起来就像一个超链接。

您可以在错误日志中发布错误消息吗?

答案 1 :(得分:0)

Ribbon Workbench不会发布JavaScriptFunction参数的“Name”属性,因为它们仅在将参数添加到Url操作时使用 - 所以我认为问题不在于此。

你得到什么错误?也许您可能会超时 - 您是否正在发布到Dynamics CRM Online?