首页 > 解决方案 > Apex 错误 - 尝试访问记录值时变量不存在

问题描述

试图访问传递给我的方法的记录的值。调试显示记录中的值,但是当我尝试引用它们时,我得到“变量不存在”错误。

这是一个片段:

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

标签: salesforceapex

解决方案


您的代码混淆了 aList<Billing__c>和 a 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是 a List<Billing__c>,所以如果你在迭代它,你的迭代变量newbills需要是 type Billing__c。这使得它的名字相当混乱。我建议只是做

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

进行这些更改后,您的 Apex 将编译。


推荐阅读