Если Вы перекрываете pack/unpack у класса наследника runBaseReport, то
обязательно надо добавлять вызов super(), поскольку эти методы перекрыты в самом классе runBaseReport.
В простейшем случае, это будет выглядеть примерно так
X++:
public container pack()
{
return [#CurrentVersion, #CurrentList] + [super()];
}
public boolean unpack(container _packedClass)
{
container base;
boolean ret;
int version = conPeek(_packedClass,1);
;
switch (version)
{
case #CurrentVersion:
[version, #CurrentList, base] = _packedClass;
ret = super(base);
break;
default :
ret = false;
}
return ret;
}
Собственно, если есть отличия в работе при вызове "первый раз" и "последующие", то это однозначно проблема кеширования. А это контролирует pack/unpack