找不到自定义字段
Custom field is not found
我正在尝试自学 Salesforce 并想向帐户添加自定义字段。
为了实现这一点,我做了以下工作:
我已将总计自定义字段添加到帐户:
这是触发器:
trigger AccountTotalTrigger on Account (before insert) {
List<String> accountNames = new List<String>{};
//Loop through all records in the Trigger.new collection
for(Account a: Trigger.new){
//Concatenate the Name and billingState into the Description field
a.Description = a.Name + ':' + a.BillingState;
}
}
及伴随测试:
@IsTest
private with sharing class AccountsTest {
@IsTest
static void testAccountTriggerViaDML()
{
// This example is simple, illustrates how to invoke the trigger code via DML (required),
// but can become complex and detract from TDD and more granularly testing of the Accounts class
Account testAccount = new Account( Name = 'Test Account' , Total = 100 );
insert testAccount;
testAccount = [select Id, Name from Account where Id = :testAccount.Id];
System.assertEquals(testAccount.Name, 'Test Account');
}
}
但是“问题”选项卡上存在问题:
消息是:字段不存在:帐户总计
我没有正确设置帐户字段吗?
测试不应该失败吗?它似乎通过了:
字段(数据库列)的 API 名称是 Total__c
。 “总计”只是可见的标签。您的 Salesforce 可能有 French/German/Spanish 位演讲者,他们希望看到它被翻译,但代码应该仍然 运行 OK。
您对 SF 数据库所做的大多数自定义操作都以此后缀结尾。例如,像 Application__c
这样的自定义表(“对象”),像 Total__c
这样的自定义字段。地理定位字段、大对象、外部数据的后缀更多......但那是另一天的战斗;)
每当您尝试在顶点中使用自定义字段时,请务必在末尾附加 __c
。
在你的情况下,你应该在你的测试和触发器中使用 Total__c
而不是 Total
。
我正在尝试自学 Salesforce 并想向帐户添加自定义字段。
为了实现这一点,我做了以下工作:
我已将总计自定义字段添加到帐户:
这是触发器:
trigger AccountTotalTrigger on Account (before insert) {
List<String> accountNames = new List<String>{};
//Loop through all records in the Trigger.new collection
for(Account a: Trigger.new){
//Concatenate the Name and billingState into the Description field
a.Description = a.Name + ':' + a.BillingState;
}
}
及伴随测试:
@IsTest
private with sharing class AccountsTest {
@IsTest
static void testAccountTriggerViaDML()
{
// This example is simple, illustrates how to invoke the trigger code via DML (required),
// but can become complex and detract from TDD and more granularly testing of the Accounts class
Account testAccount = new Account( Name = 'Test Account' , Total = 100 );
insert testAccount;
testAccount = [select Id, Name from Account where Id = :testAccount.Id];
System.assertEquals(testAccount.Name, 'Test Account');
}
}
但是“问题”选项卡上存在问题:
我没有正确设置帐户字段吗?
测试不应该失败吗?它似乎通过了:
字段(数据库列)的 API 名称是 Total__c
。 “总计”只是可见的标签。您的 Salesforce 可能有 French/German/Spanish 位演讲者,他们希望看到它被翻译,但代码应该仍然 运行 OK。
您对 SF 数据库所做的大多数自定义操作都以此后缀结尾。例如,像 Application__c
这样的自定义表(“对象”),像 Total__c
这样的自定义字段。地理定位字段、大对象、外部数据的后缀更多......但那是另一天的战斗;)
每当您尝试在顶点中使用自定义字段时,请务必在末尾附加 __c
。
在你的情况下,你应该在你的测试和触发器中使用 Total__c
而不是 Total
。