Browsing category

Intermediate

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

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

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

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

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

Apex assíncrono – Scheduled Apex – Parte 4

Chegamos ao nosso último post da série sobre Apex assíncrono, falei aqui sobre métodos futuros, classes Queueable e Batch Apex, e hoje para fechar o tema, vamos falar sobre as classes Scheduled Apex, bom mas chega de enrolação e vamos logo para o que interessa não é mesmo? O que é o Scheduled Apex? podemos programar para que ele seja executado TODOS os dias em um determinado horário As Scheduled Apex nos permite realizar o agendamento de uma execução do Apex em horário específicos, diferentemente que fizemos com o agendamento das classes Batch Apex, onde só podíamos adiar a sua execução, com o Scheduled Apex ganhamos um poder de escolha muito maior, podemos programar para que ele seja executado TODOS os dias em um determinado horário. Mas claro que podemos fazer ainda mais do que isso, podemos agendar uma execução para 2x por dia, ou até mesmo 1x por semana, você é quem escolhe quando o processo será executado. Quando usar uma Scheduled Apex O cenário mais comum é exatamente quando temos que executar um conjunto de código do Apex em um horário e dia especificos. Estrutura de uma Scheduled Apex As Scheduled Apex também são classes que precisam implementar […]

Apex assíncrono – Queueable – Parte 2

Dando continuidade a série de posts sobre Apex Assíncrono, hoje falaremos sobre as classes Queueable, podemos dizer que as Queueable são uma evolução dos métodos futuros, pois nos permite ter controle da fila de execução. Se você não leu o post sobre métodos futuros, sugiro que de uma pausa nessa leitura, e de uma olhada nesse post. O que são classes Queueable? Podemos dizer que as classes Queueable são uma evolução dos métodos futuros, pois além de nos permitir realizar a execução de trabalhos do Apex assíncronos, também nos da um limite maior de governança da sua org, permitindo por exemplo a execução de mais SOQL dentro de uma mesma execução de processo do Apex, além de um limite de heap maior, e assim como os métodos futuros, as classes Queueable são executadas assim que a plataforma Salesforce considera que existem recursos livres para execução. Quando você adiciona uma classe Queueable a fila de execução, você recebe um ID único, isso nos permite obter um controle maior da fila de processos, permitindo obter o status do processo na fila, esses dados ficam no objeto AsyncApexJob, e com base no Id que recebemos podemos fazer uma consulta SOQL para obter mais […]

Entendendo as 10 APIs do Salesforce e quando usar

O Salesforce nos permite interagir com a plataforma de muitas formas, entre elas com o uso de APIs, nesse post quero fazer um overview das APIs do Salesforce disponíveis e quando usar cada uma delas, o intuito não é colocar uma contra a outra, e dizer qual é melhor, mas sim explicar o uso delas e assim de dar opções de escolhas de uma forma mais consciente.   APIs do Salesforce A maior parte do conteúdo deste artigo vieram da documentação oficial do Salesforce, mas a intenção aqui é dar uma visão geral de cada API em um único local e também dar uma idéia do que usar quando. Por favor, leia a documentação oficial para ter uma idéia mais profunda sobre cada uma das API. As APIs do Salesforce é tão vasto quanto o azul do oceano, diz o Salesforce, isso porque o Salesforce adota uma abordagem de API First para criar recursos na Salesforce Platform.   1. SOAP API A SOAP API permite criar, ler, atualizar e excluir registros, o famoso CRUD (Create, Read, Update e Delete), com ela é possível interagir com Contas, Leads e também com seus objetos personalizados. A SOAP API também permite o gerenciamento de […]

Prós e Contras ao uso do Person Account

Quando ouvimos sobre o termo Person Account já nos bate até um certo calafrio, e para que você não tenha nenhum receio ao ouvir este termo, vamos esclarecer o que é, as qualidades e limitações das não tão famosas Contas Pessoais. Se você está pensando em ativar as Person Account (Contas Pessoais) em sua org, aconselho fortemente que leia este post até o final e consulte um MVP da Salesforce antes de tomar esta decisão que pode vir a trazer muitas dores de cabeça. O QUE É CONTA PESSOAL (PERSON ACCOUNT)? Conta pessoal é a fusão dos objetos Conta e Contato a fim lidar com relacionamentos “Business to Consumer” (B2C) que não é tão viável no modelo padrão da Salesforce. Basicamente ao ativar este modo, as Person Account se dão como um novo tipo de registro de conta em sua org, este novo tipo de registro fornece novos campos ao objeto Conta que não são acessíveis a você, ou seja, não são editáveis. Sugiro que de uma lida no material oficial do Salesforce sobre Person Account. PRÓS Diferenciação visual clara entre registros de conta pessoal e registros de conta comercial. Importação de dados simples com campos de contato usando o assistente de importação do […]

Onde foi parar a lixeira no Lightning?

Onde foi parar a lixeira no Lightning? Recentemente fiz uma migração de uma ORG para o Lightning, uma ORG com poucas customizações internas, mas com alguns componentes que deram um certo trabalho, após a migração, uma das primeiras perguntas que surgiu foi exatamente essa, onde foi parar a lixeira no Lightning.  A verdade é que ela não existe no Lightning, e sem previsão dela aparecer por lá, em busca de soluções encontrei várias pessoas reclamando do sumiço da lixeira no Lightning, e alguns indicando até mesmo a utilização de um App Exchange para isso. Voltar para o classic para usar a lixeira e depois retornar para o Lightning com certeza não seria a melhor opção, foi aí que me veio uma ideia brilhante, que vou compartilhar com vocês. Entre as soluções encontrei alguns criando uma VisualForce com um SELECT nos objetos excluídos, ou até mesmo instalando um AppExchange que fazia também exatamente isso, a minha solução foi bem mais simples e eficaz, simplesmente peguei o link da Lixeira no Classic e criei uma Guia para ela no Lightning, e, ualá!!! Lá estava a lixeira no Lightning, claro que sem o visual bonito do Lightning, mas ainda assim 100% funcional. Vamos lá […]