IMetabaseObject.ParamValues

Синтаксис

ParamValues: IMetabaseObjectParamValues;

Описание

Свойство ParamValues возвращает объект, содержащий значения параметров для открытия вложенных объектов.

Комментарии

При открытии объекта репозитория с использованием параметров в кэше создается объект, содержащий данные и связанный с открываемым объектом. Для повторного открытия объекта с новыми значениями параметров следует очистить кэш открываемого объекта (Flush, FlushById) или присвоить всем параметрам используемого объекта пустые значения (CreateEmptyValues).

Пример

Для выполнения примера предполагается наличие в репозитории параметрического справочника с идентификатором «PARAM_DICT». В справочнике должен присутствовать числовой параметр с идентификатором «ITEM», влияющий на фильтрацию элементов.

Добавьте ссылки на системные  сборки: Dimensions, Metabase.

Sub UserProc;
Var
    MB: IMetabase;
    currObj: IMetabaseObject;
    currPar: IMetabaseObjectParamValues;
    currDimInst: IDimInstance;
    currEls: IDimElements;
Begin
    MB := MetabaseClass.Active;
    Debug.WriteLine("Открытие справочника с параметром '0'");
    currObj := MB.ItemById("PARAM_DICT").Bind;
    currPar := currObj.ParamValues;
    currPar.FindById("ITEM").Value := 0;
    currDimInst := currObj.Open(currPar) As IDimInstance;
    currEls := currDimInst.Elements;
    Debug.WriteLine("Число элементов: " + currEls.Count.ToString);
    Debug.WriteLine("Открытие справочника с параметром '10'");
    currPar := currObj.Params.CreateEmptyValues;
    currPar.FindById("ITEM").Value := 10;
    currDimInst := currObj.Open(currPar) As IDimInstance;
    currEls := currDimInst.Elements;
    Debug.WriteLine("Число элементов: " + currEls.Count.ToString);
End Sub UserProc;

После выполнения примера справочник будет открыт с различными значениями параметра. В окно консоли будет выведено количество элементов справочника после фильтрации.

См. также:

IMetabaseObject