forum.bitel.ru
http://forum.bitel.ru/

Пример отчёта (CRM)
http://forum.bitel.ru/viewtopic.php?f=49&t=9379
Страница 1 из 1

Автор:  Dog [ 26 июн 2014, 13:35 ]
Заголовок сообщения:  Пример отчёта

где можно найти действительно пример отчета от BGCRM? то что указанно в документации ссылка на wiki и там всё как то от биллинга. по ним даже фильтр на формируется.

Автор:  Администратор [ 26 июн 2014, 15:35 ]
Заголовок сообщения:  Re: Пример отчёта

Опишите, что хотите вывести.

Автор:  Dog [ 26 июн 2014, 21:11 ]
Заголовок сообщения:  Re: Пример отчёта

хотим видеть объем работы по отдельному сотруднику за период времени для расчётов сдельной оплаты, типы работ брать из параметров процесса.

Автор:  Администратор [ 30 июн 2014, 18:41 ]
Заголовок сообщения:  Re: Пример отчёта

Обновитесь. В сборку включен пример отчёта example.xml. Выводит процессы, закрытые определённой датой.
Прямо в тело отчёта вставлены ссылка, где можно посмотреть примеры элементов ввода.
Попробуйте начать с клонирования отчёта. Если будут вопросы - пишите.

Автор:  Dog [ 15 июл 2014, 17:24 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

каким образом 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 есть смысл обращаться в ХД (по договору биллинга) за написанием отчёта? а то как то с этим сложно =) дин.код как проще познаётся.

Автор:  Администратор [ 16 июл 2014, 11:40 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

В пример отчёта добавлены фильтры по группе и исполнителю. Обновитесь.

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

Автор:  Dog [ 19 июл 2014, 15:24 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

а есть возможность вывода отчёта в файл (xsl) и\или на печать (кроме печати страницы браузера?

Автор:  Администратор [ 21 июл 2014, 14:40 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

Цитата:
а есть возможность вывода отчёта в файл (xsl) и\или на печать (кроме печати страницы браузера?

Пока нет.

Автор:  zavndw [ 01 сен 2014, 15:24 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

подскажите как сделать выбор периода закрытия процессов?
как я понимаю этот кусок надо подрихтовать?
Код:
<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>

Автор:  Администратор [ 02 сен 2014, 08:54 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

Это элемент ввода типа "Дата". Если период - то нужно два таких ставить. С разными именами.

Автор:  zavndw [ 02 сен 2014, 10:08 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

сделал
Код:
<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>

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

Автор:  Администратор [ 04 сен 2014, 17:13 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

Сделал подобный пример - всё отрабатывает.
У вас вообще поля не отображаются или календарики на них не всплывают?

Автор:  zavndw [ 05 сен 2014, 02:27 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

Все отображается просто выводятся процессы на дату 1 а не в период с даты 1 до даты 2

Автор:  Администратор [ 08 сен 2014, 14:56 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

Видимо, запрос неверный. Выложите запрос в JSP файле.

Автор:  zavndw [ 08 сен 2014, 16:36 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

Код:
<%@ 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>

Автор:  Администратор [ 09 сен 2014, 19:16 ]
Заголовок сообщения:  Re: Пример отчёта (CRM)

Цитата:
<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' ) }"/>

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/