Passar para o conteúdo principal
Erro ao lidar com o console de desenvolvimento
Gin Lin avatar
Escrito por Gin Lin
Atualizado há mais de uma semana

Se você fez alguns testes, processos ou gatilhos automáticos no Salesforce, os erros podem ocorrer quando você usa a integração com o Salesforce. Este artigo te ajuda a resolver esses erros comuns.


Problema com o Apex Testing

Cenário

Ao realizar testes automatizados para a organização, se o teste incluir uma chamada HTTP Cooby, poderá ocorrer um erro.

Soluções

Existem dois métodos para resolver esses erros.

  1. Classe TestContext: Assegure que o callout seja bem-sucedido para resolver a ocorrência de erro.

    A classe TestContext contém métodos para a configuração de simulações de callout HTTP durante a execução do teste.

    • setPackageMock()

      • Propósito: Define uma simulação de pacote padrão para callouts HTTP quando em execução testes.

      • Uso: Este método deve ser chamado para garantir que os callouts HTTP são simulados (mocked, em inglês) durante a execução do teste.

    • setMock(HttpCalloutMock mockInstance)

      • Propósito: Define uma instância de simulação (mock, em inglês) específica para callouts HTTP quando em execução testes.

      • Parâmetros:

        • mockInstance: A instância de HttpCalloutMock a ser usada durante os testes.

      • Uso: Use este método para especificar uma simulação personalizada para callouts HTTP durante testes.

  2. Acionar Classe de Controle: Desligue o gatilho e impeça diretamente o comportamento de callout de acontecer.

    A classe TriggerControl contém métodos para gerenciar o estado dos gatilhos (ativando ou desativando-os) para diferentes objetos.

    • disable(String sObjectName)

      • Propósito: Desativa o gatilho para o objeto especificado.

      • Parâmetros:

        • sObjectName: O nome do sObject para o qual o gatilho deve ser desativado.

      • Uso: Chame este método para impedir a execução de um gatilho para um objeto específico.

    • enable(String sObjectName)

      • Propósito: Ativa o gatilho para o objeto especificado.

      • Parâmetros:

        • sObjectName: O nome do sObject para o qual o gatilho deve ser habilitado.

      • Uso: Chame este método para permitir que um gatilho execute para um objeto específico.

    • isDisabled(String sObjectName)

      • Propósito: Verifica se o gatilho do objeto especificado está desativado.

      • Parâmetros:

        • sObjectName: O nome do sObject a ser verificado.

      • Retorna: Verdadeiro se o gatilho for desabilitado, Falso caso contrário.

      • Uso: Use este método para verificar o status de gatilho para um objeto específico.

    • disableAll()

      • Propósito: Desabilita todos os gatilhos.

      • Uso: Chame este método para impedir que todos os gatilhos executem.

    • enableAll()

      • Propósito: Ativa todos os gatilhos.

      • Uso: Chame este método para permitir que todos os gatilhos executem.


Pólitar problema de instalação

Entendendo o script de instalação do Post

O Script de Instalação do Post é executado como um usuário de sistema especial que representa o nosso pacote. Isso significa que todas as operações realizadas pelo script parecem ser feitas pelo nosso pacote.

A execução do script pós-instalação é iniciada por uma chamada da API do sistema, que impõe certas limitações aos recursos disponíveis do Salesforce durante esta transação. Algumas destas limitações incluem:

  • Acessando certos objetos padrão como Grupo, ColaboracionGroup, e NetworkMember, etc

  • Uso limitado de Eventos de Plataforma.

  • Operações DML nos objetos de instalação. As transações de API não podem realizar operações DML em objetos de configuração e metadados, como criar ou modificar funções do usuário, perfis ou configurações personalizadas.

  • Triggers e Regras de Fluxo de Trabalho. Alguns gatilhos e regras de fluxo de trabalho podem não ser chamados durante transações de API, dependendo de como a transação é estruturada e se respeita a ordem de execução.

  • Gerenciamento de sessão. Transações iniciadas por API não mantêm uma sessão de usuário da mesma forma que sessões interativas. Isso pode afetar operações baseadas em sessões, como a manutenção do estado em várias transações.

Se alguma das automações em sua organização que aciona os objetos de contato, lead ou Cooby interagir com os recursos acima, a atualização de dados poderá falhar e você receberá um e-mail com mensagens de erro.

Contexto e desafios especiais

É importante notar que o script pós-instalação é executado no contexto de um usuário "fantasma" especial. Este contexto único pode levar a vários desafios:

  • Restrições em Recursos: Devido à execução em nível do sistema, alguns recursos do Salesforce são restritos, o que pode não acontecer quando as tarefas são executadas manualmente por um usuário normal.

  • Diferenças contextuais: o código que é executado perfeitamente em um contexto de usuário normal pode falhar durante a execução do Post Install devido a essas restrições.

  • Dificuldades de depuração: Estas falhas podem ser difíceis de detectar antes do lançamento e ainda mais difícil de depurar quando ocorrerem. Infelizmente, não há forma de executar o seu InstallHandler neste contexto de usuário "ghost".

Cenário

Cooby vai mudar extensivamente o contato / chumbo durante a pós-instalação (a fim de permitir que nossas funções funcionem corretamente). Se o usuário tiver definido um gatilho para quando o contato / o Lead muda, um erro ocorrerá neste momento.

Soluções

Se você notar erros durante a execução do pós-instalação, por favor:

  1. [Required] Verifique Mensagens de Erro: Revise as mensagens de erro fornecidas para identificar os problemas específicos.

  2. [Required] Rever Logs de Depuração: Analisar as linhas de erro para determinar a causa dos erros.

  3. [Opção 1] Execute manualmente o lote para manutenção de dados do Cooby Data: guide

  4. [Opção 2] Atualizar ou Desativar Automação: desativar ou atualizar temporariamente as condições de acionamento dos processos de automação que podem estar causando esses erros.

Recomendamos verificar e ajustar temporariamente os processos de automação da sua organização se ocorrerem erros. Isso pode envolver rever e potencialmente atualizar qualquer automação, gatilhos ou fluxos de trabalho personalizados que possam entrar em conflito com as operações executadas pelo script de instalação do Post.


Executar manualmente o lote para manutenção de dados de Cooby

Cenário

Porque há um erro de pós-instalação, Cooby não será executado corretamente e o usuário não quer desativar estes gatilhos.

Passo da operação

  1. Open Developer Console:

    • Faça login na sua conta do Salesforce.

    • Clique no ícone engrenagem no canto superior direito.

    • Selecione Developer Console no menu suspenso.

  2. Executar as tarefas de manutenção:

    • No console de desenvolvedores, clique em Debug na barra de menu.

    • Selecione Abrir janela de execução anônima (ou pressione Ctrl + E).

  3. Na janela anônima, digite o seguinte comando:

    cooby.DataMaintenanceManager.run();

    • Clique em Executar para iniciar a tarefa em lote.

  4. Uma vez concluído, isso significa que você concluiu o trabalho manual em lote.

Verificando status do lote de trabalho

  1. Navegue para Apex Jobs:

    • Vá para Configuração clicando no ícone de engrenagem no canto superior direito e selecionando Setup.

    • In the Quick Find box, type Apex Jobs and select it from the results.

  2. Monitorar Status da Tarefa:

    • Na página de tarefas do Apex, você verá uma lista de todos os trabalhos do Apex.

    • A coluna Status mostrará o status atual do seu trabalho em lote (por exemplo, Fila, InProgresso, Concluído ou Falha).

    • Estamos particularmente interessados em cinco aulas específicas de Apex. Algumas dessas classes podem ter Total de Lotes: 0, indicando que não há nada a mudar e você está pronto.

Tratamento de Conclusões e Erros

Receber email de notificação:

  • Depois que todas as tarefas estiverem concluídas, você pode receber uma notificação por e-mail.

  • Este e-mail irá conter detalhes sobre quaisquer erros que ocorreram durante a execução dos trabalhos em lote.

Se você notar quaisquer falhas durante a execução da tarefa em lote, por favor seja informado que esses erros estão diretamente relacionados aos processos de automação configurados na sua versão do Salesforce. Para resolver estes erros, você pode seguir os passos abaixo:

  1. Verificar Mensagens de Erro:

    • Revise as mensagens de erro fornecidas na notificação de e-mail ou na página de Tarefas do Apex. Essas mensagens geralmente contêm detalhes sobre os processos específicos de automação ou condições que causaram o erro.

  2. Rever Logs de Depuração:

    • Navegue até a instalação e procure por "Debug Logs" na caixa de Busca Rápida.

    • Revise os logs para identificar o processo exato e as condições que desencadearam os erros.

  3. Atualizar ou Desativar Automação:

    • Depois de identificar o processo de automação relevante, você pode desativar temporariamente ou atualizar suas condições de acionamento para evitar que erros ocorram novamente.


Esperamos que este documento lhe ajude a entender melhor como o Cooby funciona. Para quaisquer dúvidas ou dúvidas sobre a integração com seu Salesforce, por favor envie-nos um e-mail para [email protected]💜

Respondeu à sua pergunta?