Browsing category

Salesforce Developer

Como otimizar sua Query SOQL

Otimizar SOQL, o que eu ganho com isso? Um dos grandes desafios de qualquer desenvolvedor Salesforce é fazer com que seu código não atinja nenhum limite, mas como nem tudo são flores na vida, acabamos enfrentando esse problema mais cedo ou mais tarde. Há vários motivos que podem fazer a execução do seu código quebrar por atingir esses limites, alguns desses motivos são relacionados a queries SOQL, que podem estar demorando muito para executar ou trazer mais de 200 mil registros em uma única query, mas não se preocupe, estou escrevendo este artigo exatamente para mostrar formas de otimizar sua SOQL e evitar que estes erros ocorram. Como avaliar o custo da query SOQL Primeiro precisamos entender o que está sendo executado na nossa query e para isso utilizamos o query plan no developer console. Para habilitá-lo, basta abrir o Developer Console e ir no menu Help > Preferences e marcar a opção Enable Query Plan Depois, entre na aba Query Editor, coloque sua query e clique no botão Query Plan Temos agora um passo a passo da nossa query e aqui vai uma explicação simples do que é cada um desses campos: Cardinality: Quantos registros estão retornando naquela na […]

Como testar queries de Objetos Externos

Todo desenvolvedor Salesforce sabe da importância das classes de teste, elas além de testarem se o que desenvolvemos está funcionando como esperado, precisamos também garantir que as classes tenham pelo menos 75% de cobertura conforme requerido pela Salesforce para subir um código para produção. O modelo de uma classe de teste costuma seguir uma receita muito simples, criar os dados para teste, chamar o método que queremos testar e verificar o retorno. Porém, para cobrir classes que fazem queries de objetos externos precisamos adaptar esse modelo um pouco, mas antes vamos entender um pouco o que são os objetos externos. O que são Objetos Externos Objetos externos são parecidos com os objetos customizados, porém eles são armazenados fora da sua ORG. Eles podem ser dados armazenados em outros sistemas como ERPs, CRMs ou até mesmo uma outra ORG Salesforce, a chamada integração Salesforce to Salesforce. Através da opção External Data Sources no Setup é possível configurar a fonte dos dados externos e fazer o mapeamento de tabelas para objetos e campos. A nomenclatura dos objetos externos apresenta o sufixo __x, porém os campos seguem o padrão com o final __c. Como usar os Objetos Externos Embora os objetos externos não […]

Automatização com o Data Loader

Automatização com o Data Loader pode ser uma das ferramentas mais poderosas que você vai utilizar no seu dia a dia, por isso aprender a utilizá-la pode fazer toda a diferença nas suas tarefas e forma de manipular os dados da sua organização, o Data Loader é uma ferramenta que entre muitas coisas te permite inserir, ler, atualizar e excluir registros em massa, vou te mostrar como tirar proveito disso hoje utilizando um computador com Windows para criar seus processos automatizados. Se você ainda não sabe o que é o Data Loader, dê uma olhada nesse post que falei sobre como instalar e usar de maneira simples o Data Loader, se você ja conhece e deseja fazer uma automatização com o Data Loader, então você está no lugar certo, podemos tornar o Data Loader um integrador automático utilizando o Task Scheduler( Agendador de Tarefas), no windows podemos criar Arquivo.Bat (Arquivo em lotes) para executar de pequenas tarefas a processos complexos, e programas e feito isso podemos unir os 2 para agendar nossa Bat para que ela execute em determinados horários, com determinados parâmetros, é uma ferramenta simples mas ao mesmo tempo muito poderosa, agora que você sabe o que é […]

URL Hack no Lightning Experience

Uma das principais novidades da última release Spring ‘20 foi o retorno da possibilidade de se utilizar URL Hack, esta técnica tanto utilizada nos tempos de Classic que não funcionava no Lightning (exceto com alguns workarounds) está oficialmente integrada ao Lightning e agora pode ser aplicada de maneira até mais fácil do que no Classic. O que é a URL Hack? URL Hack é a técnica de passar parâmetros através da URL. Essa técnica é muito utilizada para pré popular campos de um objeto com valores de outro. Exemplo, estamos na tela de Conta e queremos criar um novo caso relacionado a essa Conta, nesse exemplo teríamos que criar um botão Novo Caso, adicioná-lo ao layout de Conta e nesse novo botão e que aplicarmos a URL Hack. Como funcionava nos tempos de Classic Nos tempos de Classic a coisa era complicada, primeiro tínhamos que buscar os Ids dos campos que queríamos pré popular, depois o Id do objeto que queríamos criar, criar um botão e depois montar a URL. Era um processo trabalhoso, mas se você tiver interesse em ver os detalhes recomendo esse link que explica esse processo em detalhes. De volta ao Lightning na Spring ‘20 Desde […]

Como instalar o Data Loader corretamente

Salesforce Data Loader, para quem utiliza salesforce, muitas vezes você precisar inserir grande quantidade de dados dentro da plataforma, e muitas vezes isso se torna uma tarefa repetitiva, e para te ajudar com isso a Salesforce disponibiliza uma ferramenta chamada Data loader que você pode encontra dentro da sua própria ORG Salesforce. O que é o Data Loader ? O Salesforce Data Loader é um aplicativo cliente de desktop usado no Salesforce que te permite importar, exportar, excluir, inserir e atualizar registros em massa.  Usando o Data Loader, podemos carregar até 5.000.000 de registros. Usando o Data Loader, podemos agendar as cargas. Podemos importar dados de arquivos .CSV (valores separados por vírgula). Arquivos de log de sucesso e erro criados no formato CSV. O Data Loader suporta todos os objetos (objetos personalizados e objetos padrão). Arraste e solte para criar mapeamento de campo. Como instalar o Data Loader corretamente Instalando o Data Loader e configurando o Data Loader requerem pouco conhecimento, porém alguns passos importantes devem ser seguidos, como por exemplo gerar um tokens de segurança. Antes de instalar o Data Loader no sistema operacional Windows ou MacOS, precisamos verificar os requisitos do sistema. Requisitos do sistema para o Windows […]

Removendo classes do APEX de produção

Se você trabalha em uma ORG do Salesforce por algum tempo, você provavelmente já precisou remover classes do APEX de produção, se não preciso parabéns, mas acredito que mais cedo ou mais tarde você vai precisar, então continue a leitura que um dia tenho certeza que essa dica lhe será muito útil :) Mas atenção, o conteúdo aqui apresentado pode afetar o funcionamento da sua ORG do Salesforce, tenha certeza de que tenha backup dos metadados que deseja remover e de fazer os testes prévios em uma Sandbox, siga por sua conta e risco. O problema Não é comum encontrarmos esse cenário, mas sim, eles ocorrem, eu mesmo já me deparei com ele em praticamente todas as ORGs do Salesforce que trabalhei, quando pegamos um projeto que já esta no meio do caminho, muitas vezes precisamos refatorar algumas classes, em algumas vezes abandonar a classe de vez (ou porque o nome não faz sentido para só refatorar ou porque aquela funcionalidade não tem mais sentido) e quando nos deparamos com esse problema descobrimos que metadados não podem ser renomeados, dessa forma a solução é a exclusão e criação de um novo, e ai uma nova descoberta, não podemos excluir uma […]

Salesforce Certification Days

A Salesforce incentiva e muito que as pessoas se capacitem, e uma forma de mostrar que você esta realmente pronto para o mercado é através de uma certificação, e pensando nisso a Salesforce esta realizando o Salesforce Certification Days, um evento que vai de 01 de abril de 2019 à 26 de abril de 2019, e não, não é uma piadinha de 1º de abril. O que é o Salesforce Certification Days de presente a Salesforce ainda vai te dar um Voucher de 70 dólares A Salesforce tem vários cursos online de preparação para certificações, e nesses dias você terá acesso a um webinário realizado por instrutores certificados e de forma 100% gratuita, e se não bastasse ter acesso a conteúdos exclusivos de forma gratuita, e de presente a Salesforce ainda vai te dar um Voucher (Cupom de desconto) de 70 dólares para ser usado nas certificações de 200 dólares, não é todo dia que ganhamos um desconto de 35%, não é mesmo? UPDATE: O Voucher vale para até 3 certificações, e ele expira em 30 de junho de 2019, não que você tenha que fazer a prova até lá, mas você tem que agendar a prova antes dessa data. […]

Estendendo componentes do Lightning

Se você já atuou em um grande projeto de Lightning, deve estar cansado de repetir o mesmo trecho de código toda vez que precisa interagir com uma Controller, não é mesmo? Então hoje quero te mostrar duas coisas legais, a primeira é o que o título do post diz, estender um componente do Lightning, e o que isso significa, isso significa que você pode aproveitar parte de um componente dentro de outro, mas fique tranquilo, isso fará sentido assim que começarmos a colocar a mão na massa, e segundo vamos fazer isso criando um componente que permitirá você fazer chamadas Apex com apenas 1 linha de código. Entendendo o problema Como eu disse antes, se você já trabalhou com grandes projetos em Lightning, muito provavelmente já precisou fazer uma chamada Apex para consumir dados do Salesforce, e se fez isso mais de uma vez, então você deve ter escrito o código abaixo algumas vezes, não é? var action = component.get(“c.getAccounts”); action.setParams(params); action.setCallback(this, function(response) { var state = response.getState(); if (state === “SUCCESS”) { var result = response.getReturnValue(); //do something with the result } else if (state === “INCOMPLETE”) { // wait, what? } else if (state === “ERROR”) { var […]

Replay debugger no VSCode – O sonho de todo DEV Salesforce

Tenho certeza que o sonho de todo DEV Salesforce era poder debugar seu código, e isso se tornou possível com o Replay debugger do Salesforce CLI no VSCode, então bora lá entender como funciona essa mágica, e tornar esse sonho realidade? Se você já matou o seu Eclipse, e migrou para o Visual Studio Code, o VSCode, hoje vou te mostrar como debugar o seu código usando o Replay debugger, mas antes vamos entender como essa mágica funciona. Como funciona o Replay debugger O Replay debugger, como o próximo nome diz é um Replay, ou seja você vai debugar o seu código com o que já aconteceu, diferentemente do que é permitido em outras linguagens de programação como JavaScript, C# entre outras, em que você consegue debugar o seu código no momento de sua execução, e isso se dá por conta de estarmos falando de uma tecnologia em nuvem, afinal o código não esta rodando no seu computador, e sim nos servidores da Salesforce, e o Replay vem dá onde então, você deve esta se perguntando, bom, o que o Salesforce fez foi, baseado no log de depuração do usuário, remontar o cenário do seu código permitindo que todas as […]

Salesforce SP Tour 2019

Reserve agora mesmo na sua agenda o dia 03 de abril de 2019, se você ainda não teve oportunidade de participar do Salesforce SP Tour eu fortemente recomendo que você vá, e se você já foi, com certeza sabe que não será um dia que passará em branco. Salesforce SP Tour Minha experiência dos anos anteriores já me diz que esse evento será incrível, se prepare para uma imersão de um dia inteiro, acompanhando cases de sucesso e novidades do mundo Salesforce, separe também um tempinho para visitar os stands do Salesforce, geralmente são focados em assuntos específicos, por exemplo, no ano passado visitei o stand de Marketing Cloud para tirar uma dúvida (Sim você também pode fazer isso lá), além dos stands de parceiros da Salesforce. O evento esse ano será em um local diferente do habitual, acredito que preparado para comportar o grande número de pessoas, ele será no Transamerica Expor Center, que fica na Av. Dr. Mário Vilas Boas Rodrigues, 38, zona sul de SP, se você não é de São Paulo, já recomendo procurar hotéis na região, porque a oferta e procura deve estar grande, vou deixar aqui em baixo um mapa do local do evento. Aprendizado […]

Entendendo o Lightning Event

Vamos entender de una vez por todas o que é o Lightning Event e colocar a mão na massa para desmistificar esse conceito de eventos no Lightning, vamos entender as diferenças e como usar o Component Events e o Application Events. O que são Eventos? a ideia principal é que você escreva códigos que só serão executados quando um determinado evento ocorrer Muitas linguagens de programação utilizam-se do conceito de programação orientada a eventos, tal como o JavaScript, a ideia principal é que você escreva códigos que só serão executados quando um determinado evento ocorrer, um exemplo bem simples é o clique de um botão, o evento do clique do botão só é disparado quando o evento  de clique é realizado, você pode nunca clicar no botão e o evento por sua vez pode nunca ocorrer, mas isso faz parte do conceito de programação orientada a eventos. O conceito dentro de um Lightning Component Agora vamos aplicar esse conceito para o Framework do Lightning, em um Lightning Component, você pode registrar-se para disparar um evento, e registrar para escutar um evento e fazer até mesmo os dois no mesmo componente, um evento pode ou não ter atributos, no Lightning, existem […]

Desenvolvedor Salesforce, mate o Eclipse agora

Se você é um Desenvolvedor Salesforce, e ainda usa o Eclipse, mate-o agora, antes que ele faça isso por você. Pode parecer brincadeira, mas ainda existem muitos desenvolvedores que ainda usam o Eclipse, a alguns anos atrás ele era a IDE recomendada pela Salesforce, mas já a um bom tempo ele perdeu esse posto para o Visual Studio Code da Microsoft, eu já falei aqui em um post anterior do IntelliJ com o uso do plugin Jetforce, o problema é que na época o plugin era free, e de lá para cá, passou a ser pago, não é uma grande quantia, 59$ para desenvolvedores e 99$ para empresa, eu considero um valor relativamente baixo para quem desenvolve para Salesforce todos os dias, mas quando se fala em colocar a mão no bolso, sei que a coisa aperta um pouco, então resolvi dar mais uma chance ao Visual Studio Code e ver o quanto ele me surpreendia em relação a minha IDE atual (IntelliJ com plugin Jetforce), eu já faço uso do Visual Studio Code para desenvolvimento Mobile (Cordova), então isso já contou como ponto positivo por já conhecer o potencial dessa IDE poderosa, mas chega de enrolação e vamos ver […]

O que é um MVP Salesforce

A Salesforce iniciou o processo de nomeação dos MVP Salesforce, mas afinal o que é um MVP Salesforce e como eles podem te ajudar no dia a dia? O que é um MVP Salesforce os MVPs Salesforce são pessoas normais, apesar de parecer que eles tem super poderes Acredite, os MVPs Salesforce são pessoas normais, apesar de parecer que eles tem super poderes, o que eles tem mesmo é muita garra e força de vontade para se manter sempre atualizados e em busca de novos conhecimentos, junto a isso uma trajetória de vida e uma sede de compartilhar seus conhecimentos, ajudando todos da comunidade a abrir seus caminho e com certeza você terá um excelente MVP Salesforce.   Como faço para me tornar um MVP Salesforce Na verdade, não depende só da sua vontade para se torna um MVP Salesforce, além de muita dedicação para ajudar a comunidade é preciso participar de um processo de nomeação e através desse processo, ser indicado por usuários da comunidade ou funcionários Salesforce para então ser selecionado pela Salesforce a se tornar um MVP. E isso acontece todo ano, então uma vez MVP Salesforce é preciso manter-se ativo na comunidade para conseguir se “eleger” novamente […]

Melhore o desempenho usando o Platform Cache

Sempre que construímos grandes sistemas, o desempenho é um dos maiores vilões. As performances geralmente podem corresponder ao balanceamento de carga dos servidores, o tempo de resposta das páginas que construímos, e assim por diante! Quando trabalhamos na plataforma force.com, a maior parte desse trabalho pesado é cuidada pela própria plataforma, para o nosso alivio. No entanto, há certas coisas que podemos ajustar para melhorar ainda mais o desempenho, e um desses conceitos é o uso do Platform Cache. O que é um cache? tenha sempre em mente que Cache é um armazenamento temporário Primeira mente, tenha sempre em mente que Cache é um armazenamento temporário, e de uma forma geral é frequentemente usado para evitar acesso desnecessários em um banco de dados, vamos uma imaginar um cenário de uso, onde você armazena no seu banco de dados a Endpoint e Token para acessar um aplicação externa, se você imaginar uma página com muitos acessos e que a cada acesso é realizado uma chamada para uma aplicação externa, a cada acesso precisaríamos consultar os dados de acesso no banco de dados, o que consumiria muito recurso e tempo da plataforma, agora imagine ter essa informação sempre em memória e disponível para uso imediatamente sem depender de […]

Entendendo o uso do SOQL Locking Records

No post de hoje vamos falar sobre o SOQL Locking Records, imagine o cenário onde você precisa fazer o processamento em vários registros, e nesse pequeno intervalo de tempo, ninguém poderá modificar esse registro, para conseguirmos esse feito, precisamos usar o Locking Records, então vamos lá entender como isso funciona?   O que é Locking Records O Locking Records é uma forma de bloquear os registros do Salesforce em uma transação Apex, basicamente o Locking Records consiste na inclusão de duas palavras chaves em sua SOQL, dessa forma todos os registros resultantes da sua SOQL serão bloqueados e não poderão ser alterados até que a transação do Apex seja concluída. ao utilizar o FOR UPDATE você não poderá especificar um ORDER BY Dois pontos importantes aqui são, o primeiro é que não é necessário realizar o commit dos dados, se ocorrer um erro na transação Apex, todas as alterações serão desfeitas, e caso a transação termine sem erros, os registros serão comitados automaticamente. Outro ponto de atenção é que ao utilizar o FOR UPDATE você não poderá especificar um ORDER BY, talvez esse seja o ponto chave que dificulte a sua utilização, porém como a idea do Locking Records é garantir […]