Если я правильно понял вопрос - вам надо перекрыть метод unpack() в классе (если это еще не сделано) и сделать что-то типа этого
X++:
public boolean unpack(container packedClass)
{
container _base;
boolean _ret;
Integer _version = runbase::getVersion(packedClass);
Query query;
switch (_version)
{
case #CurrentVersion:
// если надо для вашего диалога -->
[_version, #CurrentList, _base] = packedClass;
// <--
_ret = super(_base);
// Измение условий для запроса -->
if (this.queryRun() && this.queryRun().query())
{
query = this.queryRun().query();
query.dataSourceNo(1).clearRanges();
// добавление нужных рейнжей и условий
}
// <--
break;
default:
_ret = false;
}
return _ret;
}