我不是开发人员,但我正在尝试学习,因为我已经到了需要代码来进一步定制和自动化的地步。我为商机产品创建了一个自定义“销售价格”字段,用于替换标准销售价格字段。我希望自定义字段默认使用价格手册条目清单价格(单价)值,标准销售价格字段也是如此。然后,我将标准销售价格字段更新为等于自定义销售价格乘以月份条款的数量(将在机会级别更新并通过触发器自动填充到机会产品的反射自定义字段中的自定义字段)。我已经为默认的销售价格值和默认的月份条款创建了触发器,但现在似乎都不起作用。下面是创建新机会行项目时销售价格值的触发器。添加新产品行项目时不确定如何将价格设为默认值?它应该只在添加新时默认,因为我不希望它覆盖他们放入和保存的任何金额。但如果他们回到 opp 并稍后添加其他项目,它也需要工作。非常感谢您对此的任何意见。我花了几个小时搜索帖子和其他文档,但我没有那种天生的开发人员大脑,我正在敲我的头!但如果他们回到 opp 并稍后添加其他项目,它也需要工作。非常感谢您对此的任何意见。我花了几个小时搜索帖子和其他文档,但我没有那种天生的开发人员大脑,我正在敲我的头!但如果他们回到 opp 并稍后添加其他项目,它也需要工作。非常感谢您对此的任何意见。我花了几个小时搜索帖子和其他文档,但我没有那种天生的开发人员大脑,我正在敲我的头!
trigger SalesPricecustom on OpportunityLineItem (before insert) {
Set<Id> pbeIds = new Set<Id>();
for (OpportunityLineItem oli : Trigger.new)
pbeIds.add(oli.pricebookentryid);
Map<Id, PricebookEntry> entries = new Map<Id, PricebookEntry>(
[select UnitPrice from pricebookentry
where id in :pbeIds]);
for (OpportunityLineItem oli :trigger.new){
if(pricebookentry.unitprice <> null && oli.sales_price__c == null){
oli.sales_price__c = entries.get(oli.pricebookEntryId).UnitPrice;
}
}}
谢谢!