0

这是这个问题的后续问题。我正在尝试通过 Freeform 将 Web 表单数据发送到 MS Dynamics 2011。我们构建了一个扩展来将数据发送到 MS Dynamics,它的构建方式是我们可以根据需要添加其他字段收集该数据。

感谢该线程中的几个耐心的人,以及我的更多研究,我现在已经通过我的头骨得到了它,查找值没有数值,而是唯一的 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 可以识别该字段的值,从而知道如何填充数据.

有没有人知道为什么这可能不起作用?或者,我的问题是否有点含糊不清?(我知道我没有给你扩展的完整代码——虽然我们计划再次雇用这个小组来对扩展进行不同的更改,虽然我们可以要求他们映射这些字段......我'如果可以的话,我希望自己能够弄清楚。)

4

1 回答 1

0

我不知道您在做什么,也不知道它是如何工作的,但是在 CRM SDK 本身中,查找字段实际上是 type EntityReference,其中包含 GUID 和查找实体类型的实体逻辑名称。因此,无论您的数据翻译过程是什么,它都需要接受实体逻辑名称(全部小写)。在你的情况下看起来像campaign......

于 2013-03-27T03:51:07.933 回答