当我尝试插入价格手册条目时,我收到以下错误:“没有为此产品定义标准价格”
在上传数据之前,我遵循了以下内容:上传标准价格手册条目(所有具有标准价格手册的产品,IsActive = true,UseStdPrice = false)
我不确定问题的原因。这个问题可能不太清楚,无法理解。如果您需要更多详细信息,请告诉我。
当我尝试插入价格手册条目时,我收到以下错误:“没有为此产品定义标准价格”
在上传数据之前,我遵循了以下内容:上传标准价格手册条目(所有具有标准价格手册的产品,IsActive = true,UseStdPrice = false)
我不确定问题的原因。这个问题可能不太清楚,无法理解。如果您需要更多详细信息,请告诉我。
这不是一个与编程相关的问题,我认为它更像是一个管理或数据输入问题。也许这就是这个问题没有受到关注的原因之一。你最好在salesforce.stackexchange.com上询问
首先 - 你确定你真的在使用标准价格手册吗?标准价格手册将勾选复选框,并且将是给定组织中最旧的价格手册:
我有一种奇怪的感觉,您实际上是在尝试上传到自定义价格手册。不要让这个名字欺骗你,它可能被称为“标准”,但如果它没有复选框......
从帮助:
标准价格手册是所有产品的主列表,每个产品都有其相关的默认标准价格。标准价格手册会自动列出所有具有标准价格的有效产品。一个组织只有一个标准价格手册。
自定义价格手册是可以具有标准或自定义(列表)价格的产品的专门列表。定制价格手册非常适合向不同细分市场提供不同价格的产品。对于每个自定义价格手册,您可以确定包含哪些产品,以及它们是按您的标准价格提供,还是以更高或更低的价格提供。
因此,要“将某些产品上传到标准价格手册”,您必须创建一个新PricebookEntry
记录。定制和标准价格手册的流程相同。我使用 Apex 而不是 Data Loader:
Pricebook2 pBook = [SELECT Id, Name FROM Pricebook2 WHERE IsStandard = true];
Id productId = '01t70000009GfMN'; // my freshly made product that doesn't have standard price (yet) and is not listed in any custom pricebook
PricebookEntry pe = new PricebookEntry(
Pricebook2Id = pBook.Id,
Product2Id = productId,
UnitPrice = 1000,
IsActive = true
);
insert pe;
像魅力一样工作(请注意屏幕截图“谎言” - 它表示价格手册的相关列表有 0 个项目,即使我们刚刚插入了一个项目。这是因为标准与自定义拆分):
只有在插入此标准价格手册条目后,您才能继续插入自定义价格手册的条目。
您可能会在http://www.jeffdouglas.com/download/products-pricebooks.pdf找到一些更有用的信息,也许在 Apex v24.0 中对 OpportunityLineItem 进行单元测试时如何避免 STANDARD_PRICE_NOT_DEFINED?也是(它与单元测试相关,但那里的一些链接很有用)。
从夏季 14 开始,您还可以使用
Id pricebookId = Test.getStandardPricebookId();
获取可以在标准 PriceBookEntries 上使用的标准价格手册的 ID。