Работа с индексами синхронизации аналитической панели

Требования к операционной системе: iOS 5.0 и выше.

Мобильное устройство: iPad.

Описание

В данном примере выполняется работа с индексами синхронизации аналитической панели. После его запуска в консоли среды разработки выводятся идентификатор, ключ и наименование первого индекса синхронизации.

Исходный код

Для выполнения примера необходимо разместить взамен метода executeExample класса ViewController (см. раздел «Отображение аналитической панели») следующий код:

-(void)executeExample {
    if(m_dashboardReport->hasPlist()) {
        // Получаем первый индекс синхронизации аналитической панели
        SPPLDashboardSynchronizationIndex indexObject = [self getSynchronizationIndexByIndex: 0];
        // Выводим информацию об индексе синхронизации аналитической панели
        [self showSynchronizationIndexInfo: indexObject];
        } else {
        printf("Отчёт аналитической панели не содержит настроек");
    }
}
// Возвращает указанный индекс синхронизации
-(SPPLDashboardSynchronizationIndex) getSynchronizationIndexByIndex: (int) index {
    // Получаем массив справочников с настройками контейнера индексов синхронизации
    SNArray indexDescriptions = m_dashboardReport->synchronizationIndexes()->generatePlist()->qClass<NArray>();
    // Создаём контейнер для индексов синхронизации на основе полученных справочников
    SPPLDashboardSynchronizationIndexes indexObjects = PPLDashboardSynchronizationIndexes::synchronizationIndexes(indexDescriptions);
    // Получаем указанный индекс синхронизации
    SPPLDashboardSynchronizationIndex indexObject1 = indexObjects->indexes()->objectAtIndex<PPLDashboardSynchronizationIndex>(index);
    // Создаём справочник с настройками индекса синхронизации
    SNMutableDictionary plist1 = indexObject1->generatePlist()->qClass<NMutableDictionary>();
    // Устанавливаем для первого индекса синхронизации новое значение идентификатора
    NSMutableString *newID = (NSMutableString *)indexObject1->id()->nsString();
    [newID appendString:@"_test"];
    plist1->setObjectForKey(NString::stringWithNSString(newID), NStr("id"));
    // Создаём на основе справочника второй объект индекса синхронизации
    return PPLDashboardSynchronizationIndex::synchronizationIndex(plist1);
}
// Выводит информацию об индексе синхронизации аналитической панели
-(void)showSynchronizationIndexInfo: (SPPLDashboardSynchronizationIndex) indexObject {
    printf("Идентификатор индекса синхронизации: %s \n", indexObject->id()->UTF8String());
    printf("Ключ индекса синхронизации: %lld \n", indexObject->key());
    printf("Наименование индекса синхронизации: %s \n", indexObject->name()->UTF8String());
}

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

Идентификатор индекса синхронизации: FACTS_test

Ключ индекса синхронизации: 1

Наименование индекса синхронизации: Факты


Если бы отчёт аналитической панели не содержал настроек, то в консоли среды разработки было бы выведено соответствующее уведомление.

См. также:

Примеры использования библиотеки pplib++