Регистрация  |  Вход

Установить значение true для чекбокса во всех карточках.

Добрый день!
Создал новое поле чекбокс, добавил в карточку, хочу что бы это поле во всей базе, в уже заполненных карточках стало true. Какие есть возможности это сделать?
Знаю, что можно сделать выгрузку всей базы, затем проставить в табличном процессоре значение этого поля true и импортировать эту часть обратно. Но не хочется делать такой фокус, во первых люди непрерывно что то заполняют в базе, во вторых в ней очень много записей и боюсь что либо сломать.
Наверняка есть какой то иной способ. В документации искал, но пока что ничего не нашёл, возможно плохо ищу и если не сложно ткните носом.

Добрый день!
Создал новое поле чекбокс, добавил в карточку, хочу что бы это поле во всей базе, в уже заполненных карточках стало true. Какие есть возможности это сделать?
Знаю, что можно сделать выгрузку всей базы, затем проставить в табличном процессоре значение этого поля true и импортировать эту часть обратно. Но не хочется делать такой фокус, во первых люди непрерывно что то заполняют в базе, во вторых в ней очень много записей и боюсь что либо сломать.
Наверняка есть какой то иной способ. В документации искал, но пока что ничего не нашёл, возможно плохо ищу и если не сложно ткните носом.

Developer Console тебе в помощь!

Developer Console тебе в помощь!

caleblt
карточку

что есть карточка?

[quote="caleblt"]карточку[/quote]
что есть карточка?

Сергей, спасибо за ответ, но мне ещё далеко до разработки на этой платформе. Открыл я консоль, открыл документацию по Apex и естественно понял, что пройдёт не один день, а то и не одна неделя пока я не узнаю, как обратиться ко всем нужным полям в базе данных и установить им значение.
Если не сложно подскажите, как это сделать или хотя бы укажите нужную ссылку в api apex или документации платформы.

Сергей, спасибо за ответ, но мне ещё далеко до разработки на этой платформе. Открыл я консоль, открыл документацию по Apex и естественно понял, что пройдёт не один день, а то и не одна неделя пока я не узнаю, как обратиться ко всем нужным полям в базе данных и установить им значение.
Если не сложно подскажите, как это сделать или хотя бы укажите нужную ссылку в api apex или документации платформы.

Maxim Elets
caleblt
карточку

что есть карточка?

Макет страницы. Когда я создал поле, то выставил значение по умолчанию true. Когда создаёшь новую карточку (пусть это будет карточка объекта "Контакт"), то чекбокс принимает значение true, а вот в уже созданных он появился в значении false.

[quote="Maxim Elets"][quote="caleblt"]карточку[/quote]
что есть карточка?[/quote]
Макет страницы. Когда я создал поле, то выставил значение по умолчанию true. Когда создаёшь новую карточку (пусть это будет карточка объекта "Контакт"), то чекбокс принимает значение true, а вот в уже созданных он появился в значении false.

Sergey Prichepo
Developer Console тебе в помощь!

Да, самый простой вариант.
Лучше попробуй все-таки с ней разобраться.
Небольшая наводящая инструкция:
1. открыть Developer Console
2. открыть Apex Execution (CTRL+E)
3. Пиши код (исправь на свои названия):
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;

Но это установит Checkbox__c в True для ВСЕХ записей без исключения. Если тебе надо как-то сузить выборку добавляй в секцию WHERE нужные условия.

[quote="Sergey Prichepo"]Developer Console тебе в помощь![/quote]
Да, самый простой вариант.
Лучше попробуй все-таки с ней разобраться.
Небольшая наводящая инструкция:
1. открыть Developer Console
2. открыть Apex Execution (CTRL+E)
3. Пиши код (исправь на свои названия):
[code]
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;
[/code]
Но это установит Checkbox__c в True для ВСЕХ записей без исключения. Если тебе надо как-то сузить выборку добавляй в секцию WHERE нужные условия.

Спасибо большое! А значение LIMIT я так понимаю на количество записей в списке? Его по идее можно поднять до 50000 (где то натыкался в документации на это значение)?

Спасибо большое! А значение LIMIT я так понимаю на количество записей в списке? Его по идее можно поднять до 50000 (где то натыкался в документации на это значение)?

10000 это максимум для DML операции
update contacts;
Если у тебя будет хотя бы 10001 запись на этой строчке получишь exception и ничего не сохранится.
50000 это максимум для выборки данных из базы - SOQL запросы.

10000 это максимум для DML операции 
update contacts;
Если у тебя будет хотя бы 10001 запись на этой строчке получишь exception и ничего не сохранится.
50000 это максимум для выборки данных из базы - SOQL запросы.

Dmitry Shnyrev
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 записи

[quote="Dmitry Shnyrev"]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;[/quote]

если нужно обработать больше 10000 записей, просто гоняешь этот код несколько раз, он ведь кверит только не обработанные Checkbox__c = false записи