como altero a estrutura de uma tabela no SugarCRM CE?

1

Como adiciono campos à tabela de oportunidades para que eles se propaguem?

De dentro Studio > Opportunities > Fields, adicionei campos. Perdão, não entendo o próximo passo para efetuar uma alteração na estrutura do banco de dados e na GUI para criar e visualizar oportunidades.

Os campos disponíveis para o módulo são listados aqui por Nome do campo.

Para configurar as propriedades de um campo, clique no Nome do Campo.

Para criar um novo campo, clique em Adicionar campo. O rótulo e as outras propriedades do novo campo podem ser editados após a criação, clicando no Nome do Campo.

Após a implantação do módulo, os novos campos criados no Module Builder são considerados campos padrão no módulo implantado no Studio.

No entanto, não há alterações no banco de dados subjacente:

mysql> 
mysql> describe sugarcrm.opportunities;
+------------------+--------------+------+-----+---------+-------+
| Field            | Type         | Null | Key | Default | Extra |
+------------------+--------------+------+-----+---------+-------+
| id               | char(36)     | NO   | PRI | NULL    |       |
| name             | varchar(50)  | YES  | MUL | NULL    |       |
| date_entered     | datetime     | YES  |     | NULL    |       |
| date_modified    | datetime     | YES  |     | NULL    |       |
| modified_user_id | char(36)     | YES  |     | NULL    |       |
| created_by       | char(36)     | YES  |     | NULL    |       |
| description      | text         | YES  |     | NULL    |       |
| deleted          | tinyint(1)   | YES  |     | 0       |       |
| assigned_user_id | char(36)     | YES  | MUL | NULL    |       |
| opportunity_type | varchar(255) | YES  |     | NULL    |       |
| campaign_id      | char(36)     | YES  |     | NULL    |       |
| lead_source      | varchar(50)  | YES  |     | NULL    |       |
| amount           | double       | YES  |     | NULL    |       |
| amount_usdollar  | double       | YES  |     | NULL    |       |
| currency_id      | char(36)     | YES  |     | NULL    |       |
| date_closed      | date         | YES  |     | NULL    |       |
| next_step        | varchar(100) | YES  |     | NULL    |       |
| sales_stage      | varchar(255) | YES  |     | NULL    |       |
| probability      | double       | YES  |     | NULL    |       |
+------------------+--------------+------+-----+---------+-------+
19 rows in set (0.00 sec)

mysql> 

Os campos adicionais também não aparecem na GUI quando em "criar oportunidade".

O que preciso fazer para que os campos que eu criei Studiosejam realmente criados, não apenas no banco de dados, mas na interface do SugarCRM?

Certamente não preciso me aprofundar no PHP?

Thufir
fonte
Www.lornajane.net% 2Fposts% 2F2008% 2Fsugarcrm-custom-fields & tabId = 23. Mas não vejo os botões. Eu uso a edição da comunidade.
Thufir

Respostas:

2

Se estou entendendo corretamente, você está perguntando como alterar a interface do Sugar CRM para ter campos personalizados.

Enquanto estou aprendendo a interface, terminei de adicionar um novo campo nas páginas Cases para um número de ticket do JIRA e ele também aparece no banco de dados. Vou tentar adicionar o campo que você está falando à seção de comunicação e depois orientá-lo em cada parte conforme ela é usada.

Se você não é técnico, esse é um daqueles momentos em que você pode levar seu amigo técnico para almoçar e pedir que ele o ajude. Requer um entendimento funcional de como os bancos de dados funcionam e as interfaces com o usuário.

Estou usando um utilitário vm para executar o SugarCRM CE 6.5.17 com um cliente de banco de dados de administração php. Sugiro que você encontre um bom cliente SQL que permita ver o banco de dados subjacente e executar pesquisas nele.

Índice

  1. Conecte-se
  2. Adicione o campo aos componentes disponíveis do sugarCRM
  3. Altere o formulário da web para incluir um novo campo
  4. Crie seu novo registro de dados no SugarCRM
  5. Encontre nossos dados!
  6. Como encontrar novos dados em qualquer lugar, a qualquer hora.

Passos

  1. Faça login como administrador no sistema SygarCRM CE.

  2. Adicione o campo aos componentes disponíveis do sugarCRM

    • Admin -> Studio -> Oportunidades -> Campos -> Adicionar campo
    • Nome do campo: New_Field
    • Tamanho máximo: 30
      • (deixe o resto, pois alguns campos serão preenchidos automaticamente)
    • Clique em Salvar
  3. Altere o formulário da web para incluir um novo campo

    • Admin -> Estúdio -> Oportunidades -> Layouts -> EditView
    • Arraste a caixa "Nova linha" de Ferramentas sobre a seção Layout em Descrição
    • Localize o campo que acabamos de criar. Deve ser chamado de novo campo.
    • Arraste o campo da Caixa de ferramentas para a seção Layout, onde a primeira caixa chamada (preenchimento) existe.
    • Agora você deve observar uma alteração na caixa rotulada (de preenchimento), que deve ser chamada de “novo campo” e ter um ícone de símbolo + ou - à esquerda. Isso ajusta o número de colunas à direita do campo. (brinque com o ícone para entender)
    • Clique em Salvar e implantar
  4. Crie sua nova oportunidade

    • Vendas -> Oportunidades -> Criar oportunidade
    • AVISO: O "novo campo" deve estar na parte inferior da primeira seção após Descrição. (ou onde você o colocou)
    • Crie uma nova oportunidade de compra preenchendo os campos obrigatórios
    • Quando você precisar preencher o "novo campo", usaremos um nome exclusivo para permitir uma pesquisa no banco de dados
      • Digite o nome exclusivo: AAA_XX_193rnafl93ra
        • (se isso não for único o suficiente, crie seu próprio nome exclusivo)
    • Clique em Salvar
  5. Encontre nossos dados!

    • Entre no banco de dados sugarcrm como administrador (eu uso o phpMyAdmin porque estou em um desenvolvedor vm)
    • Estamos procurando uma tabela chamada fields_meta_data
    • Consulte esta tabela e você notará que o novo campo que você acabou de adicionar existe aqui com seus dados descritivos. Provavelmente chamado LBL_NEW_FIELD. Ele possui um carimbo de data, para que você também possa pesquisar na tabela por date_modified e filtrar por hoje.
    • Provavelmente, a tabela também terá uma coluna de identificação chamada Opportunitiesnew_field_c
    • Este é o META DATA que é criado na etapa 2

    • Agora, procuramos nossos dados que foram armazenados no novo campo.

    • As tabelas com o sufixo "_cstm", como em Opportunities_ctsm, provavelmente conterão os campos personalizados.
    • Consulte a tabela oportunidades_ctsm e observe que nosso nome de campo existe aqui
    • Vejo um new_field_c na minha tabela Opportunities_ctsm e ele contém o valor: AAA_XX_193rnafl93ra
    • Observe a coluna id_c, pois isso se torna um ponto em que podemos voltar à tabela de oportunidades no campo id.
  6. Como encontrar novos dados em qualquer lugar, a qualquer hora.

    • Então, por que usamos "AAA_XX_193rnafl93ra" como nossa string exclusiva?
      • Podemos pesquisar em todo o banco de dados sugarcrm procurando em cada campo esse valor para localizar em qual tabela ele foi armazenado.
    • No phpMyAdmin, isso é tão simples quanto clicar no nome do banco de dados na trilha de navegação na parte superior da página da web.
      • localhost -> Sugarcrm (db)
      • Clique na guia de pesquisa acima da lista de tabelas do banco de dados
      • Digite a seguinte cadeia de pesquisa: AAA_XX_193rnafl93ra
      • Selecione todas as tabelas
      • Clique em Ir
      • Use [ctrl] F para pesquisar na página da Web por “Procurar”, pois isso será exibido ao lado da tabela em que o item foi encontrado
      • Entre na tabela e você deve encontrar onde seu novo campo foi colocado.
    • Se você não possui o phpMyAdmin, descubra como fazer uma pesquisa total no banco de dados por conteúdo ou peça ao seu DBA para ativar o log de SQL enviado ao banco de dados e procure seu nome exclusivo. A Oracle possui capacidade de log que pode fazer isso.
    • Em resumo, criamos um dispositivo de rastreamento que permite navegar rapidamente em seu banco de dados para localizar o que mudou.
    • Criar um ambiente de desenvolvedor melhorará bastante os tempos de pesquisa, pois o banco de dados ficará praticamente vazio.

Agora você deve ter um novo ponto de dados no banco de dados e um novo campo no formulário sugarCRM.

Parece que os caras que construíram o sistema de açúcar fizeram um bom trabalho, pois mantiveram as tabelas básicas separadas dos novos campos. Isso permitirá menos problemas quando você atualizar para uma versão mais recente. Como a tabela base poderia ser completamente reestruturada e, desde que ainda incluísse a coluna "id", ela poderia se conectar aos seus campos personalizados.

Homem leve
fonte