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

Обновить значения полей в SObject

Друзья.

Подскажите такой момент. Есть ли простой способ обновить значения полей SObject из базы данных.

Смысл какой - есть SObject (приходит из фронтенда) с неизвестным набором полей. Надо все поля обновить значениями из базы данных - привести так сказать к актуальному виду.

Пока вижу только такой вариант (но возможно я просто не нашел вариант получше) - достать имена всех полей из SObject и составить новый динамической SQOL.

Друзья.

Подскажите такой момент. Есть ли простой способ обновить значения полей SObject из базы данных.

Смысл какой - есть SObject (приходит из фронтенда) с неизвестным набором полей. Надо все поля обновить значениями из базы данных - привести так сказать к актуальному виду.

Пока вижу только такой вариант (но возможно я просто не нашел вариант получше) - достать имена всех полей из SObject и составить новый динамической SQOL.

Селекти все, не ошибёшься :)

Селекти все, не ошибёшься :)

Json.seriaize и json.deserialize иполучишь список нужных полей.

Json.seriaize и json.deserialize иполучишь список нужных полей.

wilder
Json.seriaize и json.deserialize иполучишь список нужных полей.

Можно еще проще
http://docs.releasenotes.salesforce.com/en-us/summer16/release-notes/rn_apex_sobject_getmap.htm

[quote="wilder"]Json.seriaize и json.deserialize иполучишь список нужных полей.[/quote]
Можно еще проще 
http://docs.releasenotes.salesforce.com/en-us/summer16/release-notes/rn_apex_sobject_getmap.htm

Sergey Prichepo
Можно еще проще

Как я понял это может не прокатить так как изначально дата приходит из js.

[quote="Sergey Prichepo"]Можно еще проще[/quote]

Как я понял это может не прокатить так как изначально дата приходит из js.

Wilder, прокатывает если SObject. А для этого он должен содержать спец метадату внутри или быть сериализирован до этого в apex.

Друзья, все эти варианты как достать список полей понятны. Кстати реализовал через getPopulatedFieldsAsMap.

Но вопрос больше на тему как можно быстро обновить значения полей. Был может недостаточно точен в вопросе и он оказался более широким. Если точнее как получить обновленные значения в калькулируемых полях.

Eсть еще такая замечательная штука
SObject.recalculateFormulas()

НО мля, SF как всегда сломал весь кайф. Для поля Contact.Name это нифига не работает.

Т.е. без повторного составления SOQL ничего не получится.

Wilder, прокатывает если SObject. А для этого он должен содержать спец метадату внутри или быть сериализирован до этого в apex.

Друзья, все эти варианты как достать список полей понятны. Кстати реализовал через getPopulatedFieldsAsMap.

Но вопрос больше на тему как можно быстро обновить значения полей. Был может недостаточно точен в вопросе и он оказался более широким. Если точнее как получить обновленные значения в калькулируемых полях.

Eсть еще такая замечательная штука
SObject.recalculateFormulas()

НО мля, SF как всегда сломал весь кайф. Для поля Contact.Name это нифига не работает.

Т.е. без повторного составления SOQL ничего не получится.