Dynamics crm Dynamics 365(crm)将假日计划的日历规则从一个系统导入到另一个系统 我已经在OrgA中创建了假日计划记录。这张唱片是 在实体“日历”下创建 我可以使用XrmToolBox数据传输工具移动此记录 在与假日计划相关的记录中,有许多规则 i、 e梅记录。它们来自实体“日历规则” 我希望将这些“日历规则”记录从OrgA导入OrgB

Dynamics crm Dynamics 365(crm)将假日计划的日历规则从一个系统导入到另一个系统 我已经在OrgA中创建了假日计划记录。这张唱片是 在实体“日历”下创建 我可以使用XrmToolBox数据传输工具移动此记录 在与假日计划相关的记录中,有许多规则 i、 e梅记录。它们来自实体“日历规则” 我希望将这些“日历规则”记录从OrgA导入OrgB,dynamics-crm,dynamics-crm-online,dynamics-365,Dynamics Crm,Dynamics Crm Online,Dynamics 365,其他信息: 当我试图使用FetchXMLBuilder检索“日历规则”时,它给了我一个错误 不支持检索多个 使用CRMRESTBuilder的“日历规则”实体不可用。 使用Data Transporter,它不传输记录,并将错误作为错误抛出 “不支持检索多个” 下面的链接有助于理解日历及其所有相关实体。 可以使用XrmToolbox的FetchXml Tester检索CalendarRule实体,这表明它支持ExecuteFetchRequest,但不支持RetrieveMultiple 我在《

其他信息:

当我试图使用FetchXMLBuilder检索“日历规则”时,它给了我一个错误

不支持检索多个

使用CRMRESTBuilder的“日历规则”实体不可用。 使用Data Transporter,它不传输记录,并将错误作为错误抛出

“不支持检索多个”

下面的链接有助于理解日历及其所有相关实体。

可以使用XrmToolbox的FetchXml Tester检索CalendarRule实体,这表明它支持ExecuteFetchRequest,但不支持RetrieveMultiple

我在《CRM每日提示》上写了一篇关于表现出这种行为的实体的文章:

查询:

<fetch>
    <entity name="calendarrule" />
</fetch>

答复(第一记录):


FC5769FC-4DE9-445d-8F4E-6E9869E60857
2.
2019-04-11T20:55:16-04:00
1999-12-31T19:00:00-05:00
{3906F615-4DCD-422D-A3E3-F79134C7CCEF}
1.
1440
{7177F09C-BD5C-E911-A817-000D3A37FFD3}
0
2019-04-11T20:55:16-04:00
{EE10412E-68E7-471D-A10C-D28FCE63B6F3}
{7277F09C-BD5C-E911-A817-000D3A37FFD3}
92
频率=每周;间隔=1;BYDAY=MO,TU,WE,TH,FR
每周单一规则
{EE10412E-68E7-471D-A10C-D28FCE63B6F3}
{7077F09C-BD5C-E911-A817-000D3A37FFD3}
9999-12-30T18:59:59-05:00
{79263477-AA5C-E911-A817-000D3A37FFD3}
下面是一些示例C#代码(未以当前形式测试):

使用Microsoft.Crm.Sdk.Messages;
使用Microsoft.Xrm.Sdk.Query;
使用Microsoft.Xrm.Tooling.Connector;
公开募捐
{
var connectionString=“Url=https://foobar.crm.dynamics.com;用户名=user@foobar.onmicrosoft.com;Password=myPass;AuthType=Office365”;
var crmSvcClient=新的CrmServiceClient(connectionString);
var fetch=@”
";
var executeFetchReq=新的ExecuteFetchRequest
{ 
FetchXml=fetch
};
//工作
var crmSvcExecuteFetchResponse=crmSvcClient.Execute(executeFetchReq);
//不起作用
var crmsvcreetivemultipleresponse=crmSvcClient.RetrieveMultiple(新的FetchExpression(fetch));
}

Perfect Aron!!有道理。我将制作一个控制台工具并深入研究它。但这把我引向了正确的方向。
<result>
    <groupdesignator>
        FC5769FC-4DE9-445d-8F4E-6E9869E60857
    </groupdesignator>
    <rank formattedvalue="2" >
        2
    </rank>
    <createdon date="4/11/2019" time="8:55 PM" >
        2019-04-11T20:55:16-04:00
    </createdon>
    <starttime date="12/31/1999" time="7:00 PM" >
        1999-12-31T19:00:00-05:00
    </starttime>
    <organizationid>
        {3906F615-4DCD-422D-A3E3-F79134C7CCEF}
    </organizationid>
    <isselected name="Yes" >
        1
    </isselected>
    <duration formattedvalue="1,440" >
        1440
    </duration>
    <innercalendarid type="4003" >
        {7177F09C-BD5C-E911-A817-000D3A37FFD3}
    </innercalendarid>
    <isvaried name="No" >
        0
    </isvaried>
    <modifiedon date="4/11/2019" time="8:55 PM" >
        2019-04-11T20:55:16-04:00
    </modifiedon>
    <createdby name="--- ---" dsc="" yomi="--- ---" type="8" >
        {EE10412E-68E7-471D-A10C-D28FCE63B6F3}
    </createdby>
    <calendarruleid>
        {7277F09C-BD5C-E911-A817-000D3A37FFD3}
    </calendarruleid>
    <timezonecode formattedvalue="92" >
        92
    </timezonecode>
    <pattern>
        FREQ=WEEKLY;INTERVAL=1;BYDAY=MO,TU,WE,TH,FR
    </pattern>
    <description>
        Weekly Single Rule
    </description>
    <modifiedby name="--- ---" dsc="" yomi="--- ---" type="8" >
        {EE10412E-68E7-471D-A10C-D28FCE63B6F3}
    </modifiedby>
    <calendarid type="4003" >
        {7077F09C-BD5C-E911-A817-000D3A37FFD3}
    </calendarid>
    <effectiveintervalend date="12/30/9999" time="6:59 PM" >
        9999-12-30T18:59:59-05:00
    </effectiveintervalend>
    <businessunitid>
        {79263477-AA5C-E911-A817-000D3A37FFD3}
    </businessunitid>
</result>
using Microsoft.Crm.Sdk.Messages;
using Microsoft.Xrm.Sdk.Query;
using Microsoft.Xrm.Tooling.Connector;

public void Run()
{
    var connectionString = "Url=https://foobar.crm.dynamics.com; Username=user@foobar.onmicrosoft.com; Password=myPass; AuthType=Office365";     
    var crmSvcClient = new CrmServiceClient(connectionString);

    var fetch = @"<fetch mapping='logical'>
                    <entity name='calendarrule' />                                  
                  </fetch>";

    var executeFetchReq = new ExecuteFetchRequest 
    { 
        FetchXml = fetch 
    };

    //Works
    var crmSvcExecuteFetchResponse = crmSvcClient.Execute(executeFetchReq);
    //Doesn't work
    var crmSvcRetrieveMultipleResponse = crmSvcClient.RetrieveMultiple(new FetchExpression(fetch));
}