Jump to content

SpravkaCRM.ru

Administrators
  • Content Count

    308
  • Joined

  • Last visited

  • Days Won

    7

Everything posted by SpravkaCRM.ru

  1. Добрый день! Возможно вам уже не актуально, но отвечу на всякий, может кому пригодится. Чтобы специалисты по CRM вам могли помочь вам, в первую очередь, необходимо немного описать ваш бизнес: Какие подразделения вашей компании должны перейти на CRM Какие ключевые бизнес-функции подразделений вы хотите переместить в CRM Сколько примерно сотрудников необходимо будет добавить в CRM Используете ли вы в настоящий момент какие то программные комплексы в своей работе, которые вы бы хотели заменить на работу в CRM Это если прям совсем "по быстрому". Не обязательно
  2. Зависит от того, как же все же было добавлено поле со связью. Если мы добавили связь многие-ко-многим, то поля не появляются. появляются сабпанели у обоих модулей Если мы добавили связь один-ко-многим, то у одного модуля появится поле, а у другого - сабпанель Если мы добавили связь один-к-одному, то в обоих модулях появятся поля и во всех этих случаях связь будет организована через промежуточную таблицу, которая будет создана Но есть еще случаи, когда мы добавляем поле "Относится к" или как то так называется. В этом случае в модуль добавляется поле c ID записи, котор
  3. Код не смотрел, но попробуй сопоставить список с полями, по которым есть индексы. В механизме импорта точно по этому признакую появлялись поля. Возможно здесь тоже так же. Причем индексы не в ручную в БД проставленные, а описанные через vardefs.php если не в этом дело, то пиши, посмотрю по коду ...
  4. Всем привет! Жили - не тужили в Trello выстроив в нашей CRM-системе интеграцию с ней. Канбан-доска с картами и обсуждение задач - это Trello. Клиенты, Проекты, Бухгалтерия, фиксация времени - это все в CRM. Наколхожено было много всего в этой обвязке: Конвертация карт Trello в Проектные задачи в CRM; Конвертация Проектных задач в CRM в карты в Trello; Реакция на смену Labels в Trello; реакция на смену Листов у карточки в Trello; всякие Webhooks и прочая автоматизация в виде интеграции с Camunda BPM и выстраивании на ней рабочего сценария. Но в один прекрасный момент Trello помен
  5. Добрый день! Общий принцип: исключаем файлы, которые являются автогенерируемыми (папка cache, папки Ext в /custom/modules) и так далее. Так же исключаем загружаемые файлы, историю изменений metadata-файлов, индексы поиска, служебные файлы разных GUI и прочее. Я сталкивался с тем, что некоторые системные администраторы пытаются засунуть в .gitignore core-файлы типа того, что находится в папках Zend, XTemplate и так далее обосновывая тем, что не надо эти файлы править, значит и в гите им делать нечего. Я против такого подхода. Считаю, что в git должны быть файлы, достаточные для корректн
  6. Тут поднакопилось условных "ошибок" в написании кода. Это не синтаксические или логические ошибки, а именно внешний вид, читабельность и вообще ... Итак, продолжим! Всегда добавлять локализацию для добавляемых полей в модуле! Речь идет про ситуации, когда вы для реализации своих задач добавляете поле в тот или иной модуль и в параметре vname указываете лейбл добавляемого поля. Например так: $dictionary['Account']['fields']['custom_all_link'] = array ( 'name' => 'custom_all_link', 'vname' => 'LBL_CUSTOM_ALL_LINK', 'type' => 'varchar', 'inline_edit' =>
  7. Всем добрый день! Хочу рассказать об одной интересной работе, которую делали последнюю неделю и которую закрыли вот прям буквально сегодня. К нам обратилась некая компания, которая попросила показать демо-стенд реализации интеграции Camunda с CRM-системой на базе SuiteCRM. В SuiteCRM есть свой собственный модуль "Процессы". Но его наглядность - не самое его сильное качество. Да и функциональность конечно весьма не плоха, но очень далеко до "отличная". По этому компания приняла решение в качестве BPM-платформы выбрать стороннее решение в виде Camunda. Вот что пишут про Camun
  8. Всем привет! Столкнулся с небольшой проблемой: SuiteCRM автоматически при отображении поля типа Text преобразует все URL в ссылки. То есть берет URL и "пихает" его в тег <A>. Классная штука на самом деле, удобно. Но мне надо было отключить её, так как я создал поле "source" => "non-db", в котором хочу сам формировать список ссылок, чтобы в карточке записи был набор ссылок типа такого: Ссылка 1 Ссылка 2 Ссылка 3 Именно так, нормальное название. А не: http://site.ru/page1.html http://site.ru/page2.html http://site.ru/page3.html Ведь удобн
  9. Добрый день! при помощи этой настройки можно регулировать нагрузку как на собственный сервер, так и на почтовый сервер. Большое количество писем, если сервер не очень мощный, может привести к нехватке памяти и все встанет. Так же некоторые почтовые сервера имеют ограничения на кол-во отправляемых через них писем в течении какого то кол-ва времени (в рамках борьбы со спамом или предлагая бизнес-тарифы). Для регулирования подобных вещей и применяется этот параметр
  10. Всем привет! Хочу показать мой вариант решения следующей проблемы: Есть бизнес-процесс, который настроен на модуль "Контрагенты". В результате срабатывания бизнес-процесса должны создаться две записи: Запись в модуле "Обращения" Запись в модуле "Документы" Но вся сложность заключается в том, что и Обращение и Документ должны не просто добавиться в Контрагент, но и между собой сформировать связь. То есть зайдя потом в карточку созданного Обращения мы должны увидеть в сабпанели созданный Документ! Если очень упрощенно, то мой бизнес-процесс выглядит так:
  11. Всем привет! Хочу поделиться одной доработкой, которая, на мой взгляд, немного полнее позволит понять роль модуля "Процессы" в работе с CRM-системой, и что не обязательно все на свете дописывать: можно еще и активно пользоваться встроенными средствами. Итак! Задача: в Обращениях выводить время последнего сообщения от Клиента. При этом выводить не только в карточке, но и в списках, отчетах и вообще везде, где заблагорассудится. Вот если задача была вывести только в карточке обращения, я наверное бы особо не заморачивался, и добавил расчётное поле source="non-db", в котором "
  12. Всем привет! В одном из проектов потребовалось формировать отчеты из данных, которые находятся в аудите. Напомню, что аудит - это табличка с информацией кто что поменял в карточке, вызываемая нажатием кнопки "Просмотр журнала изменений": Классная штука, конечно, этот аудит! Знай не забывай новые поля в него добавлять в студии... Но вот беда: работать с ним из модуля Отчеты нет возможности. Совсем. Если в кратце про аудит, то: Должен ли быть в модуле аудит полей или нет определяется в vardefs.php в параметре 'audited' для всего модуля: $dictionary['Account'] = ar
  13. Добрый день! Попробуйте зайти в модуль с шаблонами и зайдите в любой первый попавшийся шаблон. Затем в строке браузера поменяйте его айдишник на 9f0d0646-1bf4-3da9-500a-5ad6dcec5796 и попробуйте загрузить страницу. Что будет? Пустая страница или загрузится шаблон?
  14. Добрый день! У вас не корректно настроены права доступа к файлам. SuiteCRM не может редактировать/добавлять их. Для начала посмотрите от имени кого запускается ваш сервер: echo exec("id"); Посмотрите, все ли файлы в проекте от этого пользователя и от этой группы? Выправить ситуацию с настройками доступа можно примерно так: chown -R 48:48 /var/www/vhosts/crmhosting.ru/crm/public_html/ find /var/www/vhosts/crmhosting.ru/crm/public_html -type d | xargs chmod 0755 find /var/www/vhosts/crmhosting.ru/crm/public_html -type f | xargs chmod 0644 подставляем только свои з
  15. Добрый день! На скриншете не доработанная версия отчета по плановой загрузке сотрудника. Это не какой то отдельный модуль. Это CRM-система для разработчика: то, что я сам себе для своей компании пилю. Фактически сейчас там отображается плановое количество рабочих часов по дням для текущего сотрудника. Уже не помню что хотел вложить в этот отчет. Сейчас с точки зрения контроля работы сотрудников более удобным образом можно наблюдать следующую информацию: Слева распределение по сотрудникам сколько фактически отработано часов в день. Справа распределение фиктического относительно
  16. Если говорить про каждого отдельного сотрудника, то тогда уж можно лучше сделать графики прямо в карточке сотрудника. Открыл сотрудника - там панель с графиком. Типа такого: И не нужно плодить кучу дашлетов на главной.
  17. На сколько я помню логика работы SuiteCRM подразумевает возможность работы с несколькими полями с типом "валюта", но валюта будет одна. То есть все значения будут в рублях, долларах, или любой другой присутствующей в CRM валюте. Но хранение нескольких полей в разной валюте в рамках одной карточки не предусмотрено. Обусловлено тем, что все добавленные поля ссылаются на едиснтвенное поле, которое будет обозначать код валюты. То есть добавляем первое поле с валютой в карточку: формируется спец.поле, хранящее код валюты. Добавляем второе поле - оно будет получать код валюты из первого поля. И так
  18. Всем привет! Столкнулся только что с ситуацией, когда в карточку Контрагента добавили поле с пользователем (связанная запись из Users), пытаемся в дашлете это поле использовать как фильтр, а оно не работает. Поле добавляли через файлы в /custom/Extensions/modules/Accounts/Ext/Vardefs/ В дашлете это выглядит примерно так: В карточке контрагента это же поле: После того, как в дашлете я выбираю это поле в виде фильтра, SuiteCRM формирует для выборки записей SQL-запрос примерно такого содержания: SELECT accounts.id , accounts.user_id2_c , LTRIM(RTRI
  19. Всем привет! Давайте разберем ситуацию, когда нам необходимо выполнить единоразово какую то задачу в CRM-системе, и мы хотим, чтобы эту задачу выполнил планировщик. Подобное может потребоваться, например когда: Пользователь должен запустить "тяжелый" алгоритм, результаты которого не надо сразу получить на экране. Например: синхронизация CRM-системы с какой-либо другой системой (если честно, я этот механизм "подсмотрел" в библиотеки связки Mautic и SuiteCRM). То есть пользователь где то в системе запускает синхронизацию и продолжает далее работать в CRM-системе, а CRM-система в этот
  20. Всем привет! Просто небольшая заметка, но может кому пригодиться... Иногда бывает, что в карточке модуля на панели необходимо разместить некую информацию, но Label у этой информации будет лишним. Например: список ссылок, относящихся к тому или иному контрагенту: Как вы видите, здесь имеет место быть отдельная панель, и в этой панели единственная переменная, которая содержит кучу ссылок. В DetailView это выглядит примерно так: 'lbl_editview_panel12' => array ( 0 => array ( 0 => array ( 'name' =>
  21. Всем привет! В последних на текущий момент (апрель 2018 года) версиях SuiteCRM (версии SuiteCRM 7.10.2 и 7.10.3) столкнулись с небольшой проблемой: куда то пропали боковые меню в модулях, доступных админу (которые находятся в админке). Например, когда смотрим на свой профиль: Начал искать что куда делось. Нашел не очень старые версии, в которых все работало. Состав меню определяется в том числе в файле Menu.php, лежащем в модуле. Там есть строки типа: $module_menu = Array(); if ($GLOBALS['current_user']->isAdminForModule('Users') ) { $module_menu = Array( Ar
  22. Решил по одному проекту сделать сортировку записей в сабпанели. Добавил кнопки, повесил ajax-запросы при нажатии на ссылки. После сортировки надо перезагрузить сабпанель желательно без перезагрузки всей страницы: после успешной смены сортировки через ajax вызываем showSubPanel('themes',null,true); примерно так: function sortThemes(theme_id, order) { console.log('sortThemes - start'); console.log('theme_id = ', theme_id); console.log('order = ', order); var record = $('#formDetailView input[name=record]').val(); console.log('record = ', record); //
  23. Еще одно хорошее бесплатное решение отчетов и графиков - выгрузка данных в CSV. Вы эту "простынку" добавляете в виде первой вкладки в Excel-файл. А на остальных вкладках на основании данных из первой вкладки у вас уже строятся графики, диаграммы, формулы разные и прочее. Подобная схема неплохо сработала в одной компании, когда очень много логики в большом количестве отчетов нужно было. SuiteCRM просто не справлялся с логикой этой. А вот Excel вполне себе справлялся. Делаете заготовку, которая должна брать за основу данные в первой вкладке. А потом туда просто выгружаете нужные вам да
×
×
  • Create New...