Settings: Variant;
Свойство Settings определяет настройки файлового кеша для куба.
Параметры файлового кеша задаются в виде строки с разделителем «;». Строка должна содержать все необходимые настройки.
Для получения настроек куба по умолчанию из файла settings.xml или системного реестра используйте свойство IInMemManager.DefaultCubeSettings.
Для выполнения примера в репозитории предполагается наличие в репозитории кешированного куба с идентификатором CUBE.
Добавьте ссылки на системные сборки: Cubes, Metabase, Xml.
Sub UserProc;
Var
MB: IMetabase;
CubeObj, CubeDesc: IMetabaseObjectDescriptor;
InMem: IInmemManager;
InmemCubes: IInmemCubes;
InmemCube: IInMemCube;
settDoc: IXmlDomDocument;
Begin
MB := MetabaseClass.Active;
// Получение куба
CubeObj := MB.ItemById("CUBE");
// Инициализация менеджера для работы с кешем
InMem := New inMemManager.Create;
// Получение всех кубов репозитория с заданными настройками `
InmemCubes := InMem.GetCubes(MB, True, False);
// Поиск куба с настройками
For Each InmemCube In InmemCubes Do
CubeDesc := InmemCube.Descriptor;
If (CubeDesc = CubeObj) Then
Break;
End If;
End For;
If isnull(InmemCube) Or (CubeDesc <> CubeObj) Then
Debug.WriteLine(String.Format("Настройки куба {0} не найдены", CubeObj));
Return;
End If;
// Получение текущих настроек
Debug.WriteLine("Настройки до изменения");
settDoc := InmemCube.Settings;
Debug.WriteLine(settdoc.xml);
// Запись новых настроек
InmemCube.Settings := "AdditiveCache='false',AllowAssoc='true'";
Debug.WriteLine("Настройки после изменения");
settDoc := InmemCube.Settings;
Debug.WriteLine(settdoc.xml);
End Sub UserProc;
При выполнении примера в окно консоли будут выведены настройки кеширования куба и заданы новые настройки.
См. также: