SugarTalk - ресурс для администраторов и разработчиков системы SugarCRM.

Создание нового модуля SugarCRM

Думаю, все, кто пользуется SugarCRM, рано или поздно задумывались о создании нового модуля, с собственными полями, связями и т.д. Отсутствие подробной документации по этому поводу – первое, с чем сталкивается разработчик. Цель моей статьи – не предоставить подробную документацию, а ознакомить вас с азами использования Sugar Module Builder (конструктор модулей) – модуля, который всю рутину по созданию нужных файлов и заполнению их возьмет на себя. Нам останется лишь в графическом интерфейсе создать нужный модуль.

Конечно, многим, кто задумывается над подобным вопросом, нужен и свой функционал, который вам не обеспечит Module Builder. Однако поверьте, гораздо быстрее сделать наброски модуля в конструкторе и дописать необходимую логику, имея уже установочный пакет модуля.

Чтобы не объяснять «на пальцах», опишем реальную задачу, которую нам необходимо сделать. Предположим, необходимо написать модуль для объектов недвижимости. Модуль имеет следующие поля: Адрес (текстовое поле, 255 символов), Этаж (текстовое поле, 2 символа), Удаленность от метро (текстовое поле), Ремонт (текстовое поле), Количество комнат (выбор из опций:1,2,3,4,5,6), Метраж (текстовое поле), Ответственное лицо (связь с менеджером, за объект может быть ответственный только один менеджер, значит, нам необходимо реализовать связь «много объектов — один менеджер», т.к. один ко многим. Также нужна возможность прикреплять документы и фотографии (связь один один объект — много файлов).

Приступаем к созданию нашего модуля.

В режиме администратора переходим «Администрирование» — «Студия» — «Конструктор модулей» — «Новый пакет». Каждый пакет может содержать любое количество модулей.
Заполняем поля: название пакета, автор (не обязательно), ключ (будет добавляться в виде префикса к модулям пакета и обеспечивать его уникальное название), описание (не обязательно).

Создание нового пакета в конструкторе модулей

Далее создаем модуль, выбрав «Новый модуль».

Создание нового модуля

Заполняем следующие поля: имя модуля, надпись (под этим названием модуль будет отображаться в меню), импортирование (выбрать, если предусматривается возможность выполнять импорт данных в наш модуль), панель закладок (поставить галочку, чтобы модуль отображался в меню) и тип модуля.

Редактирование нового модуля

Существует 6 типов стандартных шаблонов в SugarCRM:

  • Базовый (содержит стандартные для каждого модуля поля, такие как Ответственный, Дата создания, Дата редактирования, а также данные о том, кто создавал запись, кто ее редактировал);
  • Документ (применяется для модулей хранения документов, кроме базовых полей, содержит такие поля, как Имя файла, Расширение файла, Статус, Дата публикации и т.д);
  • Компания (на основе этого шаблона сделан модуль «Контрагенты», содержит такие поля как Название компании, Физический адрес, отгрузочный адрес и т.д);
  • Описание (на основе этого шаблона сделаны модули «Обращения» и «Ошибки», содержит такие поля, как Номер, Статус, Приоритет и т.д);
  • Персона (на основе этого шаблона сделан модуль «Контакты»);
  • Сделка (содержит такие специфические поля, как Стадия сделки, Сумма, Источник контакта и т.д.)

Мы выберем базовый шаблон и добавим нужные поля. После создания шаблона наконец-то приступаем к наполнению нашего модуля. Начнем с добавления полей. Для этого нажимаем «Просмотр полей» и «Добавить поле». Таким образом добавляем все необходимые поля.
При создании поля нам доступны следующие опции (меняются в зависимости от типа переменной, приведем наиболее общие из них). Также при создании поля можно прочесть Help, находящийся в правой части экрана):

  • Тип данных (это поле характеризует тип переменной: обычная строка, целочисленная, с плавающей точкой, html, url, relate (связывает с записью из другого модуля), check box, radio button и т.д, я думаю, не составит особого труда разобраться в этих типах данных)
  • Название поля — под этим названием мы сможем обращаться к переменной из шаблона, а также это название для столбца таблицы базы данных. Так что название поля должно быть буквенно-цифровым и не должно содержать пробелов. Также допускается использование символа подчеркивания
  • Системная надпись — это label, использую который можно осуществлять перевод в разные языковые файлы
  • Значение по умолчанию (данное поле при создании записи будет содержать начальное значение)
  • Максимальный размер (максимальный размер текстового поля, либо же числовых полей, который будет хранится в базе данных)
  • Обязательное поле (невозможно будет сохранить запись без заполнения этого поля)
  • Аудит – отслеживание изменения значения данного поля и запись в специальную таблицу Аудит. Историю изменения таких полей при просмотре каждой записи можно посмотреть, нажав на кнопку «История изменения».
  • Отметьте опцию Объединение дубликатов для того, чтобы иметь возможность использовать соответствующую функцию при нахождении дублирующихся значений;
  • Массовое обновление — возможность обновлять поля с данным значением сразу для ряда записей.

Для количества комнат сделаем select с возможными вариантами выбора. Для этого выберем тип данных DropDown, возле пункта комбобокс нажмем кнопку Добавить и перечислим возможные варианты.

Добавление комбобокса для количества комнат в создании модуля

С добавлением полей закончено, у вас должен получиться следующий результат:

Просмотр всех полей созданного модуля

Возвращаемся в конструктор модуля. Как мы уже говорили, необходимо осуществить возможность прикрепления в ЦРМ к нашему модулю документов и фото. Для этого необходимо создать связь с модулем заметки. Переходим в пункт просмотр связей — добавить связь. Выбираем тип связи один-ко-многим: слева наш модуль, справа модуль заметки.

Создание связи между созданным модулем и заметками

Сохраняем связь.

Остался последний, самый простой пункт – настройка внешнего отображения форм нашего модуля. SugarCRM имеет следующие формы: редактирования, просмотра, списка, быстрого ввода (обычно содержит упрощенную форму ввода слева при просмотре списка), поиска, раздела (dashlet, форма для главной страницы), всплывающие формы (формы загружаемые в субпанель через ajax). Самый легкий, потому что настройка отображения осуществляется полностью с помощью мышки: взяли поле, перенесли в нужную ячейку в форме, и готово.

Настройка внешнего вида форм модуля

Возвращаемся в конструктор нашего модуля и сохраняем его. Возвращаемся в конструктор пакета. И теперь мы можем наш модуль либо установить непосредственно в CRM систему, либо сохранить в zip-архиве,который можно потом загрузить через загрузчик модулей. Рекомендую именно второй вариант. Сейчас вы получили основу вашего модуля, вы можете дописать необходимые изменения в bean файл, добавить джава скрипты в формы и т.д. И после этого установить пакет через загрузчик модулей Sugar в администрировании.

Вот результат, который должен у нас получиться:

1) Форма редактирования:

Просмотр формы редактирования модуля

2) Прикрепляем фотографии и документы:

Форма просмотра записи и прикрепления

3) Просматриваем запись и прикрепленные документы:
Форма просмотра

Конечно, это лишь основы создания модулей, но используя эту технологию, можно довольно быстро сделать либо простые модули, либо каркас для более сложного модуля.

Высказать своё мнение о статье Вы можете в комментариях, если Вас интересуют какие либо вопросы или дополнения, то обсуждение по данной теме доступно на нашем форуме.

Последнее изменениеПонедельник, 10 июля 2017 18:38
  • Оцените материал
    (0 голосов)
  • Опубликовано в SugarCRM
  • Прочитано 34497 раз

10467 комментарии

Оставить комментарий

Убедитесь, что вы вводите (*) необходимую информацию, где нужно
HTML-коды запрещены

Наверх

Последние новости

  • 1
  • 2
  • 3
  • 4

Популярные новости