Tutorial: Criando uma Ação de Verificação no CRM - Avançado
Pré-requisitos:
- Modo Desenvolvedor (Debug): Certifique-se de que o modo desenvolvedor está ativado no Odoo. Isso é essencial para acessar funções avançadas, como a criação de ações no servidor. Se o modo desenvolvedor ainda não estiver ativo, siga os passos abaixo:
Como ativar o Modo Desenvolvedor:
- Adicione ?debug=1 ao final da URL do Odoo e pressione Enter.
- Isso habilitará o modo desenvolvedor, e você verá o ícone de um "besourinho" no canto superior direito da página. Esse ícone indica que o modo está ativo.
1. Acessando o Módulo de Configurações
- No menu lateral esquerdo, clique em Configurações.
- No menu superior que aparece após a ativação do modo desenvolvedor, procure pela seção Técnico. Essa seção estará disponível apenas com o modo desenvolvedor ativo.
- Dentro do menu Técnico, localize a opção Ações no Servidor e clique nela. Esse é o local onde você criará a ação personalizada que será executada.
2. Criando uma Ação no Servidor
- Clique no botão Criar para iniciar a criação de uma nova ação no servidor. Isso abrirá um formulário com várias opções para personalizar a ação.
- No campo Nome, forneça um nome claro e descritivo para a ação. Esse nome deve explicar claramente a função da ação, facilitando sua identificação posteriormente. Exemplo: "Verificar Referência Duplicada".
- No campo Modelo, selecione o modelo de dados no qual a ação será aplicada. Para este tutorial, o modelo será Contato (também conhecido como res.partner no Odoo). Esse modelo lida com informações de clientes e fornecedores.
- No campo Ação a ser feita, você terá várias opções de ações disponíveis. Neste caso, selecione Executar Código Python. Essa opção permite que você insira um script em Python que será executado quando a ação for disparada.
3. Inserindo o Código Python
Agora que você selecionou a ação de executar um código Python, um campo para inserção de código será exibido. Neste campo, insira o código Python necessário para verificar se um cliente já existe no sistema com a mesma referência. O código buscará no banco de dados qualquer cliente que possua a mesma referência e emitirá um alerta, caso um cliente duplicado seja encontrado.
Exemplo de lógica para verificar referências duplicadas:
# Obtendo a referência do registro atual
referencia = record.reference # Substitua 'reference' pelo campo correto de referência
# Buscando no sistema clientes que já possuam essa referência
cliente_existente = env['res.partner'].search([('reference', '=', referencia)])
# Se um cliente for encontrado, emitir um alerta
if cliente_existente:
raise Warning("Este cliente já existe com essa referência.")
Exemplo de lógica para verificar referências duplicadas:
- A variável referencia captura o valor da referência no registro atual.
- A função search é usada para procurar clientes que tenham exatamente a mesma referência no campo especificado.
- Se for encontrado algum cliente com a mesma referência, o sistema exibe uma mensagem de aviso ao usuário.
Após inserir o código, clique em Salvar no canto superior direito da tela. Isso salvará a ação no servidor e a tornará disponível para execução.
4. Copiando a ID da Ação
- Após salvar a ação, você precisará copiar o ID da ação para vinculá-la a um botão na interface.
- Para obter o ID, no modo desenvolvedor, clique no ícone do "besourinho" e selecione Visualizar Metadata. Isso abrirá uma janela com detalhes técnicos da ação criada.
- Copie a ID da ação e guarde-a, pois ela será necessária para configurar o botão que acionará a ação.
5. Criando um Botão para Executar a Ação
Agora que a ação foi criada e o código foi inserido, você precisará de um botão no formulário de contatos para permitir que os usuários executem essa ação diretamente.
Passos para criar o botão:
- Acesse o módulo de contatos: No menu lateral, clique em Contatos para abrir a lista de clientes.
- Habilite o modo desenvolvedor novamente, se necessário. Para isso, clique no ícone do "besourinho" no canto superior direito.
- Edite a visualização do formulário:
- No modo desenvolvedor, clique em Editar Visualização: Formulário. Isso abrirá o código XML da interface do formulário de contatos.
- Adicione o botão para executar a ação:
- Dentro do código XML do formulário, você precisará adicionar um trecho que cria um botão e o vincula à ação que você acabou de criar. Aqui está um exemplo de como deve ser o código do botão:
- Substitua o valor de name pela ID da ação que você copiou anteriormente. Isso garante que, quando o botão for clicado, a ação correta seja executada.
- Salve o código e saia do modo de edição.
<button name="exec_action" type="action" string="Verificar Referência Duplicada"
context="{'id': id}" class="btn-primary"/>
6. Salvando e Testando a Ação
- Salve todas as alterações feitas no formulário e atualize a página. Agora, ao acessar o formulário de um contato, o botão que você adicionou deve estar visível.
- Teste a ação clicando no botão. O Odoo executará a ação que você configurou para verificar se há clientes com referências duplicadas. Se a referência já existir no sistema, o Odoo emitirá um alerta para o usuário.
Conclusão
Você aprendeu a criar uma ação personalizada no Odoo que verifica se um cliente já existe com uma referência duplicada. Isso inclui desde a ativação do modo desenvolvedor, a criação da ação no servidor, a inserção de código Python, até a adição de um botão no formulário de contatos. Agora, sua equipe pode utilizar essa ação para garantir que não haja duplicação de registros de clientes, mantendo o sistema organizado e eficiente.
Se precisar de mais personalizações, o Odoo oferece várias opções para ajustar a funcionalidade às suas necessidades.