Создание собственных чартов/диаграмм в SugarCRM

Обсуждение статей блога SugarTalk.ru

Создание собственных чартов/диаграмм в SugarCRM

Сообщение admin » 09 фев 2012, 12:41

В данной теме обсуждается статья - Создание собственных чартов/диаграмм в SugarCRM.

Буду рад любым комментариям по данной теме. Так же если кто то будет делать свои чарты, даже экспериментальные так скажем для теста, выкладывайте их в данную тему. Это поможет новичкам получше освоить данную тему. Ведь нет ничего лучше примеров ;)
Аватара пользователя
admin
 
Сообщения: 250
Зарегистрирован: 11 авг 2011, 14:49

Re: Создание собственных чартов/диаграмм в SugarCRM

Сообщение stalin-ussr » 09 фев 2012, 12:57

Спасибо огромное!!! 8-) ;)
stalin-ussr
 
Сообщения: 85
Зарегистрирован: 09 дек 2011, 18:48

Re: Создание собственных чартов/диаграмм в SugarCRM

Сообщение stalin-ussr » 09 фев 2012, 18:50

Вот часть кода:
Код: Выделить всё
 db_convert('contacts.date_entered','date_format',array("'%Y-%m'"),array("'YYYY-MM'"))." as m, count(*) as con_count FROM contacts ";
        $query .= " WHERE contacts.date_entered >= ".db_convert("'".'2011-01-01'."'",'datetime') .
                        " AND contacts.date_entered <= ".db_convert("'".'2013-01-01'."'",'datetime') .
                        " AND contacts.deleted=0";

Модуль contacts стандартный, а у самописных есть префикс, так вот: в код нужно вписывать с префиксом или без? :? Потому что на опыте с модулем AOS (когда переделывал что бы можно было добавлять переменные с других модулей) то там через раз, где с префиксом а где без :? .
________________________________________________

p.s. Изначально хочу просто заменить title (Должность) на total_amount (Итого) из своего модуля, ну и соответственно "contacts" на свой модуль :). И посмотреть что получится.

p.p.s.
Код: Выделить всё
'2011-01-01'."'",'datetime'
Формат даты должен быть таким как и в настройках профиля или без разницы?
stalin-ussr
 
Сообщения: 85
Зарегистрирован: 09 дек 2011, 18:48

Re: Создание собственных чартов/диаграмм в SugarCRM

Сообщение admin » 09 фев 2012, 23:02

в код нужно вписывать с префиксом или без?

В данном случае это название базы данных. Да его надо вписывать с префиксом.
Формат даты должен быть таким как и в настройках профиля или без разницы?

Должен быть таким как написан тут YYYY-mm-dd, это системный формат, в таком формате хранятся даты в бд
Аватара пользователя
admin
 
Сообщения: 250
Зарегистрирован: 11 авг 2011, 14:49

Re: Создание собственных чартов/диаграмм в SugarCRM

Сообщение stalin-ussr » 10 фев 2012, 13:57

Возможно некоторым этот вопрос покажется смешным. (И в блоге было указано что статья рассчитана на программистов) Но как говорится:
- "Программистами не рождаются... ими становятся" :)
Код: Выделить всё
$query = "SELECT count(id) as total, title, ".


count єто у нас подсчет строк (Насколько я понял что бы подсчитать количество должностей), а что бы посчитать сумму (деньги) что нужно использовать?
stalin-ussr
 
Сообщения: 85
Зарегистрирован: 09 дек 2011, 18:48

Re: Создание собственных чартов/диаграмм в SugarCRM

Сообщение admin » 10 фев 2012, 16:20

stalin-ussr писал(а):а что бы посчитать сумму (деньги) что нужно использовать?

В SQL функция SUM()
Аватара пользователя
admin
 
Сообщения: 250
Зарегистрирован: 11 авг 2011, 14:49

Re: Создание собственных чартов/диаграмм в SugarCRM

Сообщение stalin-ussr » 13 фев 2012, 18:18

Кто хорошо разбирается в запросах (и в шуге соответственно), что я изменил неправильно или недоизменил:
Код: Выделить всё
<?php
require_once('custom/include/Dashlets/DashletGenericStackedGroupByChart.php');
 
class MyDashlet extends DashletGenericStackedGroupByChart
{
    protected $_seedName = 'aos_invoices';
 
    protected $groupBy = array('total_amount','m');
 
    protected function getDataset()
    {
        $returnArray = array();
 
    global $db;
 
    $query = "SELECT SUM(id) as total, total_amount, ".
            db_convert('aos_invoices.date_entered','date_format',array("'%Y-%m'"),array("'YYYY-MM'"))." as m, SUM(*) as sum_invoices FROM aos_invoices ";
        $query .= " WHERE aos_invoices.date_entered >= ".db_convert("'".'2011-01-01'."'",'datetime') .
                        " AND aos_invoices.date_entered <= ".db_convert("'".'2013-01-01'."'",'datetime') .
                        " AND aos_invoices.deleted=0";
        $query .= " GROUP BY m,".
                        db_convert('aos_invoices.date_entered','date_format',array("'%Y-%m'"),array("'YYYY-MM'")) .
                    " ORDER BY total_amount";
 
        $result = $db->query($query);
 
        $row = $db->fetchByAssoc($result);
 
        while ($row != null){
            $returnArray[] = $row;
            $row = $db->fetchByAssoc($result);
        }
        return $returnArray;
    }
}
stalin-ussr
 
Сообщения: 85
Зарегистрирован: 09 дек 2011, 18:48

Re: Создание собственных чартов/диаграмм в SugarCRM

Сообщение admin » 14 фев 2012, 13:06

Код: Выделить всё
SELECT SUM(id)

Очень оригинально, вы спрашивали функцию для подсчета суммы, id это строковая характеристика, так что данное написанное лишено смысла.

Код: Выделить всё
SUM(*) as sum_invoices
тоже самое, суммировать можно значения, в вашем случае по человечески это звучит как, просуммируй мне Васю, Петю, Колю, в общем всех. А должно звучать как просуммируй мне все доходы/расходы Васи, Пети и т.д. Mysql не поймет что вы от него хотите добиться данным действием, и как можно суммировать записи. Должен быть объявлен столбец по которому будет произведено суммирование.


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

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

Код: Выделить всё
$GLOBALS['log']->fatal($query); //поставил fatal чтобы точно упал в логи, так как не знаю настроек вашего логирования.


Выполните этот запрос самостоятельно, например, через phpmyadmin и приведите ошибку. А вместо вас это никто делать не будет ;)
Аватара пользователя
admin
 
Сообщения: 250
Зарегистрирован: 11 авг 2011, 14:49

Re: Создание собственных чартов/диаграмм в SugarCRM

Сообщение Ildarik » 14 мар 2012, 13:07

День добрый. Как можно добавить выбор контрагентов и стадии продаж в настройках диаграмм. Заранее спасибо
Ildarik
 
Сообщения: 19
Зарегистрирован: 27 янв 2012, 07:30

Re: Создание собственных чартов/диаграмм в SugarCRM

Сообщение Shamanchik » 18 дек 2013, 13:16

SugarCRM 6.5.16
Установил, НО: имя модуля так и осталось LBL_TITLE, и если включить в нем автообновление то появляется ниже вторая копия, если обновить страницу то все нормально
и почему-то линейка не соотвутствует данным?

Update: Проблемму с LBL_TITLE решил банально в "MyDashlet.meta.php" вписал: 'title' => 'новые контакты',
Вложения
Снимок.JPG
линейка не соотвутствует данным
Снимок.JPG (20.81 КБ) Просмотров: 14973
mydiagram.JPG
mydiagram.JPG (35.41 КБ) Просмотров: 14973
Shamanchik
 
Сообщения: 2
Зарегистрирован: 17 дек 2013, 16:41


Вернуться в Обсуждение статей

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1