使用APEX触发器在尝试更新产品(如果可能也插入)时,仅将产品的Cost_Price__c字段复制到自定义对象中。
我是如此亲密,但此刻我遇到的错误是:从PricebookEntry到String的非法分配
trigger updateAccount on Account (after update) {
for (Account oAccount : trigger.new) {
//create variable to store product ID
string productId = oAccount.Product__c;
//SQL statement to lookup price of product using productID
PricebookEntry sqlResult = [SELECT Cost_Price__c
FROM PricebookEntry
WHERE Product2Id =: productId];
//save the returned SQL result inside the field of Industry - Illegal assignment from PricebookEntry to String
oAccount.Industry = sqlResult;
}
}
我是否正确地认为这是因为它从SOQL调用中返回了一组结果?我试过使用sqlResult [0],但它似乎仍然不起作用。
答案 0 :(得分:0)
非法分配,因为您是将整个对象(即PriceBook条目)分配给字符串类型的字段,即“帐户上的行业”。
请使用以下代码进行分配。
oAccount.Industry = sqlResult [0] .Cost_Price__c;
如果这对您有用,请标记答案。
谢谢, 杜沙尔