Примеры шаблонов для генерации документов
Материал из BiTel WiKi
(Различия между версиями)
Zavndw (Обсуждение | вклад) |
|||
| (2 промежуточные версии не показаны) | |||
| Строка 1: | Строка 1: | ||
| - | + | Шаблон печатной формы (содержание файла /WEB-INF/jspf/user/plugin/document/template/example/akt.jsp) | |
| + | <source lang="java"> <%@ page contentType="text/html; charset=UTF-8"%> | ||
| + | <%@ include file="/WEB-INF/jspf/taglibs.jsp"%> | ||
| + | |||
| + | |||
| + | <u:newInstance var="processDao" clazz="ru.bgcrm.dao.process.ProcessDAO"> | ||
| + | <u:param value="${conSlave}"/> | ||
| + | </u:newInstance> | ||
| + | |||
| + | <u:newInstance var="paramDao" clazz="ru.bgcrm.dao.ParamValueDAO"> | ||
| + | <u:param value="${conSlave}"/> | ||
| + | </u:newInstance> | ||
| + | |||
| + | <c:set var="processId" value="${event.objectId}"/> | ||
| + | |||
| + | <html> | ||
| + | <head> | ||
| + | <link rel="stylesheet" type="text/css" href="/css/style.css.jsp"/> | ||
| + | <meta content="text/html; charset=UTF-8" http-equiv="content-type"> | ||
| + | </head> | ||
| + | <body> | ||
| + | <div style="text-align: center; font-weight: bold;" class="mb1"> | ||
| + | Список актов процессв ВЫЗОВ ТЕХНИКА | ||
| + | </div> | ||
| + | <div> | ||
| + | <table class="data" width=100%> | ||
| + | <tr><td> </td></tr> | ||
| + | <c:forEach var="processId" items="${event.getObjectIds()}"> | ||
| + | <c:set var="process" value="${processDao.getProcess(processId)}"/> | ||
| + | |||
| + | <tr> | ||
| + | <td><b><u><i>№ ${processId}</u></i></b> | ||
| + | Исполнитель: <b> ${u:objectTitleList(ctxUserList, process.getExecutorIds())} </b> | ||
| + | Дата:<b>${paramDao.getParamDate(processId, 71)}</b></td> | ||
| + | </tr> | ||
| + | <tr> <td><u><i>Абонент:</i></u> ${paramDao.getParamText(processId, 47)} | ||
| + | <i><u>Адрес:</i></u> | ||
| + | <c:forEach var="addr" items="${paramDao.getParamAddress(processId, 25).values()}" varStatus="status"> | ||
| + | ${addr.value} | ||
| + | </c:forEach> | ||
| + | <u><i>Телефоны:</i></u> | ||
| + | ${paramDao.getParamText(processId, 46)}, | ||
| + | ${paramDao.getParamText(processId, 61)}, | ||
| + | ${paramDao.getParamText(processId, 62)} | ||
| + | </td> | ||
| + | </tr> | ||
| + | <tr> | ||
| + | <td colspan=2> | ||
| + | ${paramDao.getParamText(processId, 73)}, | ||
| + | ${u:toString(paramDao.getParamListWithTitles(processId, 70))} | ||
| + | ${u:toString(paramDao.getParamListWithTitles(processId, 76))} | ||
| + | <br> | ||
| + | ${process.getDescription()} | ||
| + | </td> | ||
| + | </tr> | ||
| + | </c:forEach> | ||
| + | </table> | ||
| + | </div> | ||
| + | </body> | ||
| + | </html> </source> | ||
| + | |||
| + | В коде ID параметров подставлены напрямую в местах их использования в коде. Для удобства чтения можно | ||
| + | свести эти значения в переменные: | ||
| + | <source lang="java"> <c:set var="PROCESS_PARAM_ADDRESS" value="25"/> </source> | ||
| + | и в соответствующих местах их использовать: | ||
| + | <source lang="java"> <c:forEach var="addr" items="${paramDao.getParamAddress(processId, PROCESS_PARAM_ADDRESS).values()}" varStatus="status"> </source> | ||
| + | |||
| + | Вывод параметра типа phone: | ||
| + | <source lang="java">Телефон: ${paramDao.getParamPhone(processId, 20).getValue()}</source> | ||
Текущая версия на 05:44, 30 апреля 2017
Шаблон печатной формы (содержание файла /WEB-INF/jspf/user/plugin/document/template/example/akt.jsp)
<%@ page contentType="text/html; charset=UTF-8"%> <%@ include file="/WEB-INF/jspf/taglibs.jsp"%> <u:newInstance var="processDao" clazz="ru.bgcrm.dao.process.ProcessDAO"> <u:param value="${conSlave}"/> </u:newInstance> <u:newInstance var="paramDao" clazz="ru.bgcrm.dao.ParamValueDAO"> <u:param value="${conSlave}"/> </u:newInstance> <c:set var="processId" value="${event.objectId}"/> <html> <head> <link rel="stylesheet" type="text/css" href="/css/style.css.jsp"/> <meta content="text/html; charset=UTF-8" http-equiv="content-type"> </head> <body> <div style="text-align: center; font-weight: bold;" class="mb1"> Список актов процессв ВЫЗОВ ТЕХНИКА </div> <div> <table class="data" width=100%> <tr><td> </td></tr> <c:forEach var="processId" items="${event.getObjectIds()}"> <c:set var="process" value="${processDao.getProcess(processId)}"/> <tr> <td><b><u><i>№ ${processId}</u></i></b> Исполнитель: <b> ${u:objectTitleList(ctxUserList, process.getExecutorIds())} </b> Дата:<b>${paramDao.getParamDate(processId, 71)}</b></td> </tr> <tr> <td><u><i>Абонент:</i></u> ${paramDao.getParamText(processId, 47)} <i><u>Адрес:</i></u> <c:forEach var="addr" items="${paramDao.getParamAddress(processId, 25).values()}" varStatus="status"> ${addr.value} </c:forEach> <u><i>Телефоны:</i></u> ${paramDao.getParamText(processId, 46)}, ${paramDao.getParamText(processId, 61)}, ${paramDao.getParamText(processId, 62)} </td> </tr> <tr> <td colspan=2> ${paramDao.getParamText(processId, 73)}, ${u:toString(paramDao.getParamListWithTitles(processId, 70))} ${u:toString(paramDao.getParamListWithTitles(processId, 76))} <br> ${process.getDescription()} </td> </tr> </c:forEach> </table> </div> </body> </html>
В коде ID параметров подставлены напрямую в местах их использования в коде. Для удобства чтения можно свести эти значения в переменные:
<c:set var="PROCESS_PARAM_ADDRESS" value="25"/>
и в соответствующих местах их использовать:
<c:forEach var="addr" items="${paramDao.getParamAddress(processId, PROCESS_PARAM_ADDRESS).values()}" varStatus="status">
Вывод параметра типа phone:
Телефон: ${paramDao.getParamPhone(processId, 20).getValue()}
