Salesforce:从C#创建商机行项目和商机

时间:2014-05-22 12:29:03

标签: c# soap salesforce

使用Salesforce的企业wsdl我试图保存机会行项目和机会。但是我收到了以下错误:

  

INVALID_FIELD:没有这样的列' OpportunityLineItems'实体'机会'如果您尝试使用自定义字段,请务必附加' __ c'在自定义字段名称之后。请参考您的WSDL或描述调用以获取相应的名称。

以下是我创建订单项的代码:

if (oppLineItems.Count > 0)
{
     sfOpportunity.OpportunityLineItems = new QueryResult();
     sfOpportunity.HasOpportunityLineItem = true;
     sfOpportunity.OpportunityLineItems.records = oppLineItems.Values.ToArray();

     Pricebook2 priceBook = new Pricebook2();
     priceBook.PricebookEntries = new QueryResult();
     priceBook.PricebookEntries.records = new List<PricebookEntry>() { priceBookEntry }.ToArray();
     sfOpportunity.Pricebook2 = priceBook;
}

oppLineItems是一个字典,整个值具有机会行项的代理对象。 sfOpportunity是Opportunity的代理对象,然后发送给Salesforce。

1 个答案:

答案 0 :(得分:1)

这里有一个非常相似的问题,不确定我们是否应该将其标记为重复:Salesforce: Creating OpportunityLineItems as part of the Opportunity in PHP

机会上的

OpportunityLineItems不是一个真实的领域。它的名称叫&#34;关系名称&#34; ...类似于普通数据库中的表别名,特别是当你进行连接时很有用。 HasOpportunityLineItem是一个只读字段:)我不认为这些应该是QueryResult,请查看http://www.salesforce.com/us/developer/docs/api/Content/sample_create_call.htm以获取一些提示吗?

您需要先插入商机,操作结果会为您提供记录的ID。然后你应该插入行项目的列表(数组)。

这意味着2个API调用和额外的注意事项当Opp标头保存OK但一条或多条线路出现故障时该怎么办...所以也许编写像我在其他问题中建议的Apex web服务一样好主意

相关问题