Изменения документа Руководство разработчика | Отчёты
Редактировал(а) admin 2026/09/01 21:59
Сводка
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -47,7 +47,7 @@ 47 47 48 48 Набор шаблонов — это zip-архив, который должен содержать следующие папки и файлы: 49 49 50 -{{code language=" none"}}50 +{{code language="text"}} 51 51 definitions/ // папка с шаблонами 52 52 <папка шаблона 1>/ 53 53 ... // другие файлы шаблона ... ... @@ -59,15 +59,15 @@ 59 59 deployment.conf // определение набора 60 60 {{/code}} 61 61 62 -Файл {{codelanguage="none"}}deployment.conf{{/code}}содержит определение набора, этот файл обязательно должен присутствовать в составе архива. Если файла нет, то Платформа НЕЙРОСС не примет загружаемый zip-архив. Подробное описание данного файла приведено в разделе [[#Определение набора шаблонов>>doc:||anchor="Руководстворазработчика|Отчёты-Определениенаборашаблонов"]].62 +Файл ##deployment.conf## содержит определение набора, этот файл обязательно должен присутствовать в составе архива. Если файла нет, то Платформа НЕЙРОСС не примет загружаемый zip-архив. Подробное описание данного файла приведено в разделе [[#Определение набора шаблонов>>doc:||anchor="Руководстворазработчика|Отчёты-Определениенаборашаблонов"]]. 63 63 64 -Для каждого шаблона в наборе должна быть отдельная подпапка в директории {{codelanguage="none"}}definitions{{/code}}. В этой подпапке должен присутствовать файл определения шаблона —{{code language="none"}}reports.conf{{/code}}. Подробное описание поддиректории шаблона отчёта приведено в разделе [[#Шаблон отчёта>>doc:||anchor="Руководстворазработчика|Отчёты-Шаблонотчёта"]].64 +Для каждого шаблона в наборе должна быть отдельная подпапка в директории ##definitions##. В этой подпапке должен присутствовать файл определения шаблона — ##reports.conf##. Подробное описание поддиректории шаблона отчёта приведено в разделе [[#Шаблон отчёта>>doc:||anchor="Руководстворазработчика|Отчёты-Шаблонотчёта"]]. 65 65 66 -В директории {{codelanguage="none"}}libs{{/code}}могут размещаться jar-файлы, используемые в наборе. При использовании нестандартных компонентов ввода параметров или реализации собственной логики формирования отчёта на языке Scala / Java соответствующий код должен быть собран и в форме jar-файлов помещён в данную директорию. Подробная информация по использованию библиотек приведена в разделе [[#Программные компоненты>>doc:||anchor="Руководстворазработчика|Отчёты-Программныекомпоненты"]].66 +В директории ##libs## могут размещаться jar-файлы, используемые в наборе. При использовании нестандартных компонентов ввода параметров или реализации собственной логики формирования отчёта на языке Scala / Java соответствующий код должен быть собран и в форме jar-файлов помещён в данную директорию. Подробная информация по использованию библиотек приведена в разделе [[#Программные компоненты>>doc:||anchor="Руководстворазработчика|Отчёты-Программныекомпоненты"]]. 67 67 68 68 === {{id name="Руководстворазработчика|Отчёты-Определениенаборашаблонов"/}}Определение набора шаблонов === 69 69 70 -Текстовый файл {{codelanguage="none"}}deployment.conf{{/code}}должен состоять из пар{{code language="none"}}ключ=значение{{/code}}, размещённых на отдельных строках. При создании набора необходимо корректно задать в файле значения для следующих ключей:70 +Текстовый файл ##deployment.conf## должен состоять из пар ##ключ=значение##, размещённых на отдельных строках. При создании набора необходимо корректно задать в файле значения для следующих ключей: 71 71 72 72 |=((( 73 73 Ключ ... ... @@ -79,13 +79,13 @@ 79 79 Пример значения 80 80 ))) 81 81 |((( 82 -{{code language=" none"}}82 +{{code language="text"}} 83 83 deployment.key 84 84 {{/code}} 85 85 )))|((( 86 86 Строковой идентификатор набора 87 87 )))|((( 88 -Для каждого набора такой идентификатор должен быть уникальным. При обновлении набора (например, добавлении в набор новых шаблонов или изменении существующих) //не следует// менять этот идентификатор, достаточно изменять версию набора (см. ключ {{codelanguage="none"}}deployment.version{{/code}}).88 +Для каждого набора такой идентификатор должен быть уникальным. При обновлении набора (например, добавлении в набор новых шаблонов или изменении существующих) //не следует// менять этот идентификатор, достаточно изменять версию набора (см. ключ ##deployment.version##). 89 89 90 90 Идентификатор позволяет различить наборы разных видов. При загрузке набора выполняется проверка идентификатора. Если набор с таким идентификатором уже был загружен в Платформу НЕЙРОСС, то выполняется обновление набора. Если нет, то выполняется установка нового набора. 91 91 ... ... @@ -94,7 +94,7 @@ 94 94 ultima.reports.itrium 95 95 ))) 96 96 |((( 97 -{{code language=" none"}}97 +{{code language="text"}} 98 98 deployment.title 99 99 {{/code}} 100 100 )))|((( ... ... @@ -107,7 +107,7 @@ 107 107 Типовые формы отчётов к Itrium 108 108 ))) 109 109 |((( 110 -{{code language=" none"}}110 +{{code language="text"}} 111 111 deployment.version 112 112 {{/code}} 113 113 )))|((( ... ... @@ -120,9 +120,9 @@ 120 120 0.6.0 121 121 ))) 122 122 123 -Пример файла {{codelanguage="none"}}deployment.conf{{/code}}из набора [[типовых шаблонов СКУД ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]] приведён ниже:123 +Пример файла ##deployment.conf## из набора [[типовых шаблонов СКУД ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]] приведён ниже: 124 124 125 -{{code language=" none"}}125 +{{code language="text"}} 126 126 deployment.key=ultima.reports.itrium 127 127 deployment.title=Типовые формы отчётов к Itrium 128 128 deployment.version=0.6.0 ... ... @@ -129,12 +129,12 @@ 129 129 {{/code}} 130 130 131 131 {{info}} 132 -Формат файла {{codelanguage="none"}}deployment.conf{{/code}}должен отвечать требованиям к файлу конфигурации [[scala-библиотеки config>>url:https://github.com/lightbend/config||shape="rect"]]. Учитывайте эти требования при использовании в файле специальных символов и т.д.132 +Формат файла ##deployment.conf## должен отвечать требованиям к файлу конфигурации [[scala-библиотеки config>>url:https://github.com/lightbend/config||shape="rect"]]. Учитывайте эти требования при использовании в файле специальных символов и т.д. 133 133 {{/info}} 134 134 135 135 === {{id name="Руководстворазработчика|Отчёты-Шаблонотчёта"/}}Шаблон отчёта === 136 136 137 -Для каждого шаблона в наборе должна быть отдельная подпапка в директории definitions. В этой подпапке должен присутствовать файл определения шаблона — reports.conf. Текстовый файл {{code language="none"}}report.conf{{/code}}должен состоять из пар ключ=значение, размещённых на отдельных строках. При создании шаблона необходимо корректно задать в файле значения для следующих ключей:137 +Для каждого шаблона в наборе должна быть отдельная подпапка в директории definitions. В этой подпапке должен присутствовать файл определения шаблона — reports.conf. Текстовый файл ##report.conf## должен состоять из пар ключ=значение, размещённых на отдельных строках. При создании шаблона необходимо корректно задать в файле значения для следующих ключей: 138 138 139 139 |=((( 140 140 Ключ ... ... @@ -146,7 +146,7 @@ 146 146 Пример значения 147 147 ))) 148 148 |((( 149 -{{code language=" none"}}149 +{{code language="text"}} 150 150 definition.class 151 151 {{/code}} 152 152 )))|((( ... ... @@ -156,12 +156,12 @@ 156 156 157 157 Подробное описание данного параметра приведено ниже. 158 158 )))|((( 159 -{{code language=" none"}}159 +{{code language="text"}} 160 160 extensions.reports.itrium.ReportDefinition 161 161 {{/code}} 162 162 ))) 163 163 |((( 164 -{{code language=" none"}}164 +{{code language="text"}} 165 165 definition.htmlPaging 166 166 {{/code}} 167 167 )))|((( ... ... @@ -169,14 +169,14 @@ 169 169 )))|((( 170 170 ЗАРЕЗЕРВИРОВАНО 171 171 172 -Значение __всегда__ должно быть равно {{code language="none"}}false{{/code}}.172 +Значение __всегда__ должно быть равно ##false##. 173 173 )))|((( 174 -{{code language=" none"}}174 +{{code language="text"}} 175 175 false 176 176 {{/code}} 177 177 ))) 178 178 |((( 179 -{{code language=" none"}}179 +{{code language="text"}} 180 180 definition.supportedFormats 181 181 {{/code}} 182 182 )))|((( ... ... @@ -186,12 +186,12 @@ 186 186 187 187 За поддержку форматов отвечает класс реализации. Стандартная реализация поддерживает форматы PDF и XLS. Через данный параметр можно ограничить форматы экспорта, например, если шаблон не позволяет формировать корректный XLS-файл. В своей реализации разработчик может поддержать и другие форматы экспорта. 188 188 )))|((( 189 -{{code language=" none"}}189 +{{code language="text"}} 190 190 ["pdf","xls"] 191 191 {{/code}} 192 192 ))) 193 193 194 -Параметр {{codelanguage="none"}}definition.class{{/code}}является ключевым. В данном параметре необходимо указать имя программного компонента, который будет отвечать за подготовку и формирование отчёта по создаваемому шаблону. Разработчику доступно несколько готовых реализаций / компонентов, которые он может использовать в своём шаблоне. Разработчик может выбрать одно из следующих значений{{codelanguage="none"}}definition.class{{/code}}:194 +Параметр ##definition.class## является ключевым. В данном параметре необходимо указать имя программного компонента, который будет отвечать за подготовку и формирование отчёта по создаваемому шаблону. Разработчику доступно несколько готовых реализаций / компонентов, которые он может использовать в своём шаблоне. Разработчик может выбрать одно из следующих значений ##definition.class##: 195 195 196 196 |=((( 197 197 Значение ... ... @@ -199,13 +199,13 @@ 199 199 Описание 200 200 ))) 201 201 |((( 202 -{{code language=" none"}}202 +{{code language="text"}} 203 203 extensions.reports.GenericJasperReportDefinition 204 204 {{/code}} 205 205 )))|((( 206 206 __Базовая реализация__ шаблона отчёта с применением JasperReports Library со следующими возможностями: 207 207 208 -1. ключ, название, описание шаблона задаются в файле {{code language="none"}}report.conf{{/code}}(см. далее);208 +1. ключ, название, описание шаблона задаются в файле ##report.conf## (см. далее); 209 209 1. отчёт формируется в соответствии с jasper-шаблоном средствами JasperReports Library; 210 210 1. можно формировать отчёты в форматах PDF, XLS (Excel) и HTML (для предпросмотра); 211 211 1. можно использовать разные шаблоны для предпросмотра и экспорта в PDF / XLS; ... ... @@ -217,7 +217,7 @@ 217 217 Подробнее см. страницу [[doc:neyross.Настройка Платформы НЕЙРОСС.Настройка функций подготовки отчётов.Руководство разработчика | Отчёты.Базовый шаблон отчёта с JasperReports.WebHome]]. 218 218 ))) 219 219 |((( 220 -{{code language=" none"}}220 +{{code language="text"}} 221 221 extensions.reports.itrium.ReportDefinition 222 222 {{/code}} 223 223 )))|((( ... ... @@ -238,14 +238,14 @@ 238 238 |((( 239 239 <Имя класса собственной разработки> 240 240 )))|((( 241 -При желании разработчик может создать свой класс и указать его имя в значении для ключа {{codelanguage="none"}}definition.class{{/code}}. В данном классе разработчик может либо расширить одну из существующих реализаций (стандартную, реализацию к ITRIUM), либо реализовать полностью свой алгоритм формирования отчёта.241 +При желании разработчик может создать свой класс и указать его имя в значении для ключа ##definition.class##. В данном классе разработчик может либо расширить одну из существующих реализаций (стандартную, реализацию к ITRIUM), либо реализовать полностью свой алгоритм формирования отчёта. 242 242 ))) 243 243 244 -В зависимости от указанного значения {{codelanguage="none"}}definition.class{{/code}}в файле{{code language="none"}}report.conf{{/code}}может потребоваться указать и другие параметры. См. описание конкретной реализации шаблонов.244 +В зависимости от указанного значения ##definition.class## в файле ##report.conf## может потребоваться указать и другие параметры. См. описание конкретной реализации шаблонов. 245 245 246 -Пример файла {{code language="none"}}report.conf{{/code}}из [[модуля типовых шаблонов СКУД ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]] приведён ниже:246 +Пример файла ##report.conf## из [[модуля типовых шаблонов СКУД ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]] приведён ниже: 247 247 248 -{{code language=" none"}}248 +{{code language="text"}} 249 249 definition.class=extensions.reports.itrium.ReportDefinition 250 250 definition.htmlPaging=false 251 251 definition.supportedFormats=["pdf","xls"] ... ... @@ -262,14 +262,14 @@ 262 262 {{/code}} 263 263 264 264 {{info}} 265 -Формат файла {{code language="none"}}report.conf{{/code}}должен отвечать требованиям к файлу конфигурации [[scala-библиотеки config>>url:https://github.com/lightbend/config||shape="rect"]]. Учитывайте эти требования при использовании в файле специальных символов и т.д.265 +Формат файла ##report.conf## должен отвечать требованиям к файлу конфигурации [[scala-библиотеки config>>url:https://github.com/lightbend/config||shape="rect"]]. Учитывайте эти требования при использовании в файле специальных символов и т.д. 266 266 {{/info}} 267 267 268 -Кроме {{code language="none"}}report.conf{{/code}}в поддиректории шаблона отчёта также могут располагаться и другие файлы, необходимые для подготовки отчёта. Например *.jasper-файлы (в случае использования JasperReports Library). Состав файлов зависит от выбранной реализации шаблона отчёта.268 +Кроме ##report.conf## в поддиректории шаблона отчёта также могут располагаться и другие файлы, необходимые для подготовки отчёта. Например *.jasper-файлы (в случае использования JasperReports Library). Состав файлов зависит от выбранной реализации шаблона отчёта. 269 269 270 270 === {{id name="Руководстворазработчика|Отчёты-Программныекомпоненты"/}}Программные компоненты === 271 271 272 -При загрузке набора шаблонов Платформа НЕЙРОСС распаковывает zip-архив и загружает все классы из всех jar-файлов (библиотек Java) из директории {{codelanguage="none"}}libs{{/code}}в модуле. Эти классы могут быть использованы:272 +При загрузке набора шаблонов Платформа НЕЙРОСС распаковывает zip-архив и загружает все классы из всех jar-файлов (библиотек Java) из директории ##libs## в модуле. Эти классы могут быть использованы: 273 273 274 274 1. для расширения или создания собственной реализации формирования отчёта; 275 275 1. для реализации новых полей ввода параметров; ... ... @@ -279,9 +279,9 @@ 279 279 Для каждого модуля классы и jar-файлы загружаются независимо (для каждого модуля используется независимый [[class loader>>url:https://docs.oracle.com/javase/8/docs/api/java/lang/ClassLoader.html||shape="rect"]]). Таким образом не может возникнуть коллизии между разными классами с одинаковыми именами или разными версиями одних и тех же классов в нескольких наборах шаблонов. 280 280 {{/info}} 281 281 282 -Разработчик может самостоятельно реализовать соответствующие Java-классы, собрать jar-файл (один или несколько) и включить его в состав набора, поместив все необходимые jar-файлы в директорию {{codelanguage="none"}}libs{{/code}}zip-архива набора.282 +Разработчик может самостоятельно реализовать соответствующие Java-классы, собрать jar-файл (один или несколько) и включить его в состав набора, поместив все необходимые jar-файлы в директорию ##libs## zip-архива набора. 283 283 284 -Для пунктов 1 и 2 выше разработчику необходимы определения классов API (программного интерфейса), используемых в Платформе НЕЙРОСС. Такие классы поставляются в артефакте (библиотеке) {{code language="none"}}ultima-reports-api{{/code}}вместе с исходным кодом. Каждая версия Платформы НЕЙРОСС использует свою версию API. Последнюю версию{{code language="none"}}ultima-reports-api{{/code}}можно загрузить по ссылке ниже.284 +Для пунктов 1 и 2 выше разработчику необходимы определения классов API (программного интерфейса), используемых в Платформе НЕЙРОСС. Такие классы поставляются в артефакте (библиотеке) ##ultima-reports-api## вместе с исходным кодом. Каждая версия Платформы НЕЙРОСС использует свою версию API. Последнюю версию ##ultima-reports-api## можно загрузить по ссылке ниже. 285 285 286 286 |=((( 287 287 Версия программы ... ... @@ -344,7 +344,7 @@ 344 344 {{info}} 345 345 Библиотека API актуальной версии присутствует в составе Платформы НЕЙРОСС. 346 346 347 -Включать её в модуль (в директорию {{codelanguage="none"}}libs{{/code}}) дополнительно не требуется.347 +Включать её в модуль (в директорию ##libs##) дополнительно не требуется. 348 348 {{/info}} 349 349 350 -Классы [[базовой реализации шаблона отчёта с JasperReports Library>>doc:neyross.Настройка Платформы НЕЙРОСС.Настройка функций подготовки отчётов.Руководство разработчика | Отчёты.Базовый шаблон отчёта с JasperReports.WebHome]] входят в API, поэтому для базовой реализации дополнительных jar-файлов включать в директорию {{codelanguage="none"}}libs{{/code}}не требуется. Но, например, реализация полей ввода, используемых в [[типовых шаблонах СКУД к ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]], не входит в API. Соответствующие классы реализованы и упакованы в [[отдельный jar-файл>>doc:neyross.Настройка Платформы НЕЙРОСС.Настройка функций подготовки отчётов.Руководство разработчика | Отчёты.Шаблон отчёта к ITRIUM с JasperReports.WebHome]], который при их использовании необходимо поместить в директорию{{codelanguage="none"}}libs{{/code}}в наборе шаблонов.350 +Классы [[базовой реализации шаблона отчёта с JasperReports Library>>doc:neyross.Настройка Платформы НЕЙРОСС.Настройка функций подготовки отчётов.Руководство разработчика | Отчёты.Базовый шаблон отчёта с JasperReports.WebHome]] входят в API, поэтому для базовой реализации дополнительных jar-файлов включать в директорию ##libs## не требуется. Но, например, реализация полей ввода, используемых в [[типовых шаблонах СКУД к ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]], не входит в API. Соответствующие классы реализованы и упакованы в [[отдельный jar-файл>>doc:neyross.Настройка Платформы НЕЙРОСС.Настройка функций подготовки отчётов.Руководство разработчика | Отчёты.Шаблон отчёта к ITRIUM с JasperReports.WebHome]], который при их использовании необходимо поместить в директорию ##libs## в наборе шаблонов.