1) Отчет можно вызвать, при этом передав в виде переметра Enum:
PHP код:
Args parameters = new Args();
ReportRun report;
;
parameters.name(reportstr(MyReportName));
parameters.caller(this);
parameters.record(Record);
parameters.parmEnumType(enumnum(MyEnum));
parameters.parmEnum(MyEnum::Value);
report = new ReportRun(parameters);
report.run();
2) Обычно такие отчеты содержат в себе переменную - экземпляр вызвавшего её класса. Напишите метод - пересылку и проверку к ней.
PHP код:
enumnum parmCallerEnumNum()
{
return this.args().parmEnumType()
}
и
Myenum parmMyEnum()
{
return this.args().parmEnum()
}
.. где -нибуть в init, после присвоения переменной класа попробуйте
PHP код:
MyClass callerClass;
MyEnum emum;
if (classIdGet(this.args().caller()) != classnum(MyClass))
throw error("@SYS73002");
callerClass = this.args().caller();
if (calerClass.parmCallerEnumNum != enumnum(MyEnum))
throw error("@SYS73002");
enum = calerClass.parmMyEnum()
первый метод более простой и более грамотный. Однако он действует, если отчет вызывается явно. Иначе попробуйте способ №2.
С Уважением,
Георгий