Php 简化记录类型Id链接
当通过PHP使用Salesforce SOAP API时,如果我有一个对象,其中有一个帐户的查找字段,该帐户上有一个特定字段,该字段设置为外部id,那么我可以执行以下操作Php 简化记录类型Id链接,php,salesforce,Php,Salesforce,当通过PHP使用Salesforce SOAP API时,如果我有一个对象,其中有一个帐户的查找字段,该帐户上有一个特定字段,该字段设置为外部id,那么我可以执行以下操作 $sfBooking->fields['Account__r'] = "<type>Account</type>" . "<custom_account_id__c>" . utf8_encode($tboxBooking->client_id) . "&
$sfBooking->fields['Account__r'] = "<type>Account</type>"
. "<custom_account_id__c>"
. utf8_encode($tboxBooking->client_id)
. "</custom_account_id__c>";
$sfBooking->fields['Account\uu r']=“Account”
. ""
. utf8\u编码($tboxBooking->client\u id)
. "";
当尝试链接记录而不必使用其Salesforce ID时,这非常方便
我想知道,在通过API设置对象的记录类型时,是否可以使用类似类型的速记。如果可能的话,首先查询record type对象来获取记录类型id是我想省去的一个步骤。David,我不知道有类似的速记方法来设置记录类型。不幸的是,RecordType没有实现此目的所需的外部id
我的建议是查询所有记录类型,并建立DeveloperName to Id的本地查找表/数组。然后,您可以在整个应用程序中使用此查找表/数组,根据Salesforce中该记录类型的DeveloperName设置正确的记录类型Id。您可以使用RecordType上的name字段执行此操作,生成的xml应该如下所示
<create xmlns="urn:partner.soap.sforce.com">
<sobject>
<type>case</type>
<subject>Test</subject>
<recordType>
<type>RecordType</type>
<name>InternetCase</name>
</recordType>
</sobject>
</create>
案例
试验
记录类型
互联网案例
根据你发布的代码,你会
$sfBooking->fields['RecordType'] = "<type>RecordType</type>"
. "<name>"
. utf8_encode($tboxBooking->recordType_name)
. "</name>";
$sfBooking->fields['RecordType']=“RecordType”
. ""
. utf8_编码($tboxBooking->recordType_名称)
. "";
您有有效的示例代码吗?我在Name和DeveloperName字段周围尝试了一些不同的方法,但没有任何乐趣。谢谢,更进一步,如果字段上的idLookup属性设置为true,那么您可以使用该字段。然而,大多数情况下这是错误的。不幸的是,名称不是唯一的,因此如果不同的SObject类型具有相同名称的RecordTypes,您将获得重复的\u EXTERNAL\u ID。