IMobilePublishRubricator.IsEmptyFactors

Синтаксис Fore

IsEmptyFactors: Boolean;

Синтаксис Fore.NET

IsEmptyFactors(): boolean;

Описание

Метод IsEmptyFactors возвращает признак того, задана ли отметка элементов БД временных рядов.

Комментарии

Возможные значения:

Пример Fore

Для выполнения примера в репозитории предполагается наличие мобильного приложения с идентификатором «MA_PUB». Добавьте ссылки на системные сборки: Metabase, Mobile.

Sub UserProc;
Var
    mb: IMetabase;
    Mobile: IMobileApplication;
    Publicator: IMobileApplicationPublicator;
    MaPubObs: IMobileApplicationPublishObjects;
    i: Integer;
    MaPubObj: IMobileApplicationPublishObject;
    PubObj: IMobilePublishObject;
    RubPubObj: IMobilePublishRubricator;
    s: String;
    Atts: Array Of Integer;
    j: Integer;
Begin
    mb := MetabaseClass.Active;
    // Получаем мобильное приложение (МП)
    Mobile := mb.ItemById("MA_PUB").Bind As IMobileApplication;
    // Создаем публикатор МП
    Publicator := Mobile.CreatePublicator;
    // Получаем объекты МП
    MaPubObs := Publicator.Items;
    For i := 0 To MaPubObs.Count - 1 Do
        MaPubObj := MaPubObs.Item(i);
        // Выбираем среди объектов БД временных рядов
        If MaPubObj.Type = MobilePublishObjectType.Rubricator Then
            PubObj := MaPubObj.PublishObject;
            RubPubObj := PubObj As IMobilePublishRubricator;
            // Выводим данные о БД временных рядов в окно консоли
            s := PubObj.Object.Name + " (" + PubObj.Object.Id + ")";
            Debug.WriteLine("Объект: " + s);
            // Проверяем, задана ли отметка
            If RubPubObj.IsEmptyFactors Then // Если отметка не задана
                // Выделяем все элементы
                RubPubObj.SelectAllFactors;
            Else // Если отметка задана
                // Загружаем отметку и выводим её в окно консоли
                Atts := RubPubObj.LoadFactors;
                Debug.WriteLine("  Ключи элементов отметки: " + s);
                Debug.Indent;
                For j := 0 To Atts.Length - 1 Do
                    Debug.WriteLine(Atts[j]);
                End For;
                Debug.Unindent;
            End If;
        End If;
    End For;
End Sub UserProc;

Результат выполнения примера: в окно консоли выведена информация об отметке элементов БД временных рядов, содержащихся в мобильном приложении.

Пример Fore.NET

Для выполнения примера в репозитории предполагается наличие мобильного приложения с идентификатором «MA_PUB».

Imports Prognoz.Platform.Interop.Mobile;

[STAThread]
Public Shared Sub Main(Params: StartParams);
Var
    mb: IMetabase;
    Mobile: IMobileApplication;
    Publicator: IMobileApplicationPublicator;
    MaPubObs: IMobileApplicationPublishObjects;
    i: Integer;
    MaPubObj: IMobileApplicationPublishObject;
    PubObj: IMobilePublishObject;
    RubPubObj: IMobilePublishRubricator;
    s: String;
    Atts: System.Array;
    j: Integer;
Begin
    mb := Params.Metabase;
    // Получаем мобильное приложение (МП)
    Mobile := mb.ItemById["MA_PUB"].Bind() As IMobileApplication;
    // Создаем публикатор МП
    Publicator := Mobile.CreatePublicator();
    // Получаем объекты МП
    MaPubObs := Publicator.Items;
    For i := 0 To MaPubObs.Count - 1 Do
        MaPubObj := MaPubObs.Item[i];
        // Выбираем среди объектов БД временных рядов
        If MaPubObj.Type = MobilePublishObjectType.mpotRubricator Then
            PubObj := MaPubObj.PublishObject;
            RubPubObj := PubObj As IMobilePublishRubricator;
            // Выводим данные о БД временных рядов в окно консоли
            s := PubObj.Object.Name + " (" + PubObj.Object.Id + ")";
            System.Diagnostics.Debug.WriteLine("Объект: " + s);
            // Проверяем, задана ли отметка
            If RubPubObj.IsEmptyFactors() Then // Если отметка не задана
                // Выделяем все элементы
                RubPubObj.SelectAllFactors();
            Else // Если отметка задана
                // Загружаем отметку и выводим её в окно консоли            
                Atts := RubPubObj.LoadFactors();
                System.Diagnostics.Debug.WriteLine("  Ключи элементов отметки: " + s);
                System.Diagnostics.Debug.Indent();
                For j := 0 To Atts.Length - 1 Do
                    System.Diagnostics.Debug.WriteLine(Atts[j]);
                End For;
                System.Diagnostics.Debug.Unindent();
            End If;
        End If;
    End For;
End Sub;

Результат выполнения примера: в окно консоли выведена информация об отметке элементов БД временных рядов, содержащихся в мобильном приложении.

См. также:

IMobilePublishRubricator