Browsing category

Salesforce

Grupos de Conjuntos de Permissões (Spring’20 release)

A release Spring’20 do Salesforce veio com uma nova função importantíssima, que facilitará (e muito) a gestão de permissões das orgs: os grupos de conjuntos de permissões. E este tema faz parte do teste de manutenção da certificação de Salesforce Admin Spring’20. De modo resumido, esta função serve para permitir que sejam criados e atribuídos à usuários, grupos constituídos por conjuntos de permissões (permission sets). Qual a vantagem em usar os Grupos de Conjuntos de Permissões? A vantagem em termos essa função disponível, é podermos criar os conjuntos de permissões (que já conhecemos – E caso não conheça, acesse nosso curso gratuito “Salesforce para Iniciantes”) e então, agrupá-los para constituirmos um grupo de permissões mais abrangente. Além disso, é possível “mutar” (leia retirar) permissões de conjuntos de permissões, para que o grupo não herde as permissões que não deva. Para isso, é preciso acessar a sessão de “Grupo de Conjunto de Permissões” nas configurações da org. E então, criar um “Muted Permission Set Group”. Caso de Uso Vamos usar um exemplo em que você seja administrador de uma org de uma empresa que possua VENDEDORES, PROMOTORES e GERENTES DE VENDA do refrigerante COPA. Suponha também que cada um dos 3 […]

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 […]

Trabalhando com List View no Lightning Experience

As listas de visualização (List View) do Salesforce exibem registros de objetos (padrões ou customizados) ou de Metadados customizados (custom metadata) em formato de lista (ou, se preferir: tabela. Com linhas e colunas) ou kanban (você pode alternar entre esses dois modos de visualização. As listas de Custom Metadata são bastante limitadas. Não possuem recursos como Inline Editing ou ações de tela. Por isso vou manter o foco nas listas de objetos. Que possuem mais recursos e, por consequência, criam mais dúvidas quando se está criando ou editando-as. Conceitos básicos de list view Uma list view pode exibir registros de apenas um único objeto. Os registros que aparecerão na tela são definidos pelos critérios de filtros definidos por seu criador (ou editor), assim como as colunas que irão aparecer na tela. As colunas de uma lista são, invariavelmente, campos existentes no objeto que está sendo exibido.   Passos para criar uma list view Escolha o objeto para o qual você quer criar a lista de visualização Para criar uma list view você precisa acessar uma lista já existente do objeto em questão (os objetos padrão já possuem listas de visualizações criadas. E para os objetos customizados, no momento em que […]

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 […]