Как я могу изменить структуру таблицы в SugarCRM CE?
Как добавить поля в таблицу возможностей, чтобы они распространялись?
Изнутри Studio > Opportunities > Fields
Я добавил поля. Простите, я не понимаю следующий шаг, чтобы произвести изменение в структуре базы данных и GUI для создания и просмотра возможностей.
Поля, доступные для модуля, перечислены здесь по Имени поля.
Чтобы настроить свойства для поля, щелкните Имя поля.
Чтобы создать новое поле, нажмите Добавить поле. Метка вместе с другими свойствами нового поля может быть отредактирована после создания, щелкнув Имя поля.
После развертывания модуля новые поля, созданные в Модульном модуле, рассматриваются как стандартные поля в развернутом модуле в Studio.
Тем не менее, нет изменений в базовой базе данных:
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>
Кроме того, дополнительные поля не появляются в графическом интерфейсе, когда в "создать возможность".
Что мне нужно сделать, чтобы вызвать поля, которые я создал в Studio
на самом деле создается не только в базе данных, но и в интерфейсе для SugarCRM?
Конечно, я не должен вникать в PHP?
1 ответ
Если я вас правильно понимаю, вы спрашиваете, как изменить интерфейс Sugar CRM, чтобы иметь настраиваемые поля.
Поскольку я сам изучаю интерфейс, я закончил добавлять новое поле на страницах Cases для номера билета JIRA, и оно также отображается в базе данных. Я попытаюсь добавить поле, о котором вы говорите, в раздел связи, а затем проведу вас по каждой части, как она используется.
Если вы не технический специалист, это один из тех случаев, когда вы можете пригласить своего технического приятеля на ланч, а затем попросить его помочь вам сделать это. Это требует функционального понимания работы баз данных и пользовательских интерфейсов.
Я использую утилиту vm для запуска SugarCRM CE 6.5.17 с клиентом базы данных php admin. Я предлагаю вам найти хорошего клиента SQL, который позволит вам увидеть базовую базу данных и выполнить поиск по ней.
Индекс
- Авторизоваться
- Добавьте поле к доступным компонентам sugarCRM
- Измените веб-форму, чтобы включить новое поле
- Создайте новую запись данных в SugarCRM
- Найдите наши данные!
- Как найти новые данные в любом месте, в любое время.
меры
Войдите в систему как администратор системы SygarCRM CE.
Добавьте поле к доступным компонентам sugarCRM
- Админ -> Студия -> Возможности -> Поля -> Добавить поле
- Имя поля: New_Field
- Максимальный размер: 30
- (оставьте остальные поля автоматически заполненными)
- Нажмите Сохранить
Измените веб-форму, чтобы включить новое поле
- Админ -> Студия -> Возможности -> Макеты -> EditView
- Перетащите поле "Новая строка" из меню "Инструменты" в раздел "Макет" под описанием.
- Найдите поле, которое мы только что создали. Это следует назвать новым полем.
- Перетащите поле из панели инструментов в раздел "Макет", где существует первое поле с именем (заполнитель).
- Теперь вы должны наблюдать за изменением поля (заполнителя) с надписью, так как оно должно называться "новым полем" и иметь значок символа + или - слева. Это регулирует количество столбцов в правой части поля. (играть с иконкой, чтобы понять)
- Нажмите Сохранить и развернуть
Создайте свою новую возможность
- Продажи -> Возможности -> Создать возможность
- ВНИМАНИЕ: "Новое поле" должно быть в нижней части первого раздела после описания. (или где вы его разместили)
- Создать новую возможность купить, заполнив необходимые поля
- Когда вам нужно заполнить "новое поле", мы будем использовать уникальное имя для поиска в базе данных.
- Введите уникальное имя: AAA_XX_193rnafl93ra
- (если это не достаточно уникально, создайте свое собственное уникальное имя)
- Введите уникальное имя: AAA_XX_193rnafl93ra
- Нажмите Сохранить
Найдите наши данные!
- Войдите в базу данных sugarcrm как администратор (я использую phpMyAdmin, потому что я работаю на vm разработчика)
- Мы ищем таблицу с именем fields_meta_data
- Запросите эту таблицу, и вы заметите, что новое поле, которое вы только что добавили, существует здесь с его описательными данными. Скорее всего, называется LBL_NEW_FIELD. У него есть отметка даты, поэтому вы также можете искать в таблице по date_modified и фильтровать на сегодня.
- Скорее всего, в таблице также будет столбец идентификатора с именем Opportunitiesnew_field_c.
Это META DATA, которая создается на шаге 2
Теперь мы ищем наши данные, которые были сохранены в новом поле.
- Таблицы с суффиксом "_cstm", как и в powers_ctsm, скорее всего будут содержать пользовательские поля.
- Сделайте запрос к таблице Возможности_ctm, и вы должны заметить, что наше имя поля существует здесь
- Я вижу new_field_c в моей таблице abilities_ctsm, и он содержит значение: AAA_XX_193rnafl93ra
- Обратите внимание на столбец id_c, так как он становится точкой, где мы можем присоединиться к таблице возможностей в поле id.
Как найти новые данные в любом месте, в любое время.
- Так почему же мы использовали "AAA_XX_193rnafl93ra" в качестве нашей уникальной строки?
- Мы можем выполнить поиск по всей базе данных sugarcrm, просматривая каждое поле, чтобы найти это значение, чтобы определить, в какой таблице оно было сохранено.
- В phpMyAdmin это так же просто, как щелкнуть по имени базы данных в журнале в верхней части веб-страницы.
- localhost -> Sugarcrm (дБ)
- Нажмите на вкладку поиска над списком таблиц базы данных.
- Введите следующую строку поиска: AAA_XX_193rnafl93ra
- Выберите все таблицы
- Нажмите Go
- Используйте [ctrl] F для поиска на веб-странице слова "Обзор", поскольку оно будет отображаться рядом с таблицей, в которой был найден элемент.
- Войдите в таблицу, и вы должны найти, где было размещено ваше новое поле.
- Если у вас нет phpMyAdmin, узнайте, как выполнить общий поиск в базе данных контента, или попросите своего администратора баз данных включить ведение журнала для SQL, отправленного в базу данных, и выполнить поиск вашего уникального имени. Oracle имеет возможность регистрации, которая может сделать это.
- Короче говоря, мы создали устройство отслеживания, которое позволяет быстро перемещаться по базе данных, чтобы найти то, что изменилось.
- Создание среды разработчика значительно улучшит время поиска, поскольку база данных будет в основном пустой.
- Так почему же мы использовали "AAA_XX_193rnafl93ra" в качестве нашей уникальной строки?
Теперь у вас должна быть новая точка данных в базе данных и новое поле в вашей форме sugarCRM.
Похоже, что ребята, которые построили сахарную систему, проделали хорошую работу, поскольку они держали базовые таблицы отдельно от новых полей. Это позволит меньше проблем при обновлении до более новой версии. Поскольку базовая таблица может быть полностью реструктурирована и, если она все еще содержит столбец "id", она может соединяться с вашими пользовательскими полями.