ConvertAll(Source: IRdsDictionaryConverterList);
ConvertAll(Source: Prognoz.Platform.Interop.Rds.IRdsDictionaryConverterList);
Source. Преобразуемый справочник НСИ.
Метод ConvertAll выполняет преобразование всех справочников НСИ в табличные справочники НСИ.
Для проверки репозитория НСИ и получения списка справочников НСИ, преобразуемых в табличные справочники НСИ, используйте метод IRdsDictionaryConverter.AllRdsDatabase.
Для выполнения примера предполагается наличие репозитория НСИ с ключом 16008, содержащего справочники НСИ, которые необходимо преобразовать в табличные справочники НСИ.
Добавьте ссылки на системные сборки Metabase, Rds.
Sub UserProc;
Var
RDS_DB: IRdsDatabase;
Converter: IRdsDictionaryConverter;
List: IRdsDictionaryConverterList;
Conv, NotConv: IMetabaseObjectDescriptors;
pReasons: IRdsNotConvertibleReasons;
pReason: IRdsNotConvertibleReason;
i, j: Integer;
Begin
RDS_DB := MetabaseClass.Active.Bind(16008) As IRdsDatabase;
Converter := New RdsDictionaryConverter.Create;
List := Converter.AllRdsDatabase(RDS_DB);
Converter.ConvertAll(List);
Conv := List.ConvertibleDictionaries;
NotConv := List.NotConvertibleDictionaries;
Debug.WriteLine("Преобразовано справочников: " + Conv.Count.ToString);
For i := 0 To NotConv.Count - 1 Do
pReasons := List.GetNotConvertibleReasons(NotConv.Item(i).Key);
For j := 0 To pReasons.GetExplanation.Length - 1 Do
pReason := pReasons.Item(j);
Debug.WriteLine(pReason.GetExplanation);
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;
Conv, NotConv: IMetabaseObjectDescriptors;
pReasons: IRdsNotConvertibleReasons;
pReason: IRdsNotConvertibleReason;
i, j: Integer;
Begin
RDS_DB := Params.Metabase.Bind(16008) As IRdsDatabase;
Converter := New RdsDictionaryConverter.Create();
List := Converter.AllRdsDatabase(RDS_DB);
Converter.ConvertAll(List);
Conv := List.ConvertibleDictionaries;
NotConv := List.NotConvertibleDictionaries;
System.Diagnostics.Debug.WriteLine("Преобразовано справочников: " + Conv.Count.ToString());
For i := 0 To NotConv.Count - 1 Do
pReasons := List.GetNotConvertibleReasons(NotConv.Item[i].Key);
For j := 0 To pReasons.GetExplanation().Length - 1 Do
pReason := pReasons.Item[j];
System.Diagnostics.Debug.WriteLine(pReason.GetExplanation());
End For;
End For;
End Sub;
В результате выполнения примера в окно консоли будет выведено:
количество справочников НСИ, которые были преобразованы в табличные справочники НСИ;
все причины, по которым справочники НСИ не были преобразованы в табличные справочники НСИ.
См. также: