Добрый день!
Создал новое поле чекбокс, добавил в карточку, хочу что бы это поле во всей базе, в уже заполненных карточках стало true. Какие есть возможности это сделать?
Знаю, что можно сделать выгрузку всей базы, затем проставить в табличном процессоре значение этого поля true и импортировать эту часть обратно. Но не хочется делать такой фокус, во первых люди непрерывно что то заполняют в базе, во вторых в ней очень много записей и боюсь что либо сломать.
Наверняка есть какой то иной способ. В документации искал, но пока что ничего не нашёл, возможно плохо ищу и если не сложно ткните носом.
Developer Console тебе в помощь!
Сергей, спасибо за ответ, но мне ещё далеко до разработки на этой платформе. Открыл я консоль, открыл документацию по Apex и естественно понял, что пройдёт не один день, а то и не одна неделя пока я не узнаю, как обратиться ко всем нужным полям в базе данных и установить им значение.
Если не сложно подскажите, как это сделать или хотя бы укажите нужную ссылку в api apex или документации платформы.
Developer Console тебе в помощь!
List<Contact> contacts = [SELECT Id, Checkbox__c FROM Contact WHERE Checkbox__c = false LIMIT 10000];
for(Contact c : contacts ) {
c.Checkbox__c = true;
}
update contacts;
Спасибо большое! А значение LIMIT я так понимаю на количество записей в списке? Его по идее можно поднять до 50000 (где то натыкался в документации на это значение)?
10000 это максимум для DML операции
update contacts;
Если у тебя будет хотя бы 10001 запись на этой строчке получишь exception и ничего не сохранится.
50000 это максимум для выборки данных из базы - SOQL запросы.
List<Contact> contacts = [SELECT Id, Checkbox__c FROM Contact WHERE Checkbox__c = false LIMIT 10000];
for(Contact c : contacts ) {
c.Checkbox__c = true;
}
update contacts;
если нужно обработать больше 10000 записей, просто гоняешь этот код несколько раз, он ведь кверит только не обработанные Checkbox__c = false записи