Скопируйте цену продукта в объект настраиваемого поля, используя триггер APEX в Salesforce - PullRequest
0 голосов
/ 19 февраля 2019

Попытка просто скопировать поле Cost_Price__c продукта в пользовательский объект, когда он обновляется (если возможно, также вставляется) с использованием триггера APEX.

Я так близко, но получаю ошибкумомент: Недопустимое присвоение 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], который все еще не работает.

1 Ответ

0 голосов
/ 20 февраля 2019

Illegal Assignmnet, потому что вы присваиваете весь Объект, например, PriceBook Entry, для строкового типа поля, например, Industry on Account.

Пожалуйста, используйте следующий код для назначения.

oAccount.Industry= sqlResult [0] .Cost_Price__c;

Пожалуйста, отметьте ответ, если это работает для вас.

Спасибо, Тушар

...