Jump to content

Search the Community

Showing results for tags 'suitecrm'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Перевод официального мануала SuiteCRM
  • Обучающие статьи о SuiteCRM
    • Для программиста
  • Доводим напильником SuiteCRM
  • Расширения для SuiteCRM
    • Патчи с исправлениями ошибок в SuiteCRM
  • Программист за работой
  • Диалоги о SuiteCRM

Categories

  • Records
  • CRM-система для застройщика
    • Manual
  • CRM-система для кредитного брокера
  • CRM for Programmer
  • CRM-система для салонов красоты
    • Руководство

Forums

  • SugarCRM/SuiteCRM
    • Все вопросы пока сюда
    • Заметки по ходу разработки
    • Нам пишут
    • Работа
  • CRMHosting.io
    • SuiteCRM последней версии
    • CRM для продажи пиццы/суши/ролл
    • CRM для Застройщика
    • CRM для Кредитного брокера
    • CRM для Салонов красоты
    • CRM для Разработчика ПО / Веб-студии
  • Другие CRM-системы
    • AmoCRM
    • Bitrix24
    • BPM Online
    • Прочие CRM
  • Всего по немногу
    • Программисту
    • Arduino
    • Без систематики

Categories

  • Модули SuiteCRM/SuiteCRM
  • Manuals

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

  1. Хочу разместить тут одну из вариаций решения задачи: При добавлении нового Контрагента, если заполнено поле "ИНН", надо определить, нет ли в базе уже существующего Контрагента с таким же ИНН. И если есть - не дать сохранить выведя соответствующую надпись о этом. Реализация сделана на странице добавления новой записи в модуле Accounts. Если в вкратце, то алгоритм следующий: Добавляем на страницу создания/редактирования карточки Accounts произвольный js-файл В этом js-файле для кнопки "Сохранить" прописываем свой обработчик. Когда пользователь нажимает кнопку "Сохрани
  2. Сегодня столкнулся с ошибкой, присутствовавшей в SuiteCRM 7.3.2 (а возможно и в более ранних и более поздних модификациях этой CRM): Если создать новый отчет в модуле Отчеты (AOR_Reports), и одним из параметров фильтрации указать поле типа Datetime, то при построении отчета записи по этому полю не ищутся. У меня это проявилось, когда я хотел найти все Задачи, созданные за определенный день (по календарику). Вот как выглядел отчет: Таким образом у нас отчет будет состоять из трех колонок: ID записи, Название и Дата создания записи. А фильтровать данные м
  3. В ходе разработки системы появилась не обходимость сделать логику, кторую не получится реализовать стандартным функционалом ролей. В данном случае было необходимо, чтоб контрагентов со статусом "архив" видели только администраторы системы. Для реализации данной логики нам понадобится файл modules/Accounts/Account.php Ищем в нём метод create_new_list_query, если не находим то создаём. В ней мы ограничиваем доступ к записям в listview модуля Контрагенты. Фактически дописываем допольнительное условие в запрос по которому строится список в listview. function create_new_list_query($ord
  4. Иногда возникает ситуация когда необходимо отключить "сохранение" данных в полях фильтра (в полях поиска). Т.е., например, в модуле Leads отфильтровали по полю name и теперь возвращаясь этот модуль, поле name в фильтре будет заполнено значением, которое искали, иногда это бывает неудобно. Чтоб отключить данный функционал идём в файл: modules/MySettings/StoreQuery.php и в самом конце файла находим метод getStoredQueryForUser. public static function getStoredQueryForUser($module) { global $current_user; return $current_user->getPreference($module . 'Q'); }
  5. В этом видео я чиню модуль E-mail: Когда приходит письмо от клиента, который есть в базе, автоматически не добавляются связи между письмом и соответствующим контактом и конрагентом.
  6. Суть в следующем: Стояла задача добавить несколько полей в модуль Сотрудники. Поля добавил, вывел их в макете редактирования и отображения. Но вводимые значения не сохранялись. То есть переходишь в режим редактирования карточки Сотрудника, указываешь значения, нажимаешь кнопку "Сохранить". Карточка сохраняется, но новые указанные значения не применяются. Остаются не заполненнями. В результате, как выяснилось, в модуле Сотрудники есть файл Save.php, который собой перехватывает стандартный процесс выполнения сохранения, и задает свой режим этого действа. Вот в этом файле надо было новые поля про
  7. Суть в следующем: Стояла задача добавить несколько полей в модуль Сотрудники. Поля добавил, вывел их в макете редактирования и отображения. Но вводимые значения не сохранялись. То есть переходишь в режим редактирования карточки Сотрудника, указываешь значения, нажимаешь кнопку "Сохранить". Карточка сохраняется, но новые указанные значения не применяются. Остаются не заполненнями. В результате, как выяснилось, в модуле Сотрудники есть файл Save.php, который собой перехватывает стандартный процесс выполнения сохранения, и задает свой режим этого действа. Вот в этом файле надо было новые поля про
  8. Всем добрый день! Хочу рассказать об одной интересной работе, которую делали последнюю неделю и которую закрыли вот прям буквально сегодня. К нам обратилась некая компания, которая попросила показать демо-стенд реализации интеграции Camunda с CRM-системой на базе SuiteCRM. В SuiteCRM есть свой собственный модуль "Процессы". Но его наглядность - не самое его сильное качество. Да и функциональность конечно весьма не плоха, но очень далеко до "отличная". По этому компания приняла решение в качестве BPM-платформы выбрать стороннее решение в виде Camunda. Вот что пишут про Camun
  9. Всем привет! Столкнулся с небольшой проблемой: 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 Ведь удобн
  10. Всем привет! Столкнулся только что с ситуацией, когда в карточку Контрагента добавили поле с пользователем (связанная запись из Users), пытаемся в дашлете это поле использовать как фильтр, а оно не работает. Поле добавляли через файлы в /custom/Extensions/modules/Accounts/Ext/Vardefs/ В дашлете это выглядит примерно так: В карточке контрагента это же поле: После того, как в дашлете я выбираю это поле в виде фильтра, SuiteCRM формирует для выборки записей SQL-запрос примерно такого содержания: SELECT accounts.id , accounts.user_id2_c , LTRIM(RTRI
  11. Всем привет! Давайте разберем ситуацию, когда нам необходимо выполнить единоразово какую то задачу в CRM-системе, и мы хотим, чтобы эту задачу выполнил планировщик. Подобное может потребоваться, например когда: Пользователь должен запустить "тяжелый" алгоритм, результаты которого не надо сразу получить на экране. Например: синхронизация CRM-системы с какой-либо другой системой (если честно, я этот механизм "подсмотрел" в библиотеки связки Mautic и SuiteCRM). То есть пользователь где то в системе запускает синхронизацию и продолжает далее работать в CRM-системе, а CRM-система в этот
  12. Всем привет! Просто небольшая заметка, но может кому пригодиться... Иногда бывает, что в карточке модуля на панели необходимо разместить некую информацию, но Label у этой информации будет лишним. Например: список ссылок, относящихся к тому или иному контрагенту: Как вы видите, здесь имеет место быть отдельная панель, и в этой панели единственная переменная, которая содержит кучу ссылок. В DetailView это выглядит примерно так: 'lbl_editview_panel12' => array ( 0 => array ( 0 => array ( 'name' =>
  13. Всем привет! В последних на текущий момент (апрель 2018 года) версиях SuiteCRM (версии SuiteCRM 7.10.2 и 7.10.3) столкнулись с небольшой проблемой: куда то пропали боковые меню в модулях, доступных админу (которые находятся в админке). Например, когда смотрим на свой профиль: Начал искать что куда делось. Нашел не очень старые версии, в которых все работало. Состав меню определяется в том числе в файле Menu.php, лежащем в модуле. Там есть строки типа: $module_menu = Array(); if ($GLOBALS['current_user']->isAdminForModule('Users') ) { $module_menu = Array( Ar
  14. Стояла задача организовать поиск(фильтрацию на карточке списка) обращений по email связанных c ним Контактов , так же необходимо , что бы искались записи по частичному вхождению адреса, например почта pupok@mail.ru должна находиться при запросе: "pup" добавили поле mail_contact_init типа non-db выводим его в карточку расширенного поиска custom/modules/Cases/metadata/searchdefs.php или через студию, добавляем запрос по которому будит производиться поиск записи Обращения (в запросе нужно получить Id записи модуля по необходимым нам условиям) в файле custom/modules/Cases/m
  15. Решил по одному проекту сделать сортировку записей в сабпанели. Добавил кнопки, повесил 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); //
  16. Всем привет! Хочу поделиться методом, который позволяет добавлять фильтры в список записей модуля, когда надо найти все записи, у которых есть связи с определенной записью из другого модуля. Сразу оговорюсь, что SuiteCRM позволяет выполнять подобный поиск стандартным способом, когда ищем в связке один-ко-многим. Например, должны найти все Контакты, принадлежащие определенному Контрагенту. Подобные связи можно видеть в настройках шаблона поиска в студии, и настраиваются они без вмешательства программиста путем работы с интерфейсом. Мы же с вами поговорим о ситуациях, когда надо н
  17. Version 1.0.1

    20 downloads

    Описание будет
  18. Доброго времени суток. Только начал знакомиться с замечательным произведением программерского исскусства - SuiteCRM. Приходится работать с уже готовыми системами, опыта мало. Вопрос: Есть список звонков. Есть колонка - продолжительность разговора. У клиента в заголовке колонки указано время продолжительности в секундах. Но в строках эти значения уже в минутах. Список звонков - это стандартный модуль Calls. Есть менее стандартный модуль Asterisk, со своим скриптом asteriskLogger.php. В этом Логгере ведется вычисление продолжительности разговора. Далее совсем мне н
  19. Version 1.0.0

    48 downloads

    Пакетная загрузка файлов в субнанель документы для SuiteCRM/SugarCRM dragndropuploaddocuments - это дополнение к CRM-системе на базе SugarCRM/SuiteCRM, которое позволяет быстро и удобно добавлять файлы в субпанели документы, просто перетягивая их из папки в поле для загрузки. Поддерживает загрузку нескольких файлов одновременно. Вот смотрите, на примере модуля Контрагенты: для установки необходимо : 1 скачать файл дополнения 2 перейти в CRM систему Администрирование -> Загрузчик модулей 3 выбрать файл дополнения 4 После того , как модуль окажется
  20. Может быть не все знают, что SuiteCRM позволяет двумя разными способами отображать кнопки с действиями, которые можно произвести с текущей картой. Это там, где есть кнопки "Править", "Поиск дубликатов", "Просмотреть журнал изменений" и так далее: В целом такая компоновка кнопок удобна, потому что компактна и не перегружает интерфейс кнопками, которые редко используются (часто используемая кнопка "Править" всегда наверху в быстром доступе). Но вот лично мне больше нравится, когда кнопки все расположены рядышком и их можно сразу кликнуть. Чтобы для всех CRM-системы указать и
  21. Скачали и установили новую SuiteCRM 7.9.4 При проверке работоспособности выяснилось: Модуль Email адски тормозит при наличии даже 2к писем В этом модуле судя по всему все переделали Многие названия отправителей в неправильной кодировке типа Экспресс-разбирательство данной ситуации выявило, что судя по всему теперь сделали чтение почты напрямую из почтового сервера без предварительной ее загрузки в базу CRM-системы. В целом это круто. И так и должно быть. Ведь IMAP именно такое поведение и предполагает. Но что же так долго то загружаются страницы? Ну да ладно,
  22. Version 1.0.0

    14 downloads

    TechnicalSupport - это дополнительный модуль к CRM-системе на базе SugarCRM/SuiteCRM, который позволяет обращаться к службе технической поддержки CRMHosting.ru для согласовывания и последующего выполнения Ваших пожеланий по доработке Вашей CRM-системы. Примерный перечень возможных работ и их стоимость можно посмотреть на сайте.
  23. В процессе разработки столкнулся с проблемой: независимо от того какие значения стоят в полях "Дата начала" и "Дата выполнения" в модуле "Задачи", в календаре такая задача отображается размером в 2 часа. При этом звонки и встречи отображаются нормально. Путём сравнения модулей удалось выяснить, что в звонках и встречах есть поля duration_hours и duration_minutes по которым строится отображение данных в календаре. Я предположил, что необходимо найти место где формируются данные для календаря и высчитывать эти значения там. В файле modules/Calendar/Calendar.php ищем строки "Ta
  24. Патч исправляет ошибку в работе модуля Отчёты: поиск по дате и поиск в диапазоне. Про ручное устранение этой ошибки я писал в статье: Но потом родилась мысль: а почему бы не начать писать расширения под SuiteCRM? Скачать и установить расширении ведь удобнее, чем руками лазить по коду! Вот так и родилась эта идея. И вот предлагаю дебютный мой выход в этом направлении: bugfix_patch_reports.13.01.2016.15.45.31.zip Патч устраняет указанные выше недостатки. Сейчас я еще все тут продумаю, как лучше организовать этот раздел, и, думаю, открою какую то полнофункциональную ру
  25. если не сильно отвлекаю есть еще вопрос как можно вывести наименование ролей в кук при авторизации это через модуль users ? 20:20:16 в смысле ролей на том или ином пользоватере 20:20:54 20:27:30 что такое кук? печеньки 20:33:25 cookis 20:33:31 20:33:56 ну например в after_ui_frame 20:34:01 вроде есть такой хук 20:34:10 и в нем пихнуть в $_COOKIE
×
×
  • Create New...