Ошибка Apex - переменная не существует при попытке доступа к значению записи - PullRequest
0 голосов
/ 16 июня 2019

Попытка получить доступ к значению записи, переданной в мой метод. Отладка показывает значения из записи, но когда я пытаюсь ссылаться на них, я получаю ошибки «переменная не существует».

Вот фрагмент:

public static void method1(list<billing__c> passBillings){
            list<billing__c> bills =  passBillings;

            for (list<billing__c> newbills : bills){
                if (newbills.balance__c > 1){
                    system.debug('has balance');
                }
            }

            }

Я хочу использовать остаток для продолжения оператора if, но получаю эту ошибку: Переменная не существует: balance__c

1 Ответ

0 голосов
/ 16 июня 2019

Ваш код сбивает с толку List<Billing__c> и Billing__c.Объект sObject имеет свойство Balance__c;Список не.

public static void method1(list<billing__c> passBillings){
        list<billing__c> bills =  passBillings; 

Вам не нужно bills.Это просто новое имя для того же экземпляра объекта.

        for (list<billing__c> newbills : bills){

bills - это List<Billing__c>, поэтому, если вы выполняете итерацию по нему, ваша итерационная переменная newbills должна иметь тип Billing__c.Это делает его имя довольно запутанным;Я бы посоветовал просто сделать

        for (Billing__c bill : bills){
            if (bill.balance__c > 1){

Как только вы внесете эти изменения, ваш Apex скомпилируется.

...