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/ |