繁体   English   中英

Salesforce:从C#中创建商机订单项以及商机

[英]Salesforce: create Opportunity Line Items along with Opportunity from C#

我使用Salesforce的企业wsdl尝试保存机会订单项以及机会。 但是我收到以下错误:

INVALID_FIELD:实体'Opportunity'上没有此类列'OpportunityLineItems'如果尝试使用自定义字段,请确保在自定义字段名称后附加'__c'。 请参考您的WSDL或describe调用以获取适当的名称。

这是我用于创建订单项的代码:

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是机会的代理对象,然后将其发送给Salesforce。

这里有一个非常类似的问题,虽然不确定我们是否应该将其标记为重复: Salesforce:在PHP中创建OpportunityLineItems作为Opportunity的一部分

OpportunityLineItems上的OpportunityLineItems不是真实字段。 它称为“关系名称” ...与普通数据库中的表别名类似,尤其在进行联接时很有用。 而且HasOpportunityLineItem是一个只读字段:)而且我不认为这些应该是QueryResult ,请查看http://www.salesforce.com/us/developer/docs/api/Content/sample_create_call.htm以获得一些提示?

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

这意味着2个API调用和Opp标头保存确定但一行或多行失败时的额外注意事项...因此,像在另一个问题中建议的那样编写Apex Web服务也许是个好主意。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM