IRdsNotConvertibleReasonIncorrectStructure.ExcessedTranslationAttributes

Синтаксис

ExcessedTranslationAttributes: Array;

ExcessedTranslationAttributes: System.Array;

Описание

Свойство ExcessedTranslationAttributes возвращает ключи избыточных атрибутов перевода.

Комментарии

Для получения ключей связей, содержащих нарушения целостности, используйте свойство IRdsNotConvertibleReasonIncorrectStructure.NullReferencedLinks.

Пример Fore

Для выполнения примера предполагается наличие репозитория НСИ с ключом 16008, содержащего справочники НСИ, которые требуется преобразовать в табличные справочники НСИ.

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

Sub UserProc;
Var
    RDS_DB: IRdsDatabase;
    Converter: IRdsDictionaryConverter;
    List: IRdsDictionaryConverterList;
    NotConv: IMetabaseObjectDescriptors;
    pReasons: IRdsNotConvertibleReasons;
    pReason: IRdsNotConvertibleReason;
    ReasonIncorrStruct: IRdsNotConvertibleReasonIncorrectStructure;
    i, j, k: Integer;
Begin
    RDS_DB := MetabaseClass.Active.Bind(16008As IRdsDatabase;
    Converter := New RdsDictionaryConverter.Create;
    List := Converter.AllRdsDatabase(RDS_DB);
    NotConv := List.NotConvertibleDictionaries;
    For i := 0 To NotConv.Count - 1 Do
    pReasons := List.GetNotConvertibleReasons(NotConv.Item(i).Key);
        For j := 0 To pReasons.Count - 1 Do
            pReason := pReasons.Item(j);
            ReasonIncorrStruct := pReason As IRdsNotConvertibleReasonIncorrectStructure;
            Debug.Write("Ключи избыточных атрибутов перевода: ");
            For k := 0 To ReasonIncorrStruct.ExcessedTranslationAttributes.Length - 1 Do
                Debug.WriteLine(ReasonIncorrStruct.ExcessedTranslationAttributes[k]);
            End For;
            Debug.Write("Ключи связей с нарушенной целостностью: ");
            For k := 0 To ReasonIncorrStruct.NullReferencedLinks.Length - 1 Do
                Debug.WriteLine(ReasonIncorrStruct.NullReferencedLinks[k]);
            End For;
        End For;
    End For;
End Sub UserProc;

Imports Prognoz.Platform.Interop.Metabase;
Imports Prognoz.Platform.Interop.Rds;

Public Shared Sub Main(Params: StartParams);
Var
    RDS_DB: IRdsDatabase;
    Converter: IRdsDictionaryConverter;
    List: IRdsDictionaryConverterList;
    NotConv: IMetabaseObjectDescriptors;
    pReasons: IRdsNotConvertibleReasons;
    pReason: IRdsNotConvertibleReason;
    ReasonIncorrStruct: IRdsNotConvertibleReasonIncorrectStructure;
    i, j, k: Integer;
    ExcessedTranslAtt, NullRefLinks: System.Array;
Begin
    RDS_DB := Params.Metabase.Bind(16008As IRdsDatabase;
    Converter := New RdsDictionaryConverter.Create();
    List := Converter.AllRdsDatabase(RDS_DB);
    NotConv := List.NotConvertibleDictionaries;
    For i := 0 To NotConv.Count - 1 Do
    pReasons := List.GetNotConvertibleReasons(NotConv.Item[i].Key);
        For j := 0 To pReasons.Count - 1 Do
            pReason := pReasons.Item[j];
            ReasonIncorrStruct := pReason As IRdsNotConvertibleReasonIncorrectStructure;
            System.Diagnostics.Debug.Write("Ключи избыточных атрибутов перевода: ");
            For k := 0 To ReasonIncorrStruct.ExcessedTranslationAttributes.Length - 1 Do
                ExcessedTranslAtt := ReasonIncorrStruct.ExcessedTranslationAttributes;
                System.Diagnostics.Debug.WriteLine(ExcessedTranslAtt[k]);
            End For;
            System.Diagnostics.Debug.Write("Ключи связей с нарушенной целостностью: ");
            For k := 0 To ReasonIncorrStruct.NullReferencedLinks.Length - 1 Do
                NullRefLinks := ReasonIncorrStruct.NullReferencedLinks;
                System.Diagnostics.Debug.WriteLine(NullRefLinks[k]);
            End For;
        End For;
    End For;
End Sub;

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

См. также:

IRdsNotConvertibleReasonIncorrectStructure