IDtUserConsumerEx.Module

Синтаксис

Module: IMetabaseObjectDescriptor;

Описание

Свойство Module определяет модуль/сборку Fore репозитория, где реализован пользовательский алгоритм выгрузки данных.

Комментарии

Свойство Module используется в комбинации со свойством Macro.

Пример

Для выполнения примера предполагается наличие модуля с идентификатором CUSTOM_EXPORT, содержащего класс MyDtCustomConsumer.

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

Sub UserProc;
Var
    MB: IMetabase;
    Consumer: IDtUserConsumerEx;
    Fields: IDtFieldDefinitions;
    Field: IDtFieldDefinition;
    v: Array;
    CustomCons: IDtCustomConsumer;
Begin
    MB := MetabaseClass.Active;
    
//Массив экспортируемых значений
    v := New Variant[34];
    v[
00] := "Греча"; v[10] := 10; v[20] := 313.12;
    v[
01] := "Молоко"; v[11] := 20; v[21] := 301.53;
    v[
02] := "Сахар"; v[12] := 30; v[22] := 254.13;
    v[
03] := "Хлеб"; v[13] := 40; v[23] := 404.11;
    Consumer := 
New DtUserConsumerEx.Create;
    Consumer.Metabase := MB;
    Consumer.Module := MB.ItemById(
"CUSTOM_EXPORT");
    Consumer.Macro := 
"MyDtCustomConsumer";
    Fields := Consumer.Fields;
    Field := Fields.Add;
    Field.DataType := DbDataType.String;
    Field.Name := 
"Наименование";
    Field := Fields.Add;
    Field.DataType := DbDataType.Integer;
    Field.Name := 
"Идентификатор";
    Field := Fields.Add;
    Field.DataType := DbDataType.Float;
    Field.Name := 
"Значение";
    Consumer.Open;
    Consumer.Clear;
    CustomCons := Consumer.CustomConsumer;
    
If CustomCons.ImplementPut Then
        Consumer.Put(v);
        Debug.WriteLine(
"Число записанных строк: " + Consumer.WritingRowsCount.ToString);
    
Else
        Debug.WriteLine(
"Выгрузка двумерных массивов недоступна");
    
End If;
    Consumer.Close;
End Sub UserProc;

При выполнении примера данные выгружаются в приёмник с помощью пользовательского алгоритма.

См. также:

IDtUserConsumerEx