• SugarCRM: Чек-лист по шаблону

    Задача по автоматизации создания записей в SugarCRM встречается достаточно часто: автоматически создать записи того или иного модуля, привязать их к текущей записи, с которой идет работа, и задать им определенные характеристики. В нашем случае, который здесь описан, стояла задача автоматического создания списка проектных задач (ProjectTasks) и задач (Tasks) в текущем проекте, если текущий проект является Чек-листом. Разработка делалась для компании, занимающейся раскруткой сайтов в интернет, и для выполнения своей работы SEO-менеджер должен был сделать определенный набор действий, по завершению которых он должен был поставить отметку в чеклисте:

    Systems_sugarcrm_customisations_projects

    При переносе данной логики в SugarCRM мы решили блоки задач сделать в виде Проектных задач (ProjectTasks) а сами задачи со статусами сделать на базе стандартных Задач (Tasks), которые можно добавлять к Проектным задачам. Для того, чтобы выделить подобные проекты, которые будут являться чек-листами, был добавлен чекбокс "Чек-лист":

    Systems_sugarcrm_customisations_projects

    Если при создании или редактировании проекта отметить этот чекбокс, то данный проект должен автоматически "набиваться" необходимым количеством проектных задач и задач, которые присущи списку задач "Чек-лист" из Excel-файла. В SugarCRM Pro и выше эта задача была бы решена или при помощи Бизнес-процессов или при помощи Шаблонов проектов: реакция на отмеченный чекбокс могла бы создать необходимое кол-во Проектных задач и Задач. В данном проекте использовалась SugarCRM CE, которая лишена как Бизнес-процессов так и Шаблонов проектов. Но в ней есть работа с Hooks, которая позволяет отслеживать событие отметки чекбокса и делать заранее заданные программистом действия.

    Для реализации задачи я решил использовать шаблонный проект, чтобы воссоздать всю необходимую структуру Проектных задач и Задач в них. Таким образом если у того или иного Проекта SugarCRM отметить чекбокс "Чек-лист", система в этот Проект скопирует все Проектные задачи (ProjectTasks) и Задачи (Tasks) из шаблонного проекта. При этом ответственным за скопированные задачи будет пользователь, указанный ответственным у текущего проекта, в который производится копирование.

    Данное решение позволяет пользователям CRM-системы самостоятельно формировать список задач, присущих чек-листу, без обращений к услугам программиста.

    Шаблонный проект:

    Systems_sugarcrm_customisations_projects

    Задачи в Проектной задаче:

    Systems_sugarcrm_customisations_projects

    В проект, который отмечен как "Чек-лист", были внесены изменения в отображение карточки проекта: сабпанель "Проектные задачи" была заменена на сабпанель "Чеклист оптимизации", в которой отображены все проектные задачи и подзадачи текущего проекта. Таким образом удобно просматривать статус выполнения той или иной задачи - не надо для этого заходить в проектную задачу:

    Systems_sugarcrm_customisations_projects