Редактировал(а) admin 2026/09/01 21:59

От версии 5.2
отредактировано admin
на 2026/08/21 10:45
Изменить комментарий: Inline {{code language="none"}} -> ##monospace##; block none -> text
К версии 4.5
отредактировано admin
на 2026/08/13 01:37
Изменить комментарий: Set link label to page title after rename

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -43,11 +43,11 @@
43 43  Настоящее руководство ориентировано только на использование JasperReports Library и Jaspersoft Studio. Формирование отчётов средствам НЕ JasperReports возможно, но обычно не востребовано. Соответствующий сценарий выходит за рамки данного руководства.
44 44  {{/info}}
45 45  
46 -== {{id name="Руководстворазработчика|Отчёты-Структуранаборашаблонов"/}}Структура набора шаблонов ==
46 +== {{id name="Руководстворазработчика|Отчёты-Структуранаборашаблонов"/}}Структура набора шаблонов\\ ==
47 47  
48 48  Набор шаблонов — это zip-архив, который должен содержать следующие папки и файлы:
49 49  
50 -{{code language="text"}}
50 +{{code language="none"}}
51 51  definitions/ // папка с шаблонами
52 52   <папка шаблона 1>/
53 53   ... // другие файлы шаблона
... ... @@ -59,15 +59,15 @@
59 59  deployment.conf // определение набора
60 60  {{/code}}
61 61  
62 -Файл ##deployment.conf## содержит определение набора, этот файл обязательно должен присутствовать в составе архива. Если файла нет, то Платформа НЕЙРОСС не примет загружаемый zip-архив. Подробное описание данного файла приведено в разделе [[#Определение набора шаблонов>>doc:||anchor="Руководстворазработчика|Отчёты-Определениенаборашаблонов"]].
62 +Файл {{code language="none"}}deployment.conf{{/code}} содержит определение набора, этот файл обязательно должен присутствовать в составе архива. Если файла нет, то Платформа НЕЙРОСС не примет загружаемый zip-архив. Подробное описание данного файла приведено в разделе [[#Определение набора шаблонов>>doc:||anchor="Руководстворазработчика|Отчёты-Определениенаборашаблонов"]].
63 63  
64 -Для каждого шаблона в наборе должна быть отдельная подпапка в директории ##definitions##. В этой подпапке должен присутствовать файл определения шаблона — ##reports.conf##. Подробное описание поддиректории шаблона отчёта приведено в разделе [[#Шаблон отчёта>>doc:||anchor="Руководстворазработчика|Отчёты-Шаблонотчёта"]].
64 +Для каждого шаблона в наборе должна быть отдельная подпапка в директории {{code language="none"}}definitions{{/code}}. В этой подпапке должен присутствовать файл определения шаблона — {{code language="none"}}reports.conf{{/code}}. Подробное описание поддиректории шаблона отчёта приведено в разделе [[#Шаблон отчёта>>doc:||anchor="Руководстворазработчика|Отчёты-Шаблонотчёта"]].
65 65  
66 -В директории ##libs## могут размещаться jar-файлы, используемые в наборе. При использовании нестандартных компонентов ввода параметров или реализации собственной логики формирования отчёта на языке Scala / Java соответствующий код должен быть собран и в форме jar-файлов помещён в данную директорию. Подробная информация по использованию библиотек приведена в разделе [[#Программные компоненты>>doc:||anchor="Руководстворазработчика|Отчёты-Программныекомпоненты"]].
66 +В директории {{code language="none"}}libs{{/code}} могут размещаться jar-файлы, используемые в наборе. При использовании нестандартных компонентов ввода параметров или реализации собственной логики формирования отчёта на языке Scala / Java соответствующий код должен быть собран и в форме jar-файлов помещён в данную директорию. Подробная информация по использованию библиотек приведена в разделе [[#Программные компоненты>>doc:||anchor="Руководстворазработчика|Отчёты-Программныекомпоненты"]].
67 67  
68 -=== {{id name="Руководстворазработчика|Отчёты-Определениенаборашаблонов"/}}Определение набора шаблонов ===
68 +=== {{id name="Руководстворазработчика|Отчёты-Определениенаборашаблонов"/}}Определение набора шаблонов\\ ===
69 69  
70 -Текстовый файл ##deployment.conf## должен состоять из пар ##ключ=значение##, размещённых на отдельных строках. При создании набора необходимо корректно задать в файле значения для следующих ключей:
70 +Текстовый файл {{code language="none"}}deployment.conf{{/code}} должен состоять из пар {{code language="none"}}ключ=значение{{/code}}, размещённых на отдельных строках. При создании набора необходимо корректно задать в файле значения для следующих ключей:
71 71  
72 72  |=(((
73 73  Ключ
... ... @@ -79,13 +79,13 @@
79 79  Пример значения
80 80  )))
81 81  |(((
82 -{{code language="text"}}
82 +{{code language="none"}}
83 83  deployment.key
84 84  {{/code}}
85 85  )))|(((
86 86  Строковой идентификатор набора
87 87  )))|(((
88 -Для каждого набора такой идентификатор должен быть уникальным. При обновлении набора (например, добавлении в набор новых шаблонов или изменении существующих) //не следует// менять этот идентификатор, достаточно изменять версию набора (см. ключ ##deployment.version##).
88 +Для каждого набора такой идентификатор должен быть уникальным. При обновлении набора (например, добавлении в набор новых шаблонов или изменении существующих) //не следует// менять этот идентификатор, достаточно изменять версию набора (см. ключ {{code language="none"}}deployment.version{{/code}}).
89 89  
90 90  Идентификатор позволяет различить наборы разных видов. При загрузке набора выполняется проверка идентификатора. Если набор с таким идентификатором уже был загружен в Платформу НЕЙРОСС, то выполняется обновление набора. Если нет, то выполняется установка нового набора.
91 91  
... ... @@ -94,7 +94,7 @@
94 94  ultima.reports.itrium
95 95  )))
96 96  |(((
97 -{{code language="text"}}
97 +{{code language="none"}}
98 98  deployment.title
99 99  {{/code}}
100 100  )))|(((
... ... @@ -107,7 +107,7 @@
107 107  Типовые формы отчётов к Itrium
108 108  )))
109 109  |(((
110 -{{code language="text"}}
110 +{{code language="none"}}
111 111  deployment.version
112 112  {{/code}}
113 113  )))|(((
... ... @@ -120,9 +120,9 @@
120 120  0.6.0
121 121  )))
122 122  
123 -Пример файла ##deployment.conf## из набора [[типовых шаблонов СКУД ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]] приведён ниже:
123 +Пример файла {{code language="none"}}deployment.conf{{/code}} из набора [[типовых шаблонов СКУД ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]] приведён ниже:
124 124  
125 -{{code language="text"}}
125 +{{code language="none"}}
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 -Формат файла ##deployment.conf## должен отвечать требованиям к файлу конфигурации [[scala-библиотеки config>>url:https://github.com/lightbend/config||shape="rect"]]. Учитывайте эти требования при использовании в файле специальных символов и т.д.
132 +Формат файла {{code language="none"}}deployment.conf{{/code}} должен отвечать требованиям к файлу конфигурации [[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. Текстовый файл ##report.conf## должен состоять из пар ключ=значение, размещённых на отдельных строках. При создании шаблона необходимо корректно задать в файле значения для следующих ключей:
137 +Для каждого шаблона в наборе должна быть отдельная подпапка в директории definitions. В этой подпапке должен присутствовать файл определения шаблона — reports.conf. Текстовый файл {{code language="none"}}report.conf{{/code}} должен состоять из пар ключ=значение, размещённых на отдельных строках. При создании шаблона необходимо корректно задать в файле значения для следующих ключей:
138 138  
139 139  |=(((
140 140  Ключ
... ... @@ -146,7 +146,7 @@
146 146  Пример значения
147 147  )))
148 148  |(((
149 -{{code language="text"}}
149 +{{code language="none"}}
150 150  definition.class
151 151  {{/code}}
152 152  )))|(((
... ... @@ -156,12 +156,12 @@
156 156  
157 157  Подробное описание данного параметра приведено ниже.
158 158  )))|(((
159 -{{code language="text"}}
159 +{{code language="none"}}
160 160  extensions.reports.itrium.ReportDefinition
161 161  {{/code}}
162 162  )))
163 163  |(((
164 -{{code language="text"}}
164 +{{code language="none"}}
165 165  definition.htmlPaging
166 166  {{/code}}
167 167  )))|(((
... ... @@ -169,14 +169,14 @@
169 169  )))|(((
170 170  ЗАРЕЗЕРВИРОВАНО
171 171  
172 -Значение __всегда__ должно быть равно ##false##.
172 +Значение __всегда__ должно быть равно {{code language="none"}}false{{/code}}.
173 173  )))|(((
174 -{{code language="text"}}
174 +{{code language="none"}}
175 175  false
176 176  {{/code}}
177 177  )))
178 178  |(((
179 -{{code language="text"}}
179 +{{code language="none"}}
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="text"}}
189 +{{code language="none"}}
190 190  ["pdf","xls"]
191 191  {{/code}}
192 192  )))
193 193  
194 -Параметр ##definition.class## является ключевым. В данном параметре необходимо указать имя программного компонента, который будет отвечать за подготовку и формирование отчёта по создаваемому шаблону. Разработчику доступно несколько готовых реализаций / компонентов, которые он может использовать в своём шаблоне. Разработчик может выбрать одно из следующих значений ##definition.class##:
194 +Параметр {{code language="none"}}definition.class{{/code}} является ключевым. В данном параметре необходимо указать имя программного компонента, который будет отвечать за подготовку и формирование отчёта по создаваемому шаблону. Разработчику доступно несколько готовых реализаций / компонентов, которые он может использовать в своём шаблоне. Разработчик может выбрать одно из следующих значений {{code language="none"}}definition.class{{/code}}:
195 195  
196 196  |=(((
197 197  Значение
... ... @@ -199,13 +199,13 @@
199 199  Описание
200 200  )))
201 201  |(((
202 -{{code language="text"}}
202 +{{code language="none"}}
203 203  extensions.reports.GenericJasperReportDefinition
204 204  {{/code}}
205 205  )))|(((
206 206  __Базовая реализация__ шаблона отчёта с применением JasperReports Library со следующими возможностями:
207 207  
208 -1. ключ, название, описание шаблона задаются в файле ##report.conf## (см. далее);
208 +1. ключ, название, описание шаблона задаются в файле {{code language="none"}}report.conf{{/code}} (см. далее);
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="text"}}
220 +{{code language="none"}}
221 221  extensions.reports.itrium.ReportDefinition
222 222  {{/code}}
223 223  )))|(((
... ... @@ -238,14 +238,14 @@
238 238  |(((
239 239  <Имя класса собственной разработки>
240 240  )))|(((
241 -При желании разработчик может создать свой класс и указать его имя в значении для ключа ##definition.class##. В данном классе разработчик может либо расширить одну из существующих реализаций (стандартную, реализацию к ITRIUM), либо реализовать полностью свой алгоритм формирования отчёта.
241 +При желании разработчик может создать свой класс и указать его имя в значении для ключа {{code language="none"}}definition.class{{/code}}. В данном классе разработчик может либо расширить одну из существующих реализаций (стандартную, реализацию к ITRIUM), либо реализовать полностью свой алгоритм формирования отчёта.
242 242  )))
243 243  
244 -В зависимости от указанного значения ##definition.class## в файле ##report.conf## может потребоваться указать и другие параметры. См. описание конкретной реализации шаблонов.
244 +В зависимости от указанного значения {{code language="none"}}definition.class{{/code}} в файле {{code language="none"}}report.conf{{/code}} может потребоваться указать и другие параметры. См. описание конкретной реализации шаблонов.
245 245  
246 -Пример файла ##report.conf## из [[модуля типовых шаблонов СКУД ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]] приведён ниже:
246 +Пример файла {{code language="none"}}report.conf{{/code}} из [[модуля типовых шаблонов СКУД ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]] приведён ниже:
247 247  
248 -{{code language="text"}}
248 +{{code language="none"}}
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 -Формат файла ##report.conf## должен отвечать требованиям к файлу конфигурации [[scala-библиотеки config>>url:https://github.com/lightbend/config||shape="rect"]]. Учитывайте эти требования при использовании в файле специальных символов и т.д.
265 +Формат файла {{code language="none"}}report.conf{{/code}} должен отвечать требованиям к файлу конфигурации [[scala-библиотеки config>>url:https://github.com/lightbend/config||shape="rect"]]. Учитывайте эти требования при использовании в файле специальных символов и т.д.
266 266  {{/info}}
267 267  
268 -Кроме ##report.conf## в поддиректории шаблона отчёта также могут располагаться и другие файлы, необходимые для подготовки отчёта. Например *.jasper-файлы (в случае использования JasperReports Library). Состав файлов зависит от выбранной реализации шаблона отчёта.
268 +Кроме {{code language="none"}}report.conf{{/code}} в поддиректории шаблона отчёта также могут располагаться и другие файлы, необходимые для подготовки отчёта. Например *.jasper-файлы (в случае использования JasperReports Library). Состав файлов зависит от выбранной реализации шаблона отчёта.
269 269  
270 270  === {{id name="Руководстворазработчика|Отчёты-Программныекомпоненты"/}}Программные компоненты ===
271 271  
272 -При загрузке набора шаблонов Платформа НЕЙРОСС распаковывает zip-архив и загружает все классы из всех jar-файлов (библиотек Java) из директории ##libs## в модуле. Эти классы могут быть использованы:
272 +При загрузке набора шаблонов Платформа НЕЙРОСС распаковывает zip-архив и загружает все классы из всех jar-файлов (библиотек Java) из директории {{code language="none"}}libs{{/code}} в модуле. Эти классы могут быть использованы:
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-файлы в директорию ##libs## zip-архива набора.
282 +Разработчик может самостоятельно реализовать соответствующие Java-классы, собрать jar-файл (один или несколько) и включить его в состав набора, поместив все необходимые jar-файлы в директорию {{code language="none"}}libs{{/code}} zip-архива набора.
283 283  
284 -Для пунктов 1 и 2 выше разработчику необходимы определения классов API (программного интерфейса), используемых в Платформе НЕЙРОСС. Такие классы поставляются в артефакте (библиотеке) ##ultima-reports-api## вместе с исходным кодом. Каждая версия Платформы НЕЙРОСС использует свою версию API. Последнюю версию ##ultima-reports-api## можно загрузить по ссылке ниже.
284 +Для пунктов 1 и 2 выше разработчику необходимы определения классов API (программного интерфейса), используемых в Платформе НЕЙРОСС. Такие классы поставляются в артефакте (библиотеке) {{code language="none"}}ultima-reports-api{{/code}} вместе с исходным кодом. Каждая версия Платформы НЕЙРОСС использует свою версию API. Последнюю версию {{code language="none"}}ultima-reports-api{{/code}} можно загрузить по ссылке ниже.
285 285  
286 286  |=(((
287 287  Версия программы
... ... @@ -299,7 +299,7 @@
299 299  )))|(((
300 300  [[doc:neyross.Настройка Платформы НЕЙРОСС.Настройка функций подготовки отчётов.Руководство разработчика | Отчёты.ultima-reports-api\:1\.4\.2.WebHome]]
301 301  )))|(((
302 -ultima-reports-api_1.4.2_180719.zip
302 +[[attach:ultima-reports-api_1.4.2_180719.zip]]
303 303  )))
304 304  
305 305  Список версий API для предыдущих версий программ приведён ниже. За получением ZIP-файлов просим обращаться к специалистам компании ИТРИУМ.
... ... @@ -344,7 +344,7 @@
344 344  {{info}}
345 345  Библиотека API актуальной версии присутствует в составе Платформы НЕЙРОСС.
346 346  
347 -Включать её в модуль (в директорию ##libs##) дополнительно не требуется.
347 +Включать её в модуль (в директорию {{code language="none"}}libs{{/code}}) дополнительно не требуется.
348 348  {{/info}}
349 349  
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## в наборе шаблонов.
350 +Классы [[базовой реализации шаблона отчёта с JasperReports Library>>doc:neyross.Настройка Платформы НЕЙРОСС.Настройка функций подготовки отчётов.Руководство разработчика | Отчёты.Базовый шаблон отчёта с JasperReports.WebHome]] входят в API, поэтому для базовой реализации дополнительных jar-файлов включать в директорию {{code language="none"}}libs{{/code}} не требуется. Но, например, реализация полей ввода, используемых в [[типовых шаблонах СКУД к ITRIUM>>doc:neyross.arm-reports.templates.skud-itrium-logs.WebHome]], не входит в API. Соответствующие классы реализованы и упакованы в [[отдельный jar-файл>>doc:neyross.Настройка Платформы НЕЙРОСС.Настройка функций подготовки отчётов.Руководство разработчика | Отчёты.Шаблон отчёта к ITRIUM с JasperReports.WebHome]], который при их использовании необходимо поместить в директорию {{code language="none"}}libs{{/code}} в наборе шаблонов.

Платформа НЕЙРОСС