当我尝试插入Price Book Entry时,我收到以下错误: “没有为此产品定义标准价格”
我在上传数据之前遵循以下内容: 上传标准Pricebook条目(所有产品标准价格簿,IsActive = true,UseStdPrice = false)
我不确定问题的原因。这个问题可能不太清楚,无法理解。如果您需要更多详细信息,请与我们联系。
答案 0 :(得分:2)
这不是与编程相关的问题,我更多地将其称为管理或数据输入问题。也许这是问题引起关注的原因之一。你最好在salesforce.stackexchange.com
询问首先 - 你确定你真的使用标准价格手册吗?标准价格手册将勾选复选框,并将成为给定组织中最早的复选框:
我有一种奇怪的感觉,你实际上是想上传到自定义价格手册。不要让这个名字欺骗你,它可能被称为“标准”,但如果它没有复选框......
来自help:
标准价格手册是所有产品的主列表,每个产品都有 其相关的默认标准价格。标准价格手册 自动列出所有具有标准价格的活动产品。一个 组织只有一本标准价格手册。
定制价格手册是 一个专门的产品列表,可以有标准或自定义 (清单)价格。定制价格书籍是提供产品的理想选择 不同的细分市场。对于每个自定义价格 本书,您可以确定包含哪些产品,以及它们是否包含在内 以您的标准价格或更高或更低的价格提供。
因此,要“将某些产品上传到标准价格手册”,您必须创建新的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找到一些更有用的信息,也可能会How do I avoid STANDARD_PRICE_NOT_DEFINED when unit-testing an OpportunityLineItem in Apex v24.0?(它与单元测试有关,但有些链接很有用)。
答案 1 :(得分:0)
从夏季14开始,您也可以使用
Id pricebookId = Test.getStandardPricebookId();
获取可在标准PriceBookEntries上使用的标准价格手册的ID。