Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / условные операторы в jasperrepots / 25 сообщений из 25, страница 1 из 1
07.09.2012, 11:37:16
    #37947938
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
$V{pid}.setValue($F{PID});
$F{PID}=$V{pid}.getValue() ? " " : $F{DATE_OFF_SYS_TRIP}


пытаюсь записать в переменную пид, затем сравнить со следующим приходящим пидом
если равны, то оставлять строку пустым, а иначе записать дату


Errors compiling D:\act.jasper!
Compilation*exceptions:*com.jaspersoft.ireport.designer.compiler.ErrorsCollector@223f9b net.sf.jasperreports.engine.JRException:*Errors*were*encountered*when*compiling*report*expressions*class*file: org.codehaus.groovy.control.MultipleCompilationErrorsException:*startup*failed,*calculator_act_1347001368169_815981:*216:* class*org.codehaus.groovy.ast.expr.CastExpression,*with*its*value*'(java.math.BigDecimal)*field_PID.getValue()',*is*a*bad*expression*as*the*left*hand*side*of*an*assignment*operator*at*line:*216*column:*45.*File:*calculator_act_1347001368169_815981*@*line*216,*column*45. 1*error ****at*net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:101) ****at*net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:188) ****at*net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215) ****at*net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:131) ****at*com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:514) ****at*org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572) ****at*org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) Caused*by:*org.codehaus.groovy.control.MultipleCompilationErrorsException:*startup*failed,*calculator_act_1347001368169_815981:*216:* class*org.codehaus.groovy.ast.expr.CastExpression,*with*its*value*'(java.math.BigDecimal)*field_PID.getValue()',*is*a*bad*expression*as*the*left*hand*side*of*an*assignment*operator*at*line:*216*column:*45.*File:*calculator_act_1347001368169_815981*@*line*216,*column*45. 1*error ****at*org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:296) ****at*org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:787) ****at*org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:438) ****at*net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:97) ****...*6*more
Compilation running time: 33!


помогите пжл, первый раз делаю отчет в jasperrepots
...
Рейтинг: 0 / 0
07.09.2012, 11:41:25
    #37947952
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
== это сравнение
= это присвоение
...
Рейтинг: 0 / 0
07.09.2012, 12:07:02
    #37948001
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
у меня так написано
$V{pid}.setValue($F{PID});
$F{PID}==$V{pid}.getValue() ? " " : $F{DATE_OFF_SYS_TRIP}
опечатка была

$V{pid}=$F{PID};
$F{PID}==$V{pid}.getValue() ? " " : $F{DATE_OFF_SYS_TRIP}

так тоже работает
...
Рейтинг: 0 / 0
07.09.2012, 12:14:28
    #37948014
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
у меня так написано
$V{pid}.setValue($F{PID});
$F{PID}==$V{pid}.getValue() ? " " : $F{DATE_OFF_SYS_TRIP}
опечатка была

$V{pid}=$F{PID};
$F{PID}==$V{pid}.getValue() ? " " : $F{DATE_OFF_SYS_TRIP}

так тоже не работает

сорри, за опечтаку
...
Рейтинг: 0 / 0
07.09.2012, 12:24:05
    #37948038
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
Для начала приложите немного усилия.
Верните пробелы вместо звездочек и отформатируйте нормально исключения, чтобы можно было прочитать текст ошибки.
Посмотрие на какую именно строку указывает ошибка и определитесь с тем какая из 2х ваших строк вызывает проблему.
...
Рейтинг: 0 / 0
07.09.2012, 13:12:52
    #37948135
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots

Errors compiling D:\act.jasper!
Compilation exceptions: com.jaspersoft.ireport.designer.compiler.ErrorsCollector@223f9b net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: org.codehaus.groovy.control.MultipleCompilationErrorsException:*startup*failed,*calculator_act_1347001368169_815981: 216: class org.codehaus.groovy.ast.expr.CastExpression, with its value '(java.math.BigDecimal) field_PID.getValue()', is a bad expression as the left hand side of an assignment operator
at line:216 column: 45. File: calculator_act_1347001368169_815981 @ line 216, column 45. 1 error
at net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:101)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:188)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)
at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:131)
at com.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:514)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997) Caused by: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed, calculator_act_1347001368169_815981: 216: class org.codehaus.groovy.ast.expr.CastExpression, with its value '(java.math.BigDecimal) field_PID.getValue()', is a bad expression as the left hand side of an assignment operator at line: 216 column: 45. File: calculator_act_1347001368169_815981 @ line 216, column 45. 1 error
at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:296)
at org.codehaus.groovy.control.CompilationUnit.applyToSourceUnits(CompilationUnit.java:787)
at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:438)
at net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:97) ****...*6*more
Compilation running time: 33!


$V{pid} - тип BigDecimal
$F{PID} - тип BigDecimal
" " - String
$F{DATE_OFF_SYS_TRIP} - String
...
Рейтинг: 0 / 0
07.09.2012, 13:20:29
    #37948150
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
davy johnsat line:216 column: 45. File: calculator_act_1347001368169_815981 @ line 216, column 45. 1 error

И 216я строка эта которая из двух? 45й символ какой? ИЛи это координаты в уже скомпилированом шаблоне и здесь смысла не имеют?

davy johns$V{pid} - тип BigDecimal
$F{PID} - тип BigDecimal
" " - String
$F{DATE_OFF_SYS_TRIP} - String
Т.е. переменной типа BigDecimal (число) вы хотите присвоить строку (пробел!) или какую-то другую строку (дата?)
Как оно вам должно пробел в число преобразовать?
...
Рейтинг: 0 / 0
07.09.2012, 14:30:26
    #37948325
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
Blazkowiczdavy johnsat line:216 column: 45. File: calculator_act_1347001368169_815981 @ line 216, column 45. 1 error

И 216я строка эта которая из двух? 45й символ какой? ИЛи это координаты в уже скомпилированом шаблоне и здесь смысла не имеют?

davy johns$V{pid} - тип BigDecimal
$F{PID} - тип BigDecimal
" " - String
$F{DATE_OFF_SYS_TRIP} - String
Т.е. переменной типа BigDecimal (число) вы хотите присвоить строку (пробел!) или какую-то другую строку (дата?)
Как оно вам должно пробел в число преобразовать?


$V{pid}=$F{PID} - я BigDecimal присавиваю BigDecimal


$F{PID}==$V{pid} тут BigDecimal сравниваю с BigDecimal

? " " : $F{DATE_OFF_SYS_TRIP} -
то " " , а иначе $F{DATE_OFF_SYS_TRIP}
...
Рейтинг: 0 / 0
07.09.2012, 14:32:45
    #37948337
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
Да. Тупанул.
...
Рейтинг: 0 / 0
07.09.2012, 14:35:13
    #37948343
sanBez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
BlazkowiczИ 216я строка эта которая из двух? 45й символ какой? ИЛи это координаты в уже скомпилированом шаблоне и здесь смысла не имеют?

Вот не лень то Вам разбираться!
Как я понимаю, при компиляции jasper генерит исходники (в данном случае Groovy), которые потом компилит и собирает jasper-файл отчета.
Если компиляция проходит нормально, он их удаляет. Если нет в них можно поковыряться и посмотреть на строку, приведшую к ошибке компиляции. 216я строка как раз в сгенеренном исходнике. Пусть топикстартер смотрит что там есть.

Топикстартеру:
- Вам реально нужен Groovy при вычислении выражений? Он выставлен по умолчанию в jasper. Если нет - поменяйте его в свойствах отчета на java (Report Inspector, контекстное меню на отчете - самая верхняя строка).

- опишите словами какую задачу пытаетесь решить. Убивать время на вылавливание ошибки, в операторе, который может вообще не нужен - на фиг надо. Может значение $V{pid} пересчитается на момент поднятия следующей записи раньше работы этого тернарного оператора (элементарно проверить на простом отчете из одного поля и подобной переменной). То есть получится что в переменной сохраним значение не из предыдущей, а из текущей записи. Или проблему вообще можно решить без использования $V
...
Рейтинг: 0 / 0
07.09.2012, 14:39:19
    #37948355
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
Тогда вы где-то не перекомпилировали шаблон:

field_PID .getValue(), is a bad expression as the left hand side of an assignment operator
$F{PID} слевой стороны оператора присвоения (=)
это как раз ошибка из первого поста: $F{PID}=
...
Рейтинг: 0 / 0
07.09.2012, 14:55:14
    #37948395
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
первый раз пришел пид надо вывести дату, второй раз если приходит тот же пид, то надо вывести пробел, а иначе дату
...
Рейтинг: 0 / 0
07.09.2012, 15:09:53
    #37948445
sanBez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
davy johns,

Не совсем понял. Данные в отчете отображаются, отсортированные по pid?
...
Рейтинг: 0 / 0
07.09.2012, 15:12:52
    #37948454
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
sanBezНе совсем понял. Данные в отчете отображаются, отсортированные по pid?
Вероятно есть некоторый грид. И чтобы убрать визуальный мусор, предлагается дату показывать только в первой строке для каждого PID.
Хотя это, наверное, лучше было через группировки сделать.
...
Рейтинг: 0 / 0
07.09.2012, 15:13:40
    #37948460
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
sanBez,

нет, пид не вывожу в самом отчете, он приходит для того, чтобы сортировать, и решить выводить дату или нет
...
Рейтинг: 0 / 0
07.09.2012, 15:21:55
    #37948495
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
select
a.name_group,
a.date_off_sys_trip,
a.date_fact_on_sys_trip,
a.all_time,
a.Note_Sys_Trip,
a.name,
a.adr,
a.date_1,
a.org_name,
a.id_org,
a.pid
from (select trunc(t.date_fact_on_sys_trip) as date_1,
p.pid as pid,
fGetAdrString(r.adr) as adr,
g.name as org_name,
g.ext_id as id_org,
(decode(r.name_group, null, ' ', ' ' || r.name_group)) as name_group,

(decode(t.date_off_sys_trip,
null,
' ',
decode(to_char(t.date_off_sys_trip, 'DD.MM.YYYY HH24'),
null,
' ',
to_char(t.date_off_sys_trip, 'DD.MM.YYYY HH24') || 'ч.') ||
decode(to_char(t.date_off_sys_trip, 'DD.MM.YYYY HH24'),
null,
' ',
to_char(t.date_off_sys_trip, 'mi') || 'мин.'))) as date_off_sys_trip,

(decode(t.date_fact_on_sys_trip,
null,
' ',
decode(to_char(t.date_fact_on_sys_trip,
'DD.MM.YYYY HH24'),
null,
' ',
to_char(t.date_fact_on_sys_trip,
'DD.MM.YYYY HH24') || 'ч.') ||
decode(to_char(t.date_fact_on_sys_trip,
'DD.MM.YYYY HH24'),
null,
' ',
to_char(t.date_fact_on_sys_trip, 'mi') || 'мин.'))) as date_fact_on_sys_trip,

decode(t.date_fact_on_sys_trip - t.date_off_sys_trip,
null,
' ',
decode(round((t.date_fact_on_sys_trip -
t.date_off_sys_trip) * 24),
0,
' ',
round((t.date_fact_on_sys_trip -
t.date_off_sys_trip) * 24) || ' ч. ') ||
decode(mod(round((t.date_fact_on_sys_trip -
t.date_off_sys_trip) * 24 * 60),
60),
0,
' ',
mod(round((t.date_fact_on_sys_trip -
t.date_off_sys_trip) * 24 * 60),
60) || ' мин. ')) as all_time,
(decode(t.Note_Sys_Trip, null, ' ', ' ' || t.Note_Sys_Trip)) as Note_Sys_Trip,
(decode(f.name, null, ' ', ' ' || f.name)) as name
from do_proc_sys_tripping_1 t,
ref_group_address r,
ref_providers f,
do_journal_proc p,
do_list_value l,
do_orgs g
where t.pid = p.pid
and g.ext_id = r.uk_group
and t.group_address = l.list_id
and l.list_value = r.group_address_id
and f.provider_id = t.provider_sys_trip

union
select trunc(e.date_fact_on_emer_trip) as date_1,
p.pid as pid,
fGetAdrString(r.adr) as adr,
g.name as org_name,
g.ext_id as id_org,
(decode(r.name_group, null, ' ', ' ' || r.name_group)) as name_group,

(decode(e.date_off_emer_trip,
null,
' ',
decode(to_char(e.date_off_emer_trip, 'DD.MM.YYYY HH24'),
null,
' ',
to_char(e.date_off_emer_trip, 'DD.MM.YYYY HH24') || 'ч.') ||
decode(to_char(e.date_off_emer_trip, 'DD.MM.YYYY HH24'),
null,
' ',
to_char(e.date_off_emer_trip, 'mi') || 'мин.'))) as date_off_sys_trip,

(decode(e.date_fact_on_emer_trip,
null,
' ',
decode(to_char(e.date_fact_on_emer_trip,
'DD.MM.YYYY HH24'),
null,
' ',
to_char(e.date_fact_on_emer_trip,
'DD.MM.YYYY HH24') || 'ч.') ||
decode(to_char(e.date_fact_on_emer_trip,
'DD.MM.YYYY HH24'),
null,
' ',
to_char(e.date_fact_on_emer_trip, 'mi') ||
'мин.'))) as date_fact_on_sys_trip,

decode(e.date_fact_on_emer_trip - e.date_off_emer_trip,
null,
' ',
decode(round((e.date_fact_on_emer_trip -
e.date_off_emer_trip) * 24),
0,
' ',
round((e.date_fact_on_emer_trip -
e.date_off_emer_trip) * 24) || ' ч. ') ||
decode(mod(round((e.date_fact_on_emer_trip -
e.date_off_emer_trip) * 24 * 60),
60),
0,
' ',
mod(round((e.date_fact_on_emer_trip -
e.date_off_emer_trip) * 24 * 60),
60) || ' мин. ')) as all_time,
(decode(e.note_emer_trip, null, ' ', ' ' || e.note_emer_trip)) as Note_Sys_Trip,
(decode(f.name, null, ' ', ' ' || f.name)) as name
from do_proc_emer_tripping_1 e,
ref_group_address r,
ref_providers f,
do_journal_proc p,
do_list_value l,
do_orgs g
where e.pid = p.pid
and g.ext_id = r.uk_group
and e.group_address= l.list_id
and l.list_value = r.group_address_id
and f.provider_id = e.provider_emer_trip) a
where ($P{org_id} = '-1' or a.id_org=$P{org_id}) and a.date_1 between trunc(to_date($P{Dat1}, 'dd.mm.rrrr')) and
trunc(to_date($P{Dat2}, 'dd.mm.rrrr'))

вот мой запросик
...
Рейтинг: 0 / 0
07.09.2012, 15:24:10
    #37948504
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
вот бьолее четкий вид
...
Рейтинг: 0 / 0
07.09.2012, 15:46:20
    #37948544
sanBez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
davy johns,

BlazkowiczХотя это, наверное, лучше было через группировки сделать.
Интересно, уважаемый Блазкович не прав бывает когда-нибудь :)

Быстрый эксперимент с попыткой присвоения в $V не дал ничего. Как я и думал, в переменной - текущая запись.
Приложил элементарный отчет с группировкой. Делается, нажав из контекстного меню отчета "Add Report Group".
При формировании группы iReport у меня сформировал переменную GroupForPID_COUNT, которую использую в PrintWhenExpression для даты (см. Properties).

Хотя наверно зря. Тут рисуночек появился. Может вообще здесь можно легко обойтись свойство у поля даты "Print Repeated Values".
Я ж думал даты разные....
...
Рейтинг: 0 / 0
07.09.2012, 17:44:17
    #37948780
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
мне нужно сохранить текущее значение пида в переменную и сравнить его с последующими пидами)
может меня не так поняли
...
Рейтинг: 0 / 0
07.09.2012, 17:46:14
    #37948784
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
оператор присваивание не поддерживается в jasper'e как я понял, или поддерживается?
...
Рейтинг: 0 / 0
07.09.2012, 17:51:57
    #37948796
sanBez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
davy johnsмне нужно сохранить текущее значение пида в переменную и сравнить его с последующими пидами)
может меня не так поняли

поняли. Но именно это вам и не нужно. Вы вручную пытаетесь то что jasper делает сам. Сбросьте у поля даты в Properties чек-бокс PrintRepeatedValues и получите то что вам нужно
...
Рейтинг: 0 / 0
07.09.2012, 17:54:50
    #37948805
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
davy johnsоператор присваивание не поддерживается в jasper'e как я понял, или поддерживается?
Может и не поддерживается, только не понятно почему тогда ругается на field_PID, когда вы присваиваете только Variable с именем pid.
Покажите последний вариант кода и новый текст ошибки.
...
Рейтинг: 0 / 0
07.09.2012, 18:03:08
    #37948820
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
Compilation exceptions: com.jaspersoft.ireport.designer.compiler.ErrorsCollector@1dd6ab4 net.sf.jasperreports.engine.JRException:

Too many groovy classes were generated. Please make sure that you don't use Groovy features such as closures
that are not supported by this report compiler.
at net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:114)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:188)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)
at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:131)
atcom.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:514)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
...
Рейтинг: 0 / 0
07.09.2012, 18:04:25
    #37948826
davy johns
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
davy johnsCompilation exceptions: com.jaspersoft.ireport.designer.compiler.ErrorsCollector@1dd6ab4 net.sf.jasperreports.engine.JRException:

Too many groovy classes were generated. Please make sure that you don't use Groovy features such as closures
that are not supported by this report compiler.
at net.sf.jasperreports.compilers.JRGroovyCompiler.compileUnits(JRGroovyCompiler.java:114)
at net.sf.jasperreports.engine.design.JRAbstractCompiler.compileReport(JRAbstractCompiler.java:188)
at net.sf.jasperreports.engine.JasperCompileManager.compileReport(JasperCompileManager.java:215)
at net.sf.jasperreports.engine.JasperCompileManager.compileReportToFile(JasperCompileManager.java:131)
atcom.jaspersoft.ireport.designer.compiler.IReportCompiler.run(IReportCompiler.java:514)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)

$V{pid}.setValue($F{PID});
$F{PID}==$V{pid}?" ":$F{DATE_OFF_SYS_TRIP}
...
Рейтинг: 0 / 0
07.09.2012, 18:20:07
    #37948846
sanBez
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
условные операторы в jasperrepots
davy johns$V{pid}.setValue($F{PID});
$F{PID}==$V{pid}?" ":$F{DATE_OFF_SYS_TRIP}

Еще раз:
1. Убейте это присвоение вообще вместе с переменной
2. Выберите текстовое поле "Ваша дата" в секции Detail и в окне свойств (Window->Properties или Ctrl+Shift+7) сбросьте чек-бокс
PrintRepeatedValues
3. Еще совет - в этом же окне свойств есть чек-бокс Blank When Null, который избавит вас от лишних decode в запросе (переводите null в пробел)

Пользуйтесь средствами отчетной системы. Зачем руками делать то, что уже реализовано в ней? Пытаетесь исправить ошибку в НЕНУЖНОМ операторе.

4. Еще раз - зачем вам Groovy?
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / условные операторы в jasperrepots / 25 сообщений из 25, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]