Category: Platform

Global Picklists and managed packages

Today I want to talk about Global Picklists, a feature that was made GA in Winter 17. Global Picklists allows you to share picklist values among different objects. They can be very useful in certain use cases. For example, imagine that your company gives support to several countries. You can create a global picklist that holds the supported countries, and use it in many objects in your application. Then, if you need to add a new country, you will need to do it only once.

Additionally, in this post, I will give some information about Global Picklists behaviour in managed packages. Continue reading “Global Picklists and managed packages”


Triggers and order of execution

In this post I want to review the order in which things happen when I save a record in Salesforce.  This is important to understand if you are an app builder who works automating processes as well as if you are a developer that writes trigger code. Both worlds will converge in the end and affect each other, so you have to bear in mind how Salesforce executes things internally to ensure a correct behaviour of your solution.

Continue reading “Triggers and order of execution”

Working with datetimes

This time I want to point out some weird behaviours I have learnt with the practice about datetimes in Salesforce. Did you know them?

1. Datetime fields do not store milliseconds.

Currently datetime fields don’t support millisecond precision. Even if you work with Datetime class (which do support millisecond precision), when you store them in database the milliseconds are lost.

This is a problem if you need to work with a high time precision, that can be worked around in some ways, for example storing the Unix time in a number field.

You can vote this related idea if you feel it is an important fact.

Continue reading “Working with datetimes”