BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 28 апр 2024, 05:04

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 16 ] 
Автор Сообщение
 Заголовок сообщения: Пример отчёта
СообщениеДобавлено: 26 июн 2014, 13:35 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
где можно найти действительно пример отчета от BGCRM? то что указанно в документации ссылка на wiki и там всё как то от биллинга. по ним даже фильтр на формируется.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта
СообщениеДобавлено: 26 июн 2014, 15:35 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Опишите, что хотите вывести.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта
СообщениеДобавлено: 26 июн 2014, 21:11 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
хотим видеть объем работы по отдельному сотруднику за период времени для расчётов сдельной оплаты, типы работ брать из параметров процесса.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта
СообщениеДобавлено: 30 июн 2014, 18:41 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Обновитесь. В сборку включен пример отчёта example.xml. Выводит процессы, закрытые определённой датой.
Прямо в тело отчёта вставлены ссылка, где можно посмотреть примеры элементов ввода.
Попробуйте начать с клонирования отчёта. Если будут вопросы - пишите.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 15 июл 2014, 17:24 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
каким образом example фильтрует задачи по исполнителям?
сделал вот такой отчёт:
Код:
Дата с:
      <c:set var="uiid" value="${u:uiid()}"/>
      <html:text property="dateFrom" readonly="true" styleId="${uiid}"/>
      <c:set var="selector" value="#${uiid}"/>
      <%@ include file="/WEB-INF/jspf/datetimepicker.jsp"%>      
      
      Дата по:
      <c:set var="uiid" value="${u:uiid()}"/>
      <html:text property="dateUntil" readonly="true" styleId="${uiid}"/>
      <c:set var="selector" value="#${uiid}"/>
      <%@ include file="/WEB-INF/jspf/datetimepicker.jsp"%>
      
      <div class="ml05" style="display: inline-block;">
         <u:sc>
            <c:set var="list" value="${ctxUserList}"/>
            <c:set var="prefixText" value="Сотрудник:"/>
            <c:set var="paramName" value="user"/>
            <c:set var="values" value="${form.getSelectedValues( 'user' )}"/>
            <c:set var="widthTextValue" value="150px"/>
            <%@ include file="/WEB-INF/jspf/combo_check.jsp"%>   
         </u:sc>
      </div>
      
      <button type="button"  class="btn-grey ml1" onclick="openUrlToParent( formUrl( this.form ), $(this.form) )">Сформировать</button>
   </html:form>
   
   <c:set var="dateFrom" value="${u:parseDate( form.param.dateFrom, 'ymd' ) }"/>
   <c:set var="dateUntil" value="${u:parseDate( form.param.dateUntil, 'ymd' ) }"/>
   
   <c:if test="${not empty dateFrom}">
      <%-- в случае, если Slave база не настроена - будет использована обычная --%>
      <sql:query var="result" dataSource="${ctxSlaveDataSource}">
         SELECT
         process.id,
         process_type.title,
         param_listcount_value.title AS workTitle,
         param_listcount.count AS workCount,
         DATE_FORMAT(param_datetime.`value`, '%Y-%m-%d') AS workDate
         FROM
         process
         INNER JOIN process_type ON process_type.id = process.type_id
         LEFT JOIN param_listcount ON param_listcount.id = process.id
         LEFT JOIN param_listcount_value ON param_listcount.param_id = param_listcount_value.param_id AND param_listcount.`value` = param_listcount_value.id
         LEFT JOIN param_datetime ON param_datetime.id = process.id
         WHERE
         param_datetime.param_id = 16 AND
         DATE(param_datetime.`value`) BETWEEN ? AND ? AND
         process.status_id = 6
         ORDER BY
         param_datetime.`value` DESC,
         process.id ASC

         <sql:param value="${dateFrom}"/>      
         <sql:param value="${dateUntil}"/>
      </sql:query>

с датами понятно, они вставляются в sql запрос, а как быть с группой?
экзампл
Код:
Дата закрытия:
      <c:set var="uiid" value="${u:uiid()}"/>
      <html:text property="date" readonly="true" styleId="${uiid}"/>
      <c:set var="selector" value="#${uiid}"/>
      <%@ include file="/WEB-INF/jspf/datetimepicker.jsp"%>      
      
      <div class="ml05" style="display: inline-block;">
         <u:sc>
            <c:set var="list" value="${ctxUserGroupList}"/>
            <c:set var="prefixText" value="Группа:"/>
            <c:set var="paramName" value="group"/>
            <c:set var="values" value="${form.getSelectedValues( 'group' )}"/>
            <c:set var="widthTextValue" value="150px"/>
            <%@ include file="/WEB-INF/jspf/combo_check.jsp"%>   
         </u:sc>
      </div>
      
      <button type="button"  class="btn-grey ml1" onclick="openUrlToParent( formUrl( this.form ), $(this.form) )">Сформировать</button>
   </html:form>
   
   <c:set var="date" value="${u:parseDate( form.param.date, 'ymd' ) }"/>
      
   <c:if test="${not empty date}">
      <%-- в случае, если Slave база не настроена - будет использована обычная --%>
      <sql:query var="result" dataSource="${ctxSlaveDataSource}">
         SELECT process.id, process.description, status.title, DATE_FORMAT(process.create_dt, '%Y-%m-%d %H.%i.%s'), DATE_FORMAT(process.close_dt, '%Y-%m-%d %H.%i.%s') 
         FROM process
         LEFT JOIN process_status_title AS status ON process.status_id=status.id
         WHERE close_dt>=? AND close_dt<DATE_ADD(?, INTERVAL 1 DAY)
         ORDER BY process.id
         
         <sql:param value="${date}"/>      
         <sql:param value="${date}"/>
      </sql:query>


p\s есть смысл обращаться в ХД (по договору биллинга) за написанием отчёта? а то как то с этим сложно =) дин.код как проще познаётся.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 16 июл 2014, 11:40 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
В пример отчёта добавлены фильтры по группе и исполнителю. Обновитесь.

P.S. Лучше пишите сюда, будем по мере нахождения сложных мест подбивать документацию/примеры.
Отчётность люди должны иметь возможность делать сами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 19 июл 2014, 15:24 
Не в сети
Клиент

Зарегистрирован: 21 сен 2009, 13:01
Сообщения: 835
Откуда: Москва
Карма: 15
а есть возможность вывода отчёта в файл (xsl) и\или на печать (кроме печати страницы браузера?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 21 июл 2014, 14:40 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
а есть возможность вывода отчёта в файл (xsl) и\или на печать (кроме печати страницы браузера?

Пока нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 01 сен 2014, 15:24 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
подскажите как сделать выбор периода закрытия процессов?
как я понимаю этот кусок надо подрихтовать?
Код:
<u:sc>
         Дата закрытия:
         <c:set var="uiid" value="${u:uiid()}"/>
         <html:text property="date" styleId="${uiid}"/>
         <c:set var="selector" value="#${uiid}"/>
         <%@ include file="/WEB-INF/jspf/datetimepicker.jsp"%>      
</u:sc>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 02 сен 2014, 08:54 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Это элемент ввода типа "Дата". Если период - то нужно два таких ставить. С разными именами.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 02 сен 2014, 10:08 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
сделал
Код:
<u:sc>
         Дата закрытия:
         <c:set var="uiid" value="${u:uiid()}"/>
         <html:text property="date" styleId="${uiid}"/>
         <c:set var="selector" value="#${uiid}"/>
         <%@ include file="/WEB-INF/jspf/datetimepicker.jsp"%>     
</u:sc>
<u:sc>
         Дата закрытия:
         <c:set var="uiid" value="${u:uiid()}"/>
         <html:text property="date1" styleId="${uiid}"/>
         <c:set var="selector" value="#${uiid}"/>
         <%@ include file="/WEB-INF/jspf/datetimepicker.jsp"%>     
</u:sc>

выводит только первую дату, или еще править надо?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 04 сен 2014, 17:13 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Сделал подобный пример - всё отрабатывает.
У вас вообще поля не отображаются или календарики на них не всплывают?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 05 сен 2014, 02:27 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Все отображается просто выводятся процессы на дату 1 а не в период с даты 1 до даты 2


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 08 сен 2014, 14:56 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Видимо, запрос неверный. Выложите запрос в JSP файле.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 08 сен 2014, 16:36 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 27 мар 2012, 11:59
Сообщения: 2676
Карма: 72
Код:
<%@ page import="java.util.Enumeration"%>

<%@ page contentType="text/html; charset=UTF-8"%>
<%@ include file="/WEB-INF/jspf/taglibs.jsp"%>

<div class="center1020">
   <h2>Отчет СофитКТВ по закрытым заявкам</h2>
   
   <c:set var="groups" value="${form.getSelectedValues( 'group' )}"/>
   <c:set var="executors" value="${form.getSelectedValues( 'executor' )}"/>
   
   <html:form action="/user/empty">
      <input type="hidden" name="forwardFile" value="/WEB-INF/jspf/user/plugin/report/report/example_test.jsp"/>
      
      <u:sc>
         Дата закрытия:
         <c:set var="uiid" value="${u:uiid()}"/>
         <html:text property="date" styleId="${uiid}"/>
         <c:set var="selector" value="#${uiid}"/>
         <%@ include file="/WEB-INF/jspf/datetimepicker.jsp"%>      
      </u:sc>   
      
      <u:sc>
         Дата закрытия:
         <c:set var="uiid" value="${u:uiid()}"/>
         <html:text property="date1" styleId="${uiid}"/>
         <c:set var="selector" value="#${uiid}"/>
         <%@ include file="/WEB-INF/jspf/datetimepicker.jsp"%>      
      </u:sc>   
      <div class="ml05" style="display: inline-block;">
         <u:sc>
            <c:set var="list" value="${ctxUserGroupList}"/>
            <c:set var="prefixText" value="Группы:"/>
            <c:set var="paramName" value="group"/>
            <c:set var="values" value="${groups}"/>
            <c:set var="widthTextValue" value="150px"/>
            <c:set var="showFilter" value="1"/>
            <%@ include file="/WEB-INF/jspf/combo_check.jsp"%>   
         </u:sc>
      </div>
      
      <div class="ml05" style="display: inline-block;">
         <u:sc>
            <c:set var="list" value="${ctxUserList}"/>
            <c:set var="prefixText" value="Исполнители:"/>
            <c:set var="paramName" value="executor"/>
            <c:set var="values" value="${executors}"/>
            <c:set var="widthTextValue" value="150px"/>
            <c:set var="showFilter" value="1"/>
            <%@ include file="/WEB-INF/jspf/combo_check.jsp"%>   
         </u:sc>
      </div>
      
      <button type="button"  class="btn-grey ml1" onclick="openUrlToParent( formUrl( this.form ), $(this.form) )">Сформировать</button>
   </html:form>
   
   <c:set var="date" value="${u:parseDate( form.param.date, 'ymd' ) }"/>
   <c:set var="date1" value="${u:parseDate( form.param.date, 'ymd' ) }"/>
      
   <c:if test="${not empty date}">
      <%-- в случае, если Slave база не настроена - будет использована обычная --%>
      <sql:query var="result" dataSource="${ctxSlaveDataSource}">
         SELECT process.id, process.description, status.title, DATE_FORMAT(process.create_dt, '%Y-%m-%d %H.%i.%s'), DATE_FORMAT(process.close_dt, '%Y-%m-%d %H.%i.%s') 
         FROM process
         LEFT JOIN process_status_title AS status ON process.status_id=status.id
         <c:if test="${not empty groups}">
            INNER JOIN process_group AS pg ON process.id=pg.process_id AND pg.group_id IN(${u:toString( groups )})
         </c:if>
         <c:if test="${not empty executors}">
            INNER JOIN process_executor AS pe ON process.id=pe.process_id AND pe.user_id IN(${u:toString( executors )})
         </c:if>
         WHERE close_dt>=? AND close_dt<DATE_ADD(?, INTERVAL 1 DAY)
         ORDER BY process.id
                  
         <sql:param value="${date}"/>      
         <sql:param value="${date}"/>
      </sql:query>
   
      <table style="width: 100%;" class="data mt1">
         <tr>
            <td>ID</td>
            <td>Описание</td>
            <td>Статус</td>
            <td>Создан</td>
            <td>Закрыт</td>
         </tr>   

         <c:forEach var="row" items="${result.rowsByIndex}">
            <c:set var="id" value="${row[0]}"/>
            <c:set var="description" value="${row[1]}"/>
            <c:set var="status" value="${row[2]}"/>
            <c:set var="createTime" value="${row[3]}"/>
            <c:set var="closeTime" value="${row[4]}"/>
      
            <tr>
               <td><a href="UNDEF" onclick="openProcess( ${id} ); return false;">${id}</a></td>
               <td>${description}</td>
               <td>${status}</td>
               <td>${createTime}</td>
               <td>${closeTime}</td>
            </tr>         
         </c:forEach>
      </table>   
   </c:if>
</div>


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Пример отчёта (CRM)
СообщениеДобавлено: 09 сен 2014, 19:16 
Не в сети
Разработчик

Зарегистрирован: 27 ноя 2006, 20:36
Сообщения: 5715
Карма: 93
Цитата:
<c:set var="date" value="${u:parseDate( form.param.date, 'ymd' ) }"/>
<c:set var="date1" value="${u:parseDate( form.param.date, 'ymd' ) }"/>

заменить
Цитата:
<c:set var="date" value="${u:parseDate( form.param.date, 'ymd' ) }"/>
<c:set var="date1" value="${u:parseDate( form.param.date1, 'ymd' ) }"/>


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


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

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
POWERED_BY
Русская поддержка phpBB
[ Time : 0.158s | 50 Queries | GZIP : On ]