在MS动态中填充查找字段

时间:2013-03-26 22:00:16

标签: mapping dynamics-crm-2011 guid lookup

这是this one的后续问题。我正在尝试通过Freeform将网络表格数据发送到MS Dynamics 2011.我们有一个扩展程序,用于将数据发送到MS动态,它是以我们发现我们想要的方式添加其他字段的方式构建的收集这些数据。

感谢那个帖子中有几个耐心的人,以及我的一些研究,我现在已经通过我的头骨了解了查找值没有数值,而是唯一ID(GUID)。我甚至想过如何识别查找值的GUID。但是,当我使用GUID构建一个数组以将字段数据映射到MS Dynamics时,它没有填充。

以下是一些代码:

$configData['fieldMapping'] = array(
    'first_name' => array('name' => 'firstname', 'value' => null),
    'last_name'  => array('name' => 'lastname', 'value' => null),
    'email' => array('name' => 'emailaddress1', 'value' => null),
    'email_address' => array('name' => 'emailaddress1', 'value' => null),
    'phone' => array('name' => 'telephone2', 'value' => null),
    'credit_history' => array(
        'name' => 'new_selfreportedcredithistory', 
        'value' => array(
            'excellent' => 100000000,
            'Good'          => 100000001,
            'Fair'          => 100000002,
            'Poor'          => 100000003,
            'Bad'           => 100000005,
        )
    ),
    'campaign_name' => array(
        'name' => 'campaignid', 
        'value' => array(
            'USDA' => 'B53EA05A-2C29-E211-8C3A-78E3B5101ED7',
            'Radio Ads'             => '8F254BB4-5575-E211-8AAB-78E3B510ED7',
            'Postcards'             => '4F8E216D-9C1D-E211-8DA=-78E3B508542D',
        )
    ),
    'how_referred' => array('name' => 'leadsourcecode', 'value' => null)
);

我在GUID周围加上引号,因为当我不将它们留在引号中时,我收到了Dreamweaver中PHP语法错误的警告。但是,当我测试我的一个表单并在表单中传回其中一个文本值(左侧列)时,此处标识了GUID,该字段仍未映射。 credit_history字段映射得很好 - 但是这会进入选项集字段,而不是查找字段。我刚刚复制了选项集字段映射,因为它看起来可能有用:它正在构建一个数组来“翻译”我们的表单可能将它发送到MS Dynamics将为该字段识别的值,从而知道如何填充数据

有没有人知道为什么这可能不起作用?或者,我的问题有点模糊到排除故障吗? (我知道我没有给你扩展的完整代码 - 虽然我们计划再次雇用这个小组对扩展做出不同的改变,而我们可以要求他们映射这些字段......我如果可以的话,我有点想弄明白自己。)

1 个答案:

答案 0 :(得分:0)

我对您正在做什么或者它是如何工作一无所知,但在CRM SDK本身中,查找字段实际上是EntityReference类型,其中包含GUID和实体逻辑名称查找实体类型。因此,无论您的流程是什么来翻译您的数据,它都需要接受实体逻辑名称(全部小写)。在您的案例中看起来像campaign ......