Пользовательское поле не найдено

Я пытаюсь самостоятельно изучить Salesforce и хочу добавить настраиваемое поле в учетную запись.

Для этого я сделал следующее:

Я добавил настраиваемое поле Total в Account:

Вот триггер:

       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');  
        }
    
    }

Но на вкладке Проблемы есть проблема:

появляется сообщение: Поле не существует: Всего на счете

Я неправильно настроил поле "Учетная запись"?

Должен ли тест быть провальным? Кажется, проходит:

2 ответа

Решение

Имя API поля (столбца базы данных): Total__c. "Итого" - это просто видимая метка. В вашем Salesforce могут быть говорящие на французском / немецком / испанском языках, и они предпочли бы, чтобы он был переведен, но код все равно должен работать нормально.

Большинство пользовательских действий, которые вы делаете с базой данных SF, заканчиваются этим суффиксом. Настраиваемые таблицы ("объекты"), например Application__c например, настраиваемые поля, такие как ваш Total__c. Есть еще суффиксы для полей геолокации, больших объектов, внешних данных... но это битва на другой день;)

Всякий раз, когда вы пытаетесь использовать настраиваемое поле в вершине, обязательно добавляйте __cв конце. В вашем случае вы должны использовать Total__c вместо Total в вашем тесте и триггере, где бы он ни использовался.

Другие вопросы по тегам