我在salesforce中插入记录时遇到问题。 记录类型是查找(帐户),字段名称是site_id。我将csv文件记录插入salesforce。但由于此记录(数据类型(查找)),我无法在salesforce中插入记录。如果我将记录类型更改为文本而不是我可以插入。但我需要查找(帐户)类型。 怎么可能......请帮帮我
以下是我的流程
<batch:job name="testsalesforceBatch1">
<batch:input>
<file:inbound-endpoint path="CustomFile" responseTimeout="10000" doc:name="File"/>
<data-mapper:transform config-ref="CSV_To_List_Report__c__1" doc:name="CSV To List<Report__c>"/>
</batch:input>
<batch:process-records>
<batch:step name="Batch_Step">
<batch:commit size="1000" doc:name="Batch Commit">
<sfdc:create-bulk config-ref="Salesforce" type="Report__c" doc:name="Salesforce">
<sfdc:objects ref="#[payload]"/>
</sfdc:create-bulk>
</batch:commit>
</batch:step>
</batch:process-records>
<batch:on-complete>
<logger message="#[payload.totalRecords]" level="INFO" doc:name="Logger"/>
</batch:on-complete>
</batch:job>
我收到了以下错误...
[SaveResult errors='{[1][Error fields='{XXXXXXX,}'
message='XXXXXX: id value of incorrect type: 000'
statusCode='MALFORMED_ID'
]
注意:账户表
中有000值答案 0 :(得分:0)
我得到了答案..如何通过mule在salesforce中插入查找数据类型记录。 使用recordId存储该值......
由于
答案 1 :(得分:0)
对于Salesforce Integrations,有两种方法可以插入/插入/创建具有查找值的字段。
方式1:使用查找目标的实际ID。因此,如果您要查找帐户,首先需要获取您要定位的帐户的ID,然后在字段中将该ID用作&#34;字符串&#34;在数据映射器中。
方式2:在帐户上使用外部ID,并在引用外部ID时竖立新记录。这有点复杂,但是不必进行两次API调用是非常好的方法。 然后,在Datamapper中,您需要将Account列为元素而不是属性。这必须手动完成,因为Datamapper不知道自己做这件事。
Account (Element)
|-type (String) -> 'Account' *this is just a fixed string*
|-ExternalIdFieldName__c (String) -> external_id_from_datasource
由于Account是一个标准的SalesForce对象,因此它后面没有__c或__r,如果它是一个自定义对象而你正在进行查找,它会稍微改变一下。
对象:
MyCustomAccount__c
External ID in above: AccountExternalId__c
Lookup field: AccountLookup__c (lookup to Account from Contact)
在Datamapper中你有:
AccountLookup__r (Element) *notice the __r instead of __c*
|- type (String) -> 'MyCustomAccount__c' *this is just a fixed string*
|- AccountExternalId__c (String) -> externalidfieldfromcsv